Changing your Linux Boot Image (initrd)
Occassionally you may need to change the boot image (initrd) on your Linux boot drive. For example, you may need to add a driver that is required to get a minimal system running. In my case I required a RAID driver so the disks could be seen. This procedure is based on the RedHat distribution but should work for any distribution.
1. Copy the initrd image in /boot to a temporary place, e.g. cp /boot/initrd.img-3.13.0-37-generic /var/tmp/test 2. cd /var/tmp/test 3. Uncompress the boot image to disk, cd mountpoint gzip -dc initrd.img-3.13.0-37-generic > initrd.tmp 4. The uncompressed file is actually a cpio image so you need to extract this , cpio -idumv < initrd.tmp 5. You can now view the contents of initrd.tmp $ ls $ bin conf etc init initrd.tmp lib lib64 run sbin scripts usr var 6. Files can now be updated as required 7. Recreate the CPIO image, find . | cpio -ov > new-initrd.img 8. Compress the image, gzip -S new-initrd.img 9. cp new-initrd.img /boot/initrd.img-3.13.0-37-generic
NOTE This procedure supersedes the original article which can still be found in the archive area. The archived procedure may still need to be followed for older distros.