Linux support

@zarvox please review at your convenience