Estou tentando inicializar o PXE em uma instalação do Rocky Linux (igual ao RHEL 8). Ao contrário do Fedora, não há espelhos, então opções de url e repo como esta não funcionam:
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
Portanto, quando o PXE inicia o grub.cfg, ele não possui mídia para extrair os arquivos de instalação. O arquivo kickstart funciona perfeitamente se eu inicializar a VM com o ISO de instalação do Rocky montado - então eu sei que o problema é sobre o bootstrap encontrar o ISO. Eu gostaria que o arquivo kickstart tivesse uma referência ao compartilhamento NFS público que tem o ISO em vez de configurar a VM para montar o ISO como uma unidade... Qual é a sintaxe do repositório kickstart para fazer isso?
Esta é a entrada no 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
}
e este é o meu arquivo kickstart:
#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
O CD de instalação está localizado em:
nfs:192.168.0.100:/ISOs/Rocky-8.4-x86_64-dvd1.iso
Ainda não testei Rocky, então esta resposta é baseada no RHEL/CentOS, mas espero que seja essencialmente o mesmo.
O processo de inicialização da rede precisará da imagem do instalador do squashfs: ela deve estar disponível no CD de instalação em
images/install.img
.Se você não deseja montar a imagem no ISO, deve extrair essa imagem do ISO e disponibilizá-la por HTTP. Um local personalizado pode ser especificado com o
inst.stage2=
parâmetro de inicialização. Você também pode precisar do arquivo oculto.treeinfo
do diretório raiz do ISO.Na minha configuração, tenho parâmetros de inicialização de rede como este:
Quando o instalador do RHEL 8 initramfs recebe essa
inst.stage=http://boot.server/rhel8
opção, ele primeiro verifica a existência de arquivoshttp://boot.server/rhel8/.treeinfo
. Portanto, basicamente espera encontrar o conteúdo completo de uma imagem ISO do RHEL 8. Se o.treeinfo
arquivo não estiver lá, ele tentará encontrar o arquivo squashfs emhttp://boot.server/rhel8/images/install.img
. Então, basicamente, será anexado/images/install.img
ao que você especificar.O
.treeinfo
arquivo especificará um hash sha256 para oinstall.img
arquivo, e o instalador pode realmente usá-lo para uma verificação de integridade, se estiver disponível, portanto, você também pode fornecer o.treeinfo
arquivo.Uma vez que a imagem stage2 é carregada, o instalador terá funcionalidade suficiente para tudo que vai fazer, então ele poderá analisar o arquivo kickstart, montar compartilhamentos NFS, etc. Antes de carregar o stage2, ele só pode acessar HTTP, HTTPS e Servidores FTP. Então, uma vez que você tenha certeza de que o instalador pode carregar a imagem stage2, você pode adicionar a opção de inicialização
inst.repo=nfs:192.168.0.100:/ISOs/Rocky-8.4-x86_64-dvd1.iso
para que ela use sua imagem ISO.