개요
FTP 방식으로 Kickstart 자동 설치까지 완료하였다. 아래 포스팅한 방법은 BIOS Legacy 방식으로 한 것이고 이제 UEFI 방식으로 하려고 한다.
PXE 기본 설치와 kickstart 과정은 아래 포스팅한 방법으로 완료한 상태로 다양한 시도를 하면서 UEFI 모드로 kickstart를 구현하는 것을 목표로 과정들을 기록하려고 한다.
https://estar987.tistory.com/38
https://estar987.tistory.com/42
STEP 1
1. /var/ftp/kickstart/estar987-rocky8.6-uefi.cfg
헷갈리지 않도록 기존 legacy 형식으로 구현한 kickstart 파일(estar987-rocky8.6-legacy.cfg)을 복사해서 estar987-rocky8.6-uefi.cfg UEFI 모드 전용 파일로 만들었다.
UEFI 모드 설정 시 추가한 설정은 저 2줄이다.
# UEFI모드 설정시 추가
part /boot/efi --fstype="efi" --ondisk=sda --size=500 # 내가 추가한 줄
part /boot/efi --asprimary --fstype=vfat --label EFI --size=200 # For UEFI
# BIOS 모드
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
part / --fstype="ext4" --ondisk=sda --grow
part swap --fstype="swap" --size=8000 --ondisk=sda
part /xtmp --fstype="ext4" --size=1 --ondisk=sda --grow
2. /var/lib/tftpboot/pxelinux.cfg/default
위에서 변경한 kickstart 파일을 읽어올 수 있도록 /var/lib/tftpboot/pxelinux.cfg/default 파일을 수정하여 uefi 모드 메뉴를 추가하였다.
LABEL RockyLinux8.6(estar987)_Kickstart
MENU LABEL RockyLinux 8.6 Install(estar987)_Kickstart_FTP_UEFI
KERNEL /rockylinux8.6/vmlinuz
APPEND initrd=/rockylinux8.6/efiboot.img inst.repo=ftp://192.168.203.32/rockylinux8.6 inst.ks=ftp://192.168.203.32/kickstart/estar987-rocky8.6-uefi.cfg
3. EFI 부트 모드 파일 복사
이미지 파일에 있는 UEFI 부트 모드 관련 파일들을 PXE 설정 디렉터리로 이동하여 내 PXE에서 UEFI가 정상 작동할 수 있게 한다.
cp /var/ftp/rockylinux8.6/EFI/BOOT/grubx64.efi /var/lib/tftpboot/rockylinux8.6/BOOTX64.EFI
cp /var/ftp/rockylinux8.6/EFI/BOOT/grub.cfg /var/lib/tftpboot/rockylinux8.6/
4. EFI 부트 모드 파일 복사 제대로 됐는지 확인
[root@localhost rockylinux8.6]# pwd
/var/lib/tftpboot/rockylinux8.6
[root@localhost rockylinux8.6]#
[root@localhost rockylinux8.6]# ll
합계 93764
-rw-r--r-- 1 root root 2292672 12월 13 20:57 BOOTX64.EFI
-rw-r--r-- 1 root root 1501 12월 13 20:31 grub.cfg
-rw-r--r--. 1 root root 83253316 12월 11 03:22 initrd.img
-rw-r--r--. 1 root root 10457392 12월 11 03:22 vmlinuz
[root@localhost rockylinux8.6]#
5. /var/lib/tftpboot/rockylinux8.6/grub.cfg 파일에 아래 부분 추가
menuentry 'Install Rocky Linux 8' --class fedora --class gnu-linux --class gnu --class os {
linuxefi /rockylinux8.6/vmlinuz inst.repo=ftp://192.168.203.32/kickstart/
initrdefi /rockylinux8.6/initrd.img
}
6. 결과 확인
데몬 재실행 후 TEST 결과는 실패...
systemctl restart dhcpd tftp-server vsftpd
STEP 2
1. 피드백 받은 결과 BIOS 모드에서 설정했던 default 파일과 UEFI 모드에서 설정한 grub.cfg 파일의 역할이 같다는 것을 알게 되어서 default 파일에 추가했던 항목은 삭제하였다.
대신grub.cfg 파일의 설정을 수정하기로 했다.
또한 /var/ftp/kickstart/estar987-rocky8.6-uefi.cfg 파일에서 /boot/efi 설정은 중복되므로 내가 추가한 줄은 삭제하였다.
# UEFI모드 설정시 추가
#part /boot/efi --fstype="efi" --ondisk=sda --size=500 # 삭제
part /boot/efi --asprimary --fstype=vfat --label EFI --size=200 # For UEFI
# BIOS 모드
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
part / --fstype="ext4" --ondisk=sda --grow
part swap --fstype="swap" --size=8000 --ondisk=sda
part /xtmp --fstype="ext4" --size=1 --ondisk=sda --grow
2. /var/lib/tftpboot/rockylinux8.6/grub.cfg 파일 수정 (ip=dhcp ~ /kickstart/estar987.... 추가)
menuentry 'Install Rocky Linux 8' --class fedora --class gnu-linux --class gnu --class os {
linuxefi /rockylinux8.6/vmlinuz inst.repo=ftp://192.168.203.32/kickstart/ ip=dhcp inst.ks=ftp://192.168.203.32/kickstart/estar987-rocky8.6-uefi.cfg
initrdefi /rockylinux8.6/initrd.img
}
STEP 3
1. /var/lib/tftpboot/rockylinux8.6/grub.cfg 파일 수정하라는 피드백을 받고 계속 Trouble shooting을 하였다.....
2. DHCP 설정을 바꿨다.
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp-server/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
#dhcp_interface="ens34";
option space pxelinux;
option pxelinux.magic code 208 = string;
option pxelinux.configfile code 209 = text;
option pxelinux.pathprefix code 210 = text;
option pxelinux.reboottime code 211 = unsigned integer 32;
option architecture-type code 93 = unsigned integer 16;
subnet 192.168.203.0 netmask 255.255.255.0 {
option routers 192.168.203.1;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.203.30 192.168.203.44;
default-lease-time 3600;
max-lease-time 7200;
# ### pxe setting ###
# allow booting;
# allow bootp;
# next-server 192.168.203.32;
# filename "pxelinux.0";
class "pxeclients" {
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
next-server 192.168.203.32;
if option architecture-type = 00:07
{
filename "BOOTX64.EFI";
} else {
filename "pxelinux/pxelinux.0";
}
}
}
tail -f /var/log/messages
STEP 4
1. grub.cfg 파일 경로 변경(/var/lib/tftpboot/rockylinux8.6 --> /var/lib/tftpboot)
메뉴 선택 창은 나오고 메뉴 실행이 안되는 걸 보니 부트 관련 파일 경로를 수정하면 될 것 같다
/var/lib/tftpboot/grub.cfg
menuentry 'Install Rocky Linux 8' --class fedora --class gnu-linux --class gnu --class os {
linuxefi /rockylinux8.6/vmlinuz inst.repo=ftp://192.168.203.32/rockylinux8.6 inst.ks=ftp://192.168.203.32/kickstart/estar987-rocky8.6-uefi.cfg
initrdefi /rockylinux8.6/initrd.img
}
Final
성공!!
'OS' 카테고리의 다른 글
Kickstart 설치 시 네트워크 정보 미리 설정 (0) | 2024.01.03 |
---|---|
PXE(FTP)_CentOS07 (0) | 2023.12.15 |
PXE 설치 _ Kickstart (0) | 2023.12.12 |
PXE 설치(FTP 방식) (0) | 2023.12.11 |
PXE란 (0) | 2023.12.06 |