Taken from
http://amigolinux.org/docs/killbill.htm
>If you want to boot a linux system where the root file system is on a Linux Native
> partition, you'll need to copy the kernel to a FAT partition along with loadlin.exe
>and linux.bat. See the linux.bat file and follow the directions in README.1ST
>for editing the file
Yes, What I have briefly mentioned is
going from userland mem to ring 0(where the OS works)
<- means internally inWINNT/XP/2000
because, in win9x, they don't give a%#@^& about things like that...
With full compliment, your answer is correct, but limited in the type of OS's to 9x series.
Remember in the old days, from win9x, you ran debug, and did int
to force reading the 0x000000 address, trus (not recommended but) rebooting
your PC(Don't pick on me, this is just a lame example, just proof of concept thing)
You were able to do that because you (practically) had direct hardware access.
Not in the new NT/XP/2000 kernel... But, by allowing various tricks
used by virus and Trojan houses, you can gain enough privilege in
these new OS's(although not recommended) to allow your USERLAND code (Ring 3)
to be run as ring 0 (high privilege, in CPU).
From here, you have direct hardware access, so in theory, nutty people
(like the guys from BeOS developers team)
should be able to write a boot loader, that maps the linux kernel
into the memory, and trus boot linux(with added info from previous OS's).
And in this approach, you don't need to store your linux kernel into any other
partition (theoretically, as long as you somehow get the address where it is stored).
while also allowing 'hijacking' other device drivers, that were meant to run on
other OS's, it can (and will) be used (provided you make a intercommunication
mechanism of windows device driver file structures and the Linux norm way)
to run 'Linux Unsupported Devices' from linux.
It has been done in PowerPC(The Macs), from BeOS.
With the 2.6 kernel, linux could...
Loadlin, unfortunately does not do these things... They just invoke(through DOS).
So I nEEEEEEd technical papers of BeOS loader, and combine it with
the Linux boot loader, AND THEN I can create a application that runs on
Windows NT kernel, form userland, that 'Dynamically' loads linux kernel, etc, etc...
A long way ahead... That's one of the reasons I am posting here...