Assembla home | Assembla project page
 

System requirements

Linux with recent 2.6.x kernel and udev. You system should have /dev/disk/by-uuid/ directory. If it does not have it then your version of udev is probably too old. It does not mean that mkinitramfs will not boot, it just will require more work from you, like writing your own plugin.

Installation

mkinitramfs depends on libbash - please install it from http://libbash.sourceforge.net

Installing mkinitramfs is simple:

./configure --prefix=/usr
make install

Preparing your system

Become root. Find out what is the UUID of your root file system:

#> mount |grep ' / '
/dev/sda1 on / type ext3 (rw)

I.e. /dev/sda1 is your current root device. Next:

#> vol_id --export /dev/sda1 
ID_FS_USAGE=filesystem
ID_FS_TYPE=ext3
ID_FS_VERSION=1.0
ID_FS_UUID=eb93b491-783f-4005-a237-68fd5c6f4ea0
ID_FS_UUID_ENC=eb93b491-783f-4005-a237-68fd5c6f4ea0
ID_FS_LABEL=200001060036
ID_FS_LABEL_ENC=200001060036
ID_FS_LABEL_SAFE=200001060036

#> UUID=eb93b491-783f-4005-a237-68fd5c6f4ea0

Oh! That gave you pretty much info about your root file system. Now please check that /dev/disk/by-uuid/$UUID exists. If it does not, please send support request.

Building initramfs image

#> mkinitramfs --help
mkinitramfs-0.9.9, developed by Hai Zaar, Gil Ran and Alon Keren.
usage: mkinitramfs -h|--help
       mkinitramfs [-o|--output=<output file>] [--uuid=<UUID>]
                   [--with-splash] [--with-console=<console>|--without-console]
                   [--with-cd] [--with-evms] [--with-dmraid] [--with-mdraid] [--with-lvm2]
                   [--with-raidify]

If you do not use dmraid, mdraid, lvm and other scary things, simply invoking mkinitramfs (as root) will create /boot/initramfs-$(uname -r).cpio.gz. Now you can edit /boot/grub/menu.lst and amend initrd line to make it point on new initramfs image.