こんにちは、山田ハヤオです。
以前、私はSereneTeamでUbuntuのLiveCDを作る方法を模索していました。
今はだいぶ確立してきたのでArchLinuxのほうで方法を探しています。
今回はその作成方法を軽くまとめていこうと思います。
Ubuntu
既存の環境をそのままイメージファイルにするツールを使用します。
SereneLinuxはこの方法を採用しています。仮想環境に構築したSereneLinuxをそのままISOイメージファイルにして起動できるようにします。
昔はこれをGUIで簡単にできるRemastersysというソフトがあったのですが残念ながら開発が終了してしまいました。現在はそこから派生したBodhiBuilderやPinguyBuilderを使用するのが良いと思います。
BodhiBuilderは設定ファイルに少々手を加えないとイメージファイルが起動しません。(この部分に関してはあとで追記します。)
PinguyBuilderは生成が遅いですが確実です。
メリット
- GUIから構築できる
- 既存の環境をそのまま利用できる
デメリット
- 環境が汚れている場合がある
- Ubuntu以外は利用できない
- BodhiBuilderなどの開発が終了した場合は代替品を探す必要がある
Debian
現在Debianで安定したカスタマイズを行う方法は見つかっていません。
UbuntuのLiveCDのsquashfsに無理やりDebianのrootfsを入れることで起動できる場合があります。(後述の「汎用的な方法」を参照)
ArchLinux
公式もイメージファイルの構築に使用している「archiso」を使用します。
スクリプトで最新の環境を構築し、イメージファイルを作成します。
archisoの詳細は公式のWikiが最もわかりやすいです。
また、筆者(山田ハヤオ)がarchisoを補助するスクリプトを公開しています。
汎用的な方法
現在のLinuxの殆どは「ISOLINUX」と「squashfs」で構成されています。ISOLINUXは、CDから起動したときに最初に動くプログラムです。squashfsは読み取り専用ファイルシステムの一種で、圧縮ファイルのような感じです。
ほとんどのLinuxのrootfs1Linuxの/のことはこのsquashfsで圧縮されています。既存のイメージファイルを展開し、このsquashfsを展開してchrootで環境に入り改造後、またsquashfsに圧縮することで、イメージファイルをカスタマイズできます。
メリット
- ほとんどのLinuxでカスタマイズができる
- 公式のイメージを直接いじるのでクリーンな環境でビルドできる
デメリット
- コマンドラインからの操作が必要
- 安定して動作しない場合がある
- より詳しい知識が必要になる
まとめ
初めてディストリビューションづくりに挑戦する場合は無難にUbuntuで始めたほうが良いと思います。Ubuntuでの構築方法はこちらにまとめてあるのでご覧ください。
また、ハヤオのTwitterにDMをしてくれればある程度は教えることができます。(下ネタとかは無視してあげて)
コメント
Ubuntuベースの linux mintでは使えませんか?