alma9のkickstart
趣旨
クラウドとコンテナに慣れすぎてそもそもオペレーション忘れてそうだったのと、
現業環境がesxi最新なのに使い方がレガシーだとテンション上がらんなぁと思ったので、
ansible + ESXi(無償版)+ kickstartを自動化して少しでもawsっぽくしたいなぁと思うに至りました。
初期ステップとしてalmalinux9でkickstartを使ったisoを作りました。
手順はまぁいろんな人が書いてますし、何か起こってもまぁRHELのドキュメントだけで何とかなりそうな気がするので、自分が気になったポイントだけ。
(EFI前提なので、isolinux.cfgはいじってないです。)
ポイント
- treeinfoとか
いろんな手順で、isoをmount → コピーするときに、
.discinfoとか.treeinfoに触れてる手順があんまりなさそうですが、
重要というか、無いとコケるのでコピーできてるか見たほうがいいと思います。
自分は忘れててハマりました。
# ls .treeinfo
.treeinfo
- grubの設定
/EFI/BOOT/grub.cfgに以下を追記
追記個所は、2つめです。
これは、set default="1"だからそれに合わせただけです。
「kickstart」版の追記したのはもしかして手動で入れるときもあるかも?と、
単にわかりやすいからなので好きにどうぞ。
最初に選択されてるとこなら要するにどこでもいいです。)
menuentry 'Install AlmaLinux 9.3 kickstart' --class fedora --class gnu-linux --class gnu --class os {
linuxefi /images/pxeboot/vmlinuz inst.repo=cdrom inst.ks=cdrom:/ks.cfg quiet
initrdefi /images/pxeboot/initrd.img
}
ポイントとしては、inst.repoに書き換え&cdromに向けている点、inst.ksを追記してks.cfgを指定している点です。
timeout値はお好みで
set timeout=XX
- ks.cfg
実際、anaconda-ks.cfgをまんまもってけばほぼ完成で、追記必須はrepoくらいなのかな?と思ってます。
# Generated by avot
# text install
text
# local repo
repo --name="Minimal" --baseurl=file:///run/install/sources/mount-0000-cdrom/Minimal
# kdump irane
%addon com_redhat_kdump --disable
%end
# Keyboard layouts
keyboard --xlayouts='jp'
# System language
lang en_US.UTF-8
# Network information
network --bootproto=dhcp --noipv6 --activate --onboot=on
# Use CDROM installation media
cdrom
# install packages
%packages
@^minimal-environment
%end
# Run the Setup Agent on first boot
firstboot --enable
# Generated using Blivet version 3.6.0
ignoredisk --only-use=sda
autopart
# Partition clearing information
zerombr
clearpart --none --initlabel
# System timezone
timezone Asia/Tokyo --utc
# Root password
rootpw --iscrypted XXXXXXXXXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
# post scripts
%post --log=/root/yum-install.log
yum install -y vim
%end
# reboot
reboot --eject
passewordは適当に
まとめ
実際はもっときれいに追記じゃなくて書き換えたり、素敵なコメント入れたり、
不要なものを削って容量を減らしたり、逆にpostscript作りこんだり、とかも昔はしてた気がsるんですが、ansibleでいいな?と思ったのでそういう時代じゃないな?ということにしました。
おまけ
iso作った時のコマンドのオプションはこれです。EFIを付けたのはEFIじゃないとダメだよを一応わからせるためです。
mkisofs -v -r -J -T -l -input-charset utf-8 -o ../[output-name]-EFI.iso -e images/efiboot.img -no-emul-boot ./
上記に続きbios版は無視したオプションですのでよしなに。
Discussion