PXEブートキックスタート - インストールツリーを含める方法

PXEブートキックスタート - インストールツリーを含める方法

PXE経由でRocky Linux(RHEL 8と同じ)インストールを起動しようとしています。 Fedoraとは異なり、ミラーがないため、次のURLとストレージオプションは機能しません。

url --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-34&arch=x86_64
repo --name=updates --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f34&arch=x86_64

したがって、PXEがgrub.cfgを起動したときにインストールファイルを抽出するメディアはありません。 Rocky インストール ISO がインストールされた VM を起動すると、kickstart ファイルが完全に実行されます。したがって、ISOを探しているブートローダに問題があることを知っています。 ISOをドライブとしてマウントするようにVMを構成する代わりに、キックスタートファイルにISOを含むパブリックNFS共有を参照させたいと思います。これを行うためのキックスタートリポジトリ構文は何ですか?

grub.cfgのエントリは次のとおりです。

menuentry 'Teichos' {
  linuxefi Rocky8/vmlinuz ip=dhcp inst.ks=nfs:192.168.0.100:/pve/kickstart/rocky-minimal.ks
  initrdefi Rocky8/initrd.img
}

これは私の起動ファイルです。

#version=RHEL8
# Use graphical install
# graphical
text

repo --name="AppStream" --baseurl=file:///run/install/sources/mount-0000-cdrom/AppStream


%packages
@^minimal-environment
@network-server
kexec-tools

%end

# Keyboard layouts
keyboard --xlayouts='au'
# System language
lang en_AU.UTF-8

# Network information
network  --bootproto=dhcp --device=ens18 --ipv6=auto --activate
network  --hostname=teichos.mydomain.net

# Use CDROM installation media
cdrom

# Run the Setup Agent on first boot
firstboot --enable

# Accept the eula
eula --agreed

ignoredisk --only-use=sda
# Partition clearing information
clearpart --none --initlabel
# Disk partitioning information
part /boot/efi --fstype="efi" --ondisk=sda --size=600 --fsoptions="umask=0077,shortname=winnt"
part /boot --fstype="xfs" --ondisk=sda --size=1024
part pv.111 --fstype="lvmpv" --ondisk=sda --size=31142
volgroup rl --pesize=4096 pv.111
logvol swap --fstype="swap" --size=3276 --name=swap --vgname=rl
logvol / --fstype="xfs" --grow --size=1024 --name=root --vgname=rl

# System timezone
timezone Australia/Melbourne --isUtc

#Root password
rootpw --lock
user --groups=wheel --name=admin --password=$6$t23FE4wlPddt68ys$1GfPaRk42VVC4HYFPe9VQAhMjzgA1IYmkTBkMzSdubdBQuCkZp0PAuyzNmABF0n16kiMd7YCD2TNEgr5o/QAX/ --iscrypted --gecos="admin"

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end

インストールCDは次の場所にあります。

nfs:192.168.0.100:/ISOs/Rocky-8.4-x86_64-dvd1.iso

答え1

まだRockyをテストしていないので、この答えはRHEL / CentOSに基づいていますが、本質的に同じであると予想しています。

ネットワークブートプロセスにはsquashfsインストーライメージが必要です。このイメージはインストールCD()で利用できますimages/install.img

ISOイメージをマウントしたくない場合は、ISOからイメージを抽出してHTTP経由で使用できるようにする必要があります。起動パラメータを使用してinst.stage2=カスタムの場所を指定できます。.treeinfoISOルートディレクトリに隠しファイルが必要な場合があります。

私の設定には、次のネットワークブートパラメータがあります。

ip=dhcp inst.stage2=http://boot.server/rhel8 inst.lang=en_US inst.keymap=us inst.ks=http://boot.server/rhel8/rhel8config.ks

RHEL 8インストーラinitramfsにこのinst.stage=http://boot.server/rhel8オプションが提供されている場合は、まず確認してくださいhttp://boot.server/rhel8/.treeinfo。したがって、基本的には、RHEL 8 ISOイメージの完全な内容を見つけることが期待されます。ファイル.treeinfoが存在しない場合は、そこでsquashfsファイルを見つけようとしますhttp://boot.server/rhel8/images/install.img。したがって、デフォルトでは/images/install.img指定した内容に追加されます。

このファイルは、可能であればインストーラが完全性チェックに実際に使用できるファイル.treeinfoのsha256ハッシュを指定するため、これを提供することもできます。install.img.treeinfo

stage2イメージがロードされると、インストーラはすべての操作を実行するのに十分な機能を持つようになり、キックスタートファイルを解析してNFS共有をマウントするなどの操作を実行できます。 stage2がロードされる前に、HTTP、HTTPS、およびFTPサーバーにのみアクセスできます。したがって、インストーラがstage2イメージをロードできることを確認したら、inst.repo=nfs:192.168.0.100:/ISOs/Rocky-8.4-x86_64-dvd1.isoISOイメージを使用するための起動オプションを追加できます。

関連情報