はじめに
Linux®に限らずOSというものは、大抵マシンにインストールして使うものだと思う。しかし頻度が少なく、かつ特定の用途でのツールとして利用するのであれば、LiveCDでの利用が選択肢に入る。(あと特にWindowsインストール済環境の場合、デュアルブートはWindows Update関連で問題が起きるので避けたい)
そこで、今回はArchLinuxのLiveCDの作成とカスタマイズ手順を簡単にまとめた。
ArchWiki
実は、本家ArchWikiにほとんどの手順が載ってる!
本記事ではArchWikiの内容に、若干の追加手順を記載する。ただLiveCD作りたいだけならArchWiki見たほうが早いかも。
作業環境
LiveCDの作成のためだけにArchLinuxマシンを用意するのも手間なので、WSL2を利用した。構築は以下の記事を参考。
また、ArchLinuxのバージョンは2024-12-01-x86_64を利用した。
準備
ArchLinuxのLiveCDをビルドしてくれるarchiso
をインストールする。
$ pacman -S archiso
その後、archisoが用意してくれるプロファイルを作業ディレクトリにコピーする。
$ cp -r /usr/share/archiso/configs/releng/ archlive
このarchisoディレクトリをビルドすることで、LiveCDのISOを生成できる。
なお、/usr/share/doc/archiso/README.profile.rst
にこのプロファイルの構造が記述されている。
ビルド
下記のカスタマイズが済んだあとに、ビルドコマンドを実行する。
$ cp mkarchiso archlive
特にカスタマイズ不要ならば、そのままビルドしてしまって問題ない。
LiveCDイメージのルートディレクトリ
archlive/airootfs
がLiveCDイメージのルートディレクトリになる。
LiveCDのディレクトリ構造を編集したいときは、ここを編集する。
パッケージ選択
packages.x86_64
でLiveCDに内包するパッケージを記述する。記述は、一行に一つずつ記述する。
はじめからvimとか色々入ってるので、追加で必要なものはそんなに多くなさそう。目的に応じて追加していく。
キーマップ
ArchLinuxのインストールをしたことがある方には説明不要かもしれないが、LiveCDのイメージはデフォルトでキーマップがUSキーとなっている。これをJISキーにしておくには、archlive/airootfs/etc/vconsole.confで指定する。
echo KEYMAP=jp106 > archlive/airootfs/etc/vconsole.conf
起動時メッセージ変更
起動時に表示されるメッセージがデフォルトではArchLinuxインストールのためのメッセージとなる。特定の用途のためのカスタムLiveCDであるならば、その用途での使い方を表示してほしいところ。
これは、通常のLinux同様airootfs/etc/motd
を編集すれば良い。
起動時メニュー表記変更
移動時メッセージと同じ理由で、起動時の選択メニューの「Arch Linux install medium...」というメニューを変更する。これは、BIOSならarchlive/syslinux/archiso_sys-linux.cfg
の当該箇所を変更する。なお、UEFIの場合は試していないがarchlive/efiboot/
内のファイルを編集するとのこと。
以下のように記述してビルドすると
LABEL arch64
TEXT HELP
Boot the Arch Linux install medium on BIOS.
It allows you to install Arch Linux or perform system maintenance.
ENDTEXT
- MENU LABEL Arch Linux install medium (x86_64, BIOS)
+ MENU LABEL My Custom LiveCD medium sys (x86_64, BIOS)
LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
INITRD /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
APPEND archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID%
# Accessibility boot option
(以下省略)
こうなる
メニューの表記が「My Custom LiveCD medium sys」になった。やったね!
その他
サービスは、systemctlでenableにしたとき生成されるシンボリックリンクを手動で配置する必要があるとのこと。(参考: ArchWiki)今回、私は利用しなかったので記載しない。
また、ユーザ作成やカーネル選択も、今回は必要なかったので記載しない。(LiveCDでユーザが必要なケースは稀では?)
注意点として、記事の最初の方にビルドする方法を記載したが、再ビルドするときには、ビルド時に生成されるworkディレクトリを削除しないと再ビルドされなかった。再ビルドする際は、このディレクトリを削除する必要がある。
おわりに
今回、特定の用途向けツールとして使うためにArchLinux LiveCDを作成する手順を簡単にまとめた。
はじめは、LiveCDのイメージを作るのには大変そうな先入観を持っていたが、やってみると全く難しくなかった。
※ Linux® は、Linus Torvalds 氏の米国およびその他の国における登録商標です。
※ Windowsは、米国 Microsoft Corporation の米国およびその他の国における登録商標または商標です。