Skip to content

blakejia/flinux

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Foreign LINUX

Foreign LINUX is a dynamic binary translator and a Linux system call interface emulator for the Windows platform. It is capable of running unmodified Linux binaries on Windows without any drivers or modifications to the system. This provides another way of running Linux applications under Windows in constrast to Cygwin and other tools. There is a comparison over existing projects.

This project is in heavy development. It is currently capable of running many Linux utilities. Including but not limiting to:

  • Basic utilities: bash, vim, nano
  • Programming environments: python, gcc
  • Package managers: pacman
  • Terminal-based games: vitetris, nethack
  • Network utilities: wget, curl, ssh
  • X applications: xeyes, xclock, glxgears

Some major missing functions are file permissions, process management, signals, multi-threading, and more. Applications depending on these technologies will not work properly.

How to use

Foreign LINUX is still in early stage, bad things like crashing your system or eating your harddisk may happen. You have been warned.

For users who just want to give it a try. Download a premade Arch Linux environment here. Then visit Beginner's Guide.

For just the binary executables, visit release page.

For developers, you can also visit this guide for detailed bootstrapping steps of an ArchLinux chroot.

Screenshots

Screenshot

Feature highlights

  • Run unmodified Linux applications in a pure user-mode application, no privileged code or drivers or virtual machines
  • Support both dynamically and statically compiled executables
  • Support NTFS native hardlinks and emulated symbolic links
  • Xterm-like terminal emulation on Win32 console
  • Client-side networking (sockets) support

For a more technical perspective, see this.

Development

See this guide on how to compile this project.

License

Copyright (C) 2014, 2015 Xiangyan Sun [email protected]

The source code is licensed under GNU General Public License version 3 or above (GPLv3+)

Packages

No packages published

Languages

  • C 94.5%
  • C++ 3.0%
  • Assembly 2.1%
  • Objective-C 0.4%