CentOS7 kickstartファイルからのiso作成(最小のパッケージ構成や起動用スクリプトの作成)
CentOS7 の32bit版のブータブルCDのイメージファイルを作りたかったので,そのときのメモです.(試したものはkernelplusのものです)
●稼働中のシステムからkickstartファイルを作成するツールのインストール
yum install system-config-kickstart
コマンド例
# system-config-kickstart --generate ks.cfg
作成されたks.cfgの中身を見ると,ルートのパスワードが暗号化されていたり,後からインストールしたツール(パッケージ)も入っている.(稼働中のシステムをもとにkickstartのファイルができている)
●ks.cfgの書き換え
レポジトリを追加が必要
例
●kickstart内に記述する最小限のパッケージ
何度か試して,下記が最小限の構成?
firewalldを外すと,firewallを止められない?といったような?エラーが出てしまうので入れている.
%packages
kernel
bash
passwd
firewalld
%end
●kickstart内に記述する起動スクリプトの例(rc.localの作成例)
色々と試して下記でできることを確認.別の記事で書いたkernelplusを使っていて,
9pファイルシステムに対応させたいのでその記述をしている.また「user」も作っている.(コマンドには特に「;」は使う必要は無いのかも..)
最後にファイル属性の変更もする.
%post
cat > /etc/rc.d/rc.local << 'EOF_livesysconf'
#!/bin/bash
( /bin/mount -t 9p -o trans=virtio host9p /mnt ; lsmod | grep 9p ; df ) &
(/sbin/useradd user ; /bin/passwd -d user ) &
exit 0
EOF_livesysconf
chmod u+x /etc/rc.d/rc.local
%end
●ライブCD作成ツールのインストール
yum install livecd-tools
次のコマンドを実行
自分の場合,なぜか gpg-publickeyでエラーする.一旦「#」でコメントアウトした.
●isoファイルイメージが作成される.
インストールするパッケージの選択方法が分かり,起動スクリプトを作る方法もわかり,自在に起動イメージを作る方法は分かりました.自分で使いたくて作成したisoイメージは,ツールを削っても400MBでした(buildrootはカスタマイズして10MBにできました)
下記のサイトも参考にしました.
CentOS6ベースでカスタムLiveCDを作る – OSAKANA TAROのメモ帳