I am getting into kernel hacking, and am looking write a kernel that boots off a floppy, then downloads basically the entire OS from the Internet. In so doing, I am hoping to make the kernel itself, when initializing, download the core stuff (modules, glibc, basic programs), before passing off to /sbin/init. My question, then, (which I can probably figure out eventually from reading the source), is, is the kernel still single-threaded when the init() function is called? If it is, I am out of luck, and need to write a usermode program to download the OS; if it is in fact able to process its own system calls, then I can write this code in the kernel. If anyone knows the answer, I would appreciate your thoughts.
"I came out of it dead broke, without a house, without anything except a girlfriend and a working knowledge of UNIX." "Well, that's something, normally those two are mutually exclusive." -Neal Stephenson, "Cryptonomicon"