CentOS7 kickstartファイルからのiso作成(最小のパッケージ構成や起動用スクリプトの作成)

CentOS7 の32bit版のブータブルCDのイメージファイルを作りたかったので,そのときのメモです.(試したものはkernelplusのものです)
●稼働中のシステムからkickstartファイルを作成するツールのインストール
yum install system-config-kickstart 
コマンド例
# system-config-kickstart --generate ks.cfg
作成されたks.cfgの中身を見ると,ルートのパスワードが暗号化されていたり,後からインストールしたツール(パッケージ)も入っている.(稼働中のシステムをもとにkickstartのファイルができている)

●ks.cfgの書き換え
レポジトリを追加が必要

f:id:l-expanse:20220206103915p:plain

 

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
次のコマンドを実行

f:id:l-expanse:20220206104354p:plain

 

自分の場合,なぜか gpg-publickeyでエラーする.一旦「#」でコメントアウトした.

 

●isoファイルイメージが作成される.

 

インストールするパッケージの選択方法が分かり,起動スクリプトを作る方法もわかり,自在に起動イメージを作る方法は分かりました.自分で使いたくて作成したisoイメージは,ツールを削っても400MBでした(buildrootはカスタマイズして10MBにできました)

 


下記のサイトも参考にしました.

 

CentOS6ベースでカスタムLiveCDを作る – OSAKANA TAROのメモ帳