To boot CentOS 5, all the following needs to be set up and running BEFORE you reboot your computer.
- GRUB installed on the boot drive (aka sda, ata1, sata1);
- a /boot that grub can find and read. In particular, it must be small and at the front of the boot drive;
- a kernel+initrd that contains the drivers to find and mount the final root filesystem (aka
/); this can involve swearing, repeated applications of mkinitrd. At worse, you can pull initrd apart with
gzip+cpio, add the drivers, modify init and repack it. Note that this is not a shell script but a nash script. CentOS 6 has moved to dash;
- a / that has a working init and all that entails (obviously);
- an /etc/fstab that won't fail out because
fsck -Acan't find a drive or partition. If you've moved / to another partition or to LVM, then you need to update fstab. You can set the last 2 columns to 0 if you don't want fsck to check that mount.