From Bugzilla Helper: User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; T312461) Description of problem: I removed the empty directory /initrd during post-install configuration and during the following boot, RH8.0 refused to boot. The console-output was something similar to the following text: --- pivotroot: pivot_root(/sysroot,/sysroot/initrd) failed: 2 Freeing unused kernel memory: 216k freed Kernel panic: No init found. Try passing init= option to kernel. --- I found this very confusing as all the initrd's are located under /boot, and it had apparently found the kernel, so why not the initrd. I booted into rescue-mode via the install-CD 1, and re-created /initrd. It retried to boot and it worked great. _NOTHING_ else was done during the rescue- operation, which isolates this as the source to the problem. I am surprised and very unpleased to see that the removal of a single, empty directory can cause kernel-panics upon boot. Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1. # rm -rf /initrd 2. # reboot Actual Results: Kernel panic. Expected Results: Nothing, the scripts should be able to handle this. Additional info:
Don't Do That. The directory is there for a reason; it's required for booting from an initrd.
I've mostly used RH7.0 which also boots off the ramdisk, but there was no directory called /initrd on that version. I could of course just accept that it's needed and so on, but I'm having a real hard time accepting the justification "The directory is there for a reason". Could someone at least point me in the right direction when it comes to finding information regarding where the entire boot-procedure is documented for RH8.0? Thanks.
mkinitrd uses the pivot_root syscall to switch the root filesystem from the initrd to the real root filesystem. To do this, it needs a place to move the mount of the initrd to; that's what /initrd is for. If it's not there, the changing of the root FS fails.