wishstudio / flinux

Foreign LINUX - Run unmodified Linux applications inside Windows.
GNU General Public License v3.0
3.58k stars 245 forks source link

Idea: Merging of UserModeLinux (UML) and this project #101

Open spoiledsport opened 7 years ago

spoiledsport commented 7 years ago

Guys

I see great advances on this project since its inception. But I am also aware of trying to re-create Linux behaviours in Windows. So I asked myself why the effort when Linux already implements all this stuff. So, I been playing for some time with the idea of merging this project with UML (http://user-mode-linux.sourceforge.net/). I think we have everything in place to make it work. I already gotten UML to compile in windows (64 and 32 bits) using MSYS2.

To start, I need help for using the DBT to correctly replace all that PTRACE stuff in UML. I know that I have to embed the initial jump point to the translator in void start_thread(struct pt_regs *regs, unsigned long eip, unsigned long esp)

We need to make sure that the translator calls back into Linux to do all its work : loading of executable or libraries, allocation of memory, SYSCALLS, etc.

What do you guys think? I know this is doable. The question is who is willing to help. I don't want to reengineer the DBT or any part of this work. Could the translator be easily modify to call into other infrastructure?

By the way, great work on this effort. I love this project. I want it to remain viable, thus the reason for my questions and ideas. Please respond to this thread on any ideas you may have or suggestions for me to try.

wishstudio commented 7 years ago

Hello, thanks for your interest in this project.

IMO I think the most difficult part is to implement the ptrace() system call. I have no idea how much degree we need to implement in order to support the usage of UserModeLinux. Although I think we already have the major building blocks in current DBT code.

mdirik commented 7 years ago

@spoiledsport Did you see andLinux? It is basically implemented version of your idea, but it is very old and unmaintained, unfortunately.