man initrd

man pivot_root



  1. Kernel panic - not syncing: No init found. Try passing init=option to kernel

    It does not necessary mean that init=option did not happen, it can also be, that option or a depending file is missing.

  2. To check if the PC is alive plug in and out the USBHD and see if the system is alive and reports it.

  3. ldd shows what libraries are required for your programs. e.g. type ldd /bin/sh

  4. Take care about synchronizing issues and add some sleep commands to the linuxrc script to give the kernel some time to find the USB hard disk and to mount it, before the linuxrc script goes too many some steps ahead (not very clean synchronizing, but simple). Does not delay boot up time too much since Linux is a real multitasking operating system. Other way around would be looking into the /proc directory.

  5. Have every module in the kernel necessary to boot, so no worry and problems to put them into the initrd. Initrd and linuxrc are very specific to your application. It is some work to create them, but a lot to learn.

  6. To become familiar with the initrd approach, you can do a grub and initrd installation on a USB memory stick.

Linurs Servernest startpage