mkosi

mkosi stands for Make Operating System Image, and is a tool for generating an OS tree or image that can be booted.

Installation

Install mkosi or mkosi-gitAUR. Depending on what distribution you want to build install the following packages:

Distribution Package
Arch arch-install-scripts
Debian , ,
Ubuntu , ,
Fedora
OpenSUSE zypper-gitAUR
CentOS dnf-legacy-utilsAUR

Basic usage

You can create an image by just running it without any arguments:

# mkosi

You can specify option as arguments or by editing files in the current folder.

Create and boot a Debian image

The following command will create a bootable image with the latest Debian version and the package openssh-client installed:

# mkosi -d debian -t gpt_ext4 -b --checksum --password password --package openssh-client,vim -o image.raw

systemd-nspawn can boot the resulting image:

# systemd-nspawn -b -i image.raw

It can also be virtualized with QEMU/KVM:

$ qemu-system-x86_64 -m 512 -smp 2 -bios /usr/share/ovmf/x64/OVMF_CODE.fd -drive format=raw,file=image.raw

You can also write this image to a USB drive and use it to boot your computer.

Using configuration files

The same image can be created by creating a configuration file:

Configurations

Basic options can be specified as command-line arguments or in a file called in your current directory. Most important options:

Argument Option in mkosi.default Description
The name of the distribution to install, supported are:
The version of the distribution: jessie, 21, …
[Output]
Format=
Format of the image to create:
  • gpt_ext4: Image file with GPT partition table and ext4 file system
  • gpt_btrfs: Image file with GPT partition table and btrfs file system
  • gpt_squashfs: Image file with GPT partition table and squashfs file system
  • directory: A plain directory
  • subvolume: A btrfs subvolume
  • tar: A tar-ball of a plain directory
[Output]
Bootable=yes
Make the image bootable
Size of the root file system
List of packages to be installed into the image
File/directory-Name
Set the initial root password
gollark: We do not speak of TJ08.
gollark: *than before
gollark: Fewer palindromes before? This is clear evidence of a TJ08/TJ09 conspiracy.
gollark: Very palindromic!
gollark: TJ09 updating a thing is *not possible*.

See also

This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.