linux porting

linux porting