Last modified 7 years ago Last modified on 10/18/07 09:09:07

mkinitramfs - Boot your Linux WELL!

Welcome to mkinitramfs

I've started this projects because I was looking for a clean way to boot my Linux system.

What's the problem?

Ok. I have my Linux installation which is installed on first, ext3 formatted partition of primary master IDE drive. Also I have something like root=/dev/hda1 on my kernel command line and since I have a modern distro, it uses initramfs, or initrd at worst, which has to be able to guess what file system do my / uses.

Now, what happens if I just brought new shiny SATA drive and copied my Linux installation? - My system will certainly not boot. Why? - Because my root device is now probably /dev/sda1. And its getting worse - If you boot, while your flash drive is plugged in, there are chances that it will be the one who scores to be /dev/sda1, moving your / to be /dev/sdb1.

The mottoe

I've started to think - Why do I have to know on which disk my / is located? What I care about is a file system I want to boot from - my file system. And file system is very well distinguished by its UUID.

Now boot procedure becomes as simple as this:

  1. Let udev discover all available hard drives in the system, build raid arrays, activate LVMs, etc.
  2. Search for my UUID in /dev/disk/by-uuid
  3. Mount it, chroot and exec init


For users

Here is the list of the distros supported out-of-the-box:

  • None yet.

If you system is not listed, please read general integration instructions - booting your system using mkinitramfs is rather easy.

Questions? - See User FAQ or drop a message to mailing lists

For Developers