Click here to Skip to main content
14,830,943 members
Articles / Operating Systems / Linux
Article
Posted 11 Jun 2018

Tagged as

Stats

6.7K views
2 bookmarked

Running Unmodified Linux Binaries in Windows OS

Rate me:
Please Sign up or sign in to vote.
2.50/5 (3 votes)
11 Jun 2018CPOL3 min read
Running native Linux binaries in Windows Operating System without modifying it

Introduction

Running a Linux binary requires linux OS. For a user who has one computer, hardware would have the Linux os running natively on the hardware or install the Linux in a virtual machine like VMWare. Most Windows OS users always opt to install the Linux in a virtual machine. Advanced windows users downloads Cygwin. The forementioned ways of running Linux binaries is limiting for Windows users since it requires more memory and it is time consuming while switching from one OS to another. The solution is to use Foreign Linux (https://xysun.me/static/flinux-archlinux.7z) to run the Linux binary without modifying it.

Background

I started computing with windows OS which I also learned to program with VB6. I moved to learning C and it was a daunting process since I had to download various compilers and IDEs. In the process, my computer started to run too slowly, but I had patience. :) I learned that Linux OS was the solution to most of my problems while learning how to program with C language.

More so, I hated IDEs. I wanted to just type commands in a CLI. I downloaded Linux Mint and dual boot it with Windows 7. Learning with it was awesome but switching from one boot option to another was time-consuming. I ditched Linux Mint and Installed Ubuntu in VMWare. I thought, I hit the jackpot but my machine started running too slow. You can imagine how many keyboard keys I popped off due to anger.

Cygwin was the winner. That is what I thought until a client sent me a native linux binary. The binary was for automating Linux software testing. The binary was a proprietary software and I could not get the source code so that I could compile it in Cygwin and have it run in Windows. I hit a halt!

I Googled for solutions and Foreign Linux from Github came up. It was a Eureka moment for me! Thanks to wishstudio.

Foreign LINUX a.k.a flinux

Foreign LINUX 0.1 - Click to expand image

Foreign LINUX or flinux is Windows binary written in C programming language and it is used for running unmodified Linux binaries in Windows. Flinux translates Linux binary to be able to run on Windows OS.

Flinux runs Arch Linux binaries. It uses pacman package manager. An example: pacman -Syu to update packages.

Once you have downloaded flinux, you can run any arch linux binaries unmodified in Windows.

Github:

Premade flinux environment with Arch linux packages: https://xysun.me/static/flinux-archlinux.7z

Points of Interest

I tried to download, update, and run Arch Linux packages in flinux. It hanged because I was using Windows 7 on hardware with i386 but Arch Linux packages are available for x86_64 and deprecated i686 only. My choice was the i686 since it is close to i386. If you happen to be having hardware with x86_64 or i686 processor, try flinux with your hardware. I have a lot of interest in running gcc/g++ in flinux. Give me feedback with your experience(s).

History

Flinux is under development. It is an open source software and anyone can contribute to it via the github link here.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

henrykorir
Software Developer (Junior)
Kenya Kenya
I can't Stop Learning

Comments and Discussions

 
SuggestionWindows Subsystem for Linux in Windows 10 Pin
Tamoghna Chowdhury11-Jun-18 21:49
MemberTamoghna Chowdhury11-Jun-18 21:49 
Suggestion[My vote of 2] Tip? Pin
KSmithDev11-Jun-18 9:42
professionalKSmithDev11-Jun-18 9:42 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.