2016年3月30日水曜日

CentOSを複数台のUEFIなホストにインストールするときPXEでうまいことやるやつ

どこかにメモをしようとおもったけどブログの記事をまるで書いてないのを思いだしました.

CentOS 7.2前提

1. CentOSのisoイメージをダウンロード

2. /mnt/centosにisoイメージの中身を全部そのまま配置

3.

次を実行
$ mkdir -p /var/tmp/tftpboot
$ cp /mnt/centos/EFI/BOOT/grubx64.efi /var/tmp/tftpboot/
$ cp /mnt/centos/images/pxeboot/{vmlinuz,initrd.img} /var/tmp/tftpboot
(もしかしたらgrubx64.efiは/mnt/centos/Packages/grub2-efi-なんとか.rpmを解凍してgrubx64.efiを取り出さないといけないかも)

4.
これを/etc/dnsmasq.confにする.
enp8s0は自分の環境のインターフェース名に変える.

5.
/var/tmp/tftpbootに次の中身でgrub.cfgを作成

6. kickstartのコンフィグファイルをks.cfgという名前で/mnt/centos/に配置


7.
# darkhttpd /mnt/centos
# systemctl start dnsmasq


これで自動でPXE Bootして,Kickstartでインストールしてくれるはず.
もしKickstartを使わず手動インストーラをぽちぽちするならば,
2.で/mnt/centosにファイルを配置とかじゃなくてisoを直接マウントして,
grub.cfgのカーネルコマンドラインからks=の部分を削除すれば大丈夫です.