mkosi

提供: ArchWiki
ナビゲーションに移動 検索に移動

関連記事

mkosi (Make Operating System Image) は起動可能な OS ツリーやイメージを生成するためのツールです。

インストール

mkosi または mkosi-gitAUR パッケージをインストールしてください。作成したいディストリビューションに応じて以下のパッケージもインストールしてください:

ディストリビューション パッケージ
Arch arch-install-scripts
Debian debootstrap, debian-archive-keyring, dpkg, aptAUR
Ubuntu debootstrap, ubuntu-keyring, dpkg, aptAUR
Fedora dnfAUR
OpenSUSE zypper-gitAUR
CentOS dnf-legacy-utilsAUR

基本的な使い方

root で mkosi を実行することでイメージを作成できます:

# mkosi

オプションは引数で指定するかカレントフォルダのファイルを編集することで設定できます。

Debian のイメージを作成

以下のコマンドで openssh-clients パッケージがインストールされた最新版の debian イメージを作成できます:

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

作成したイメージは systemd-nspawn で起動することができます:

# systemd-nspawn -b -i image.raw

もしくは QEMU を使って仮想環境で起動できます:

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

イメージを USB ドライブに書き込んで、そこからコンピュータを起動することも可能です。

設定ファイルを使う

上記と同じイメージは以下の設定ファイルで作成できます:

mkosi.default
[Files]
[Distribution]
Distribution=debian
Release=stretch

[Output]
Format=raw_gpt
Bootable=yes
Output=image.raw

[Packages]
Packages=
         openssh-client
         vim

[Validation]
Password=password
ヒント: カレントフォルダに mkosi.cache フォルダを作成すると、mkosi はダウンロードしたパッケージをすべてそこに保存します。後でイメージをまた作成するときに利用されます。

設定

基本的なオプションはコマンドライン引数またはカレントフォルダの mkosi.default ファイルで設定できます。最も重要なオプションは以下の通り:

引数 mkosi.default のオプション 説明
-d
[Distribution]
Distribution=
インストールするディストリビューションを指定: fedora, debian, ubuntu, arch, opensuse
-r
[Distribution]
Release=
ディストリビューションのバージョンを指定: jessie, 21, …
-t [Output]

Format=

作成するイメージの形式を指定:
  • raw_gpt: GPT パーティションと ext4 ファイルシステムのイメージファイル
  • raw_btrfs: GPT パーティションと btrfs ファイルシステムのイメージファイル
  • raw_squashfs: GPT パーティションと squashfs ファイルシステムのイメージファイル
  • directory: 単純なディレクトリ
  • subvolume: btrfs サブボリューム
  • tar: ディレクトリの tar ボール
-b [Output]
Bootable=yes
イメージをブート可能にする
--root-size [Output]
RootSize=
ルートファイルシステムの容量を指定
-p [Packages]
Packages=
イメージにインストールするパッケージのリスト
-o [Output]

Output=

ファイル・ディレクトリの名前
--password [Validation]
Password=test
初期 root パスワードを設定

参照