On 09/23/2010 08:49 AM, Mariusz Bialonczyk wrote:
Hello I have a problem with booting linux using INIT. More information below: I have two identical boot devices (raid1 with ext4fs on it): /dev/md0 on GPT partition table disk /dev/md10 on old style msdos/mbr partition table When i am passing to the kernel root=/dev/md10 - then all is fine (i have 'INIT: version 2.88 booting' and the system is up in a while. BUT: when i am passing root=/dev/md0 then the kernel launch init but init freezes (i even don't have the INIT: version... output). First i thought it is a kernel problem but... i put a lot of debuging output to the init.c file using printf's and i can see that init is running but it freeze! I bisected the place of a problem - and it is hunging on line close(2) in init_main(). I believe this is closing stderr, isn't it? Do you suspect why i have such a weird behavior? I also tryed to comment this line out - it helps a little because the INIT goes further - but it hungs later on check_init_fifo() - at the end on pause() (when the pipe could not be opened). Please help me solve this issue.
Everything is now clear to me. I was doing rsync with -x when copying data - so /dev nodes was not copied because /dev was mounted as tmpfs - so as a result i have empty /dev directory on /dev/md0 (boot partition). Unfortunately INIT doesn't warn if i.e. /dev/console is missing :( Please consider put a warning if essential and critical /dev/ nodes are missing. regards, -- manio jabber/e-mail: ma...@skyboo.net http://manio.skyboo.net