mkinitramfs - low-level tool for generating an initramfs image


mkinitramfs [ -c compress ] [ -d confdir ] [ -k ] -o outfile [ -r root ] [ -v ] [ version ]

mkinitramfs [ --supported-host-version= hversion ]

mkinitramfs [ --supported-target-version= tversion ]



mkinitramfs script generates an initramfs image. The initramfs is a compressed cpio archive. The archive can be used on a different box of the same arch with the corresponding Linux kernel.

mkinitramfs is meant for advanced usage. On your local box

update-initramfs calls

mkinitramfs with the relevant parameters.

update-initramfs keeps sha1sum of generated initramfs. It takes care to generate backups and eventually runs the bootloader. At boot time, the kernel unpacks that archive into RAM disk, mounts and uses it as initial root file system. All finding of the root device happens in this early userspace.


  • \fB -c \fI compress
        Override the

COMPRESS setting in initramfs.conf .

  • \fB -d \fI confdir
        Set an alternate configuration directory.
  • \fB -k
        Keep the temporary directory used to make the image.
  • \fB -o \fI outfile
        Write the image to outfile .
  • \fB -r \fI root
        Override the

ROOT setting in initramfs.conf .

  • \fB -v
        Set the verbose mode output.
  • \fI version
        Set the kernel version of the initramfs image (defaults to the running kernel).
  • \fB--supported-host-version=\fIhversion
        This option queries if mkinitramfs can create ramdisks on a running kernel of version hversion .
  • \fB--supported-target-version=\fItversion
        This option queries if mkinitramfs can create ramdisks for kernel version tversion .


mkinitramfs honours the

TMPDIR environment variable. If set, it uses subdirectories in the given directory to create its temporary working directories. Else it uses /tmpas default value for that purpose. The given directory should be on a filesystem which allows the execution of files stored there, i.e. should not be mounted with the

noexec mount option.


  • /etc/initramfs-tools/initramfs.conf
        The default configuration file for the script. See

R initramfs.conf (5) for a description of the available configuration parameter.

  • /etc/initramfs-tools/modules
        Specified modules will be put in the generated image and loaded when the system boots. The format - one per line - is identical to that of /etc/modules,which is described in

R modules (5).

  • /etc/initramfs-tools/conf.d
        The conf.d directory allows to hardcode bootargs at initramfs build time via config snippets. This allows to set ROOT or RESUME. This is especially useful for bootloaders, which do not pass an root bootarg.
  • /etc/initramfs-tools/DSDT.aml
        If this file exists, it will be appended to the initramfs in a way that causes it to be loaded by ACPI.


Create an initramfs for current running kernel:

mkinitramfs -o ~/tmp/initramfs-$(uname -r) Create an initramfs for specific kernel and keep builddirs:

mkinitramfs -k -o ~/tmp/initramfs-2.6.21-686 2.6.21-686 Debug initramfs creation (check out written logfile)

sh -x mkinitramfs -o ~/tmp/initramfs-$(uname -r) 2> ~/tmp/log


The initramfs-tools are written by Maximilian Attems <>, Jeff Bailey <> and numerous others.


R initramfs.conf (5), initramfs-tools (8), update-initramfs (8).