- Original Authors
mistral is derived from mkinitrd from Slackware, and is used to build an initial ramdisk, runself archive, or a backup archive (future release).
An initial ramdisk is a very small set of files that are loaded into RAM and ‘mounted’ (as initramfs doesn’t use a filesystem) as the kernel boots (before the main root filesystem is mounted).
An initrd is used when kernel modules need to be loaded before mounting the root partition. Usually these modules are required to support the root filesystem (ext3, reiserfs, xfs), or perhaps the controller that the hard drive is attached to (SCSI, RAID, etc). Essentially, there are so many different options available in modern Linux kernels that it isn’t practical to try to ship many different kernels to try to cover everyone’s needs. It’s a lot more flexible to ship a generic kernel and a set of kernel modules for it.
A runself archive is a self-extracting shell archive with a built-in executable script. The runself script is derived from the script Makeself version 2.4.0. All runself archives are dependent on the mistral infra-structure.
A backup archive is either a self-extracting shell archive or a ramdisk like cpio archive. All backup archives are dependent on the mistral infra-structure.
The command set of mistral is not compatible with the Slackware mkinitrd command set. If run without options, mistral will build an initrd image, based on your host machine’s installation.
- Support for overlay file tree (initrd/runself).
- Support for SysV and OpenRC (initrd).
- Support for RAID file systems (initrd).
- Support for LVM file systems (initrd).
- Support for LUKS encryption (initrd, WIP – Work in Progress).
- Support for Frame Buffer splash (initrd, todo).
- Support for Mistral framebuffer splash (initrd, todo).
- Support for Plymouth framebuffer splash (initrd, todo).
- Support for incremental backup archives (backup, todo).
INI-style configuration file at /etc/mistral/initrd.conf.
The configuration entries are self-explanatory.
Build an initrd for a reiserfs root partition:
mistral -c -f reiserfs
Build a runself archive for the package manager:
mistral.runself -c brzpkg
Build an initrd image using Linux 220.127.116.11 kernel modules for a
system with an ext3 root partition on /dev/sdb3:
mistral -c -k 18.104.22.168 -f ext3 -r /dev/sdb3
An example of a single encrypted partition setup:
mistral -c -k 22.214.171.124 -C -L -R -U -f ext4 -r /dev/mapper/luksroot
Pierre Innocent (email@example.com)
The Breeze::OS website: http://www.breezeos.com
Patrick J. Volkerding (firstname.lastname@example.org)
Mistral github.io: https://dev-breeze-com.github.io/mistral
Mistral v1.0.0: https://www.github.com/dev-breeze-com/mistral