mkosi

提供: ArchWiki
2019年6月6日 (木) 18:26時点におけるHiromi-mi (トーク | 投稿記録)による版 (英語版と同期)
ナビゲーションに移動 検索に移動

関連記事

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

インストール

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

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

基本的な使い方

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

# mkosi

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

引数を使って Debian のイメージを作成

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

$ mkosi -d debian -t raw_gpt -b --checksum --password password --package openssh-clients,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 パスワードを設定

参照