2009/1/16 Greg KH <greg@xxxxxxxxx>: > On Fri, Jan 16, 2009 at 11:12:56PM +0800, loody wrote: >> >> 2. My kernel seems ready so far because it can successfully keep >> >> running before run_init_process("/sbin/init"), then it tells me "No >> >> init found. Try passing init= option to kernel." >> >> I know the problem comes from I didn't tell the kernel where the >> >> root file system is. >> > >> > Yes. >> > >> >> I have googled the "root file system", but they only tell me the >> >> purpose of it and minimum elements it should have. >> >> But I cannot find any information tell me how to let the kernel >> >> know where it is. >> > >> > On the command line, with "root=/dev/sda3" or some such device node. >> Hi: >> how kernel where the root file system is only by passing him just a string? > > The kernel looks up the name in the list of block devices, and > determines the major:minor number of the device, and then opens that. > Or you can pass in the major:minor number of the device if you don't > want to use the name. Hi: appreciate your kind help first. 1. please let me briefly explain what I mean "how kernel find out root file system" above. In my assumption, I should put kernel and root file system separately in the dram and let the kernel know where the root file system is. 2. Then kernel starts searching the ramdisk_execute_command in the FHS I made. before 1, the kernel will have no idea what string, "/init" mean. After unpack_to_rootfs, if I guess correctly, "/init" has meaning to him. Is my assumption correct above? >> What I mean is, I put my decompressed kernel in dram and let it run. >> >> And at the end of init_post, it will find out where root file system >> is by passing him >> "root=/dev/sda3"? > > Yes. As long as you do have a root filesystem on /dev/sda3, which, for > some reason, I doubt you do :) > Would help me to define the "root file system"? In FHS, I think a minimum file architecture is the definition of root file system. like below: | |--bin |--dev |--etc |--lib |--sbin |--usr |--var |--tmp But why you say "As long as you do have a root filesystem on /dev/sda3" so you mean | |--bin |--dev |__sda3 -----> this is root file system? |--etc |--lib |--sbin |--usr |--var |--tmp appreciate your kind help again, miloody > You should pass in the block name for where your root filesystem is. > > good luck, > > greg k-h > -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ