Linux PXE 実習(Fedoraインストーラの起動)
はじめに
前回投稿した PXE 関連記事の続き.
構築した PXE 環境を使って Fedora のインストーラの起動を行えるようにする.
手順
- Fedora のインストールイメージをダウンロードする
- イメージは
Standard ISO image for x86_64
のDVDイメージを利用するものと仮定
# mkdir /var/lib/tftpboot/image/fedora/ # cd $_ # wget https:// download.fedoraproject.org/pub/fedora/linux/releases/31/Server/x86_64/iso/Fedora-Server-dvd-x86_64-31-1.9.iso ↑URLに空白を挿入している
- ループバックマウントの実施
# cd /var/lib/tftpboot/image # mkdir /var/lib/tftpboot/image/fedora/root # mount -o loop,ro Fedora-Server-dvd-x86_64-31-1.9.iso root/ # df
fstab に登録する場合は下記のエントリを /etc/fstab
に追記する.
#/etc/fstab /var/lib/tftpboot/image/fedora/fedora.iso /var/lib/tftpboot/image/fedora/root iso9660 loop,ro,auto,nofail 0 0
- pxelinux.cfg 設定ファイルの編集
- 対象ファイルは以下2つを想定
/var/lib/tftpboot/bios/pxelinux.cfg/default
/var/lib/tftpboot/efi64/pxelinux.cfg/default
pxelinux.cfg/default
DEFAULT menu.c32 # LegacyBIOSの場合(どっちかを記載) UI menu.c32 # EFI64の場合(どっちかを記載) LABEL Fedora31-local MENU LABEL Installer-Fedora31(Local) KERNEL http://<PXE IPアドレス>/image/fedora/root/images/pxeboot/vmlinuz APPEND initrd=http://<PXE IPアドレス>/image/fedora/root/images/pxeboot/initrd.img ip=dhcp inst.repo=http://<PXE IPアドレス>/image/fedora/root/
メモ
Fedora のインストーラを PXE経由で起動させるためには, パッケージリポジトリを指定する必要がある.
これの簡単な方法は, DVDイメージ内のローカルリポジトリをクライアントに見せるか,
Fedoraのリポジトリのミラーサイトを直接指定することになる.
(本末転倒だが, PXEクライアント側にFedoraのDVDイメージが挿さっていればそれを使うこともできる)
環境構築の際に HTTP サーバを動作させるようにしているので,
今回は PXEサーバが保持している DVDイメージを参照するように設定した.
容量をケチってループバックマウントしているが, 展開しても問題はない.
なおインターネットのミラーサイトを指定する場合は Fedora31 の場合は以下の通り.
https:// download.fedoraproject.org/pub/fedora/linux/releases/31/Server/x86_64/os/
vmlinuz や initramfs も配下に存在するので, 全てのリソースをミラーサイトから取ってきて動作させることもできる.
うちは回線の問題で厳しいのでローカルにダウンロードした次第である.
Kickstart とか余裕があれば勉強したい所存