728x90
DHCP 서버
# yum -y install dhcp-server
혹은
# dnf install dhcp-server
DHCP 서버 설정 파일
- Legacy(BIOS) 모드 에서는 pxelinux.0 파일 사용
- UEFI 모드에서는 grubx64.efi 사용
- 아이피 대역대에 따라서 ip 수
# vi /etc/dhcp/dhcp.conf
----------------------------------------------------------------------------------------
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp-server/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
dhcp_interface="eth0";
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.33 192.168.203.38;
default-lease-time 3600;
max-lease-time 7200;
### pxe setting ###
allow booting;
allow bootp;
next-server 192.168.203.1;
# filename "pxelinux.0";
# filename "grubx64.efi";
}
TFTP-Server
# yum -y install[dnf install] tftp-server
# cp /usr/lib/systemd/system/tftp.service /etc/systemd/system/tftp-server.service
# cp /usr/lib/systemd/system/tftp.socket /etc/systemd/system/tftp-server.socket
파일 복사 후 변경된 경로에서 제대로 동작하기 위해 파일을 아래처럼 수정
# vi /etc/systemd/system/tftp-server.service
----------------------------------------------------------------------------------------
[Unit]
Description=Tftp Server
Requires=tftp-server.socket
Documentation=man:in.tftpd
[Service]
ExecStart=/usr/sbin/in.tftpd -s /var/lib/tftpboot
StandardInput=socket
[Install]
WantedBy=multi-user.target
Also=tftp-server.socket
# vi /etc/systemd/system/tftp-server.socket
----------------------------------------------------------------------------------------
[Unit]
Description=Tftp Server Activation Socket
[Socket]
ListenDatagram=69
BindIPv6Only=both
[Install]
WantedBy=sockets.target
데몬 재시작
# systemctl restart tftp-server
syslinux 설치
# dnf install syslinux
부팅에 필요한 파일 복사
cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp /usr/share/syslinux/ldlinux.c32 /var/lib/tftpboot/
cp /usr/share/syslinux/libutil.c32 /var/lib/tftpboot/
PXE 구성 파일 설정
- NFS , FTP 마지막으로 설정한 경로에 따라 레파지토리 경로 설정이 다르니 유의!!
# mkdir /var/lib/tftpboot/pxelinux.cfg
----------------------------------------------------------------------------------------
# vi /var/lib/tftpboot/pxelinux.cfg/default
----------------------------------------------------------------------------------------
LABEL RockyLinux8.6(Kickstart)
MENU LABEL RockyLinux 8.6 Install(Kickstart)
KERNEL /rocky8.6/vmlinuz
APPEND initrd=/rocky8.6/initrd.img inst.repo=nfs:192.168.203.132:/var/lib/tftpboot/rocky8.6 inst.ks=nfs:192.168.203.132:/var/lib/tftpboot/kickstart/ks-rocky86-legacy.cfg biosdevname=0 net.ifnames=0
로컬 레포지 토리 생성
NFS 설치
# dnf -y install nfs-utils
NFS 설정파일 (경로 설정)
vi /etc/exports
--------------------------------------------------------------------------------------
/var/lib/tftpboot/rocky8.6 192.168.204.0/24 *(ro)
/var/lib/tftpboot/kickstart 192.168.204.0/24 *(ro)
exportfs -a <-NFS 설정 적용
exportfs -v <-NFS 적용 확인
*NFS설정
Kickstart 경로 생성 및 부팅 파일 복사
mkdir -p /var/lib/tftpboot/{kickstart,pxelinux.cfg,rocky8.6}
#kickstart , pxelinux.cfg , rocky8.6 디렉토리 생성
mount Rocky86.dvd /mnt
#OS 마운트
cp -R * /mnt/. /var/libtftpboot/rocky8.6
#/mnt -> /var/lib/tftpboot/rocky8.6 이미지 복사
cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp /usr/share/syslinux/ldlinux.c32 /var/lib/tftpboot/
cp /usr/share/syslinux/libutil.c32 /var/lib/tftpboot/
#부팅에 필요한 파일 복사
데몬 재시작
# systemctl restart dhcpd
# systemctl restart tftp
# systemctl restart nfs-server.service
# systemctl status dhcpd tftp nfs-server.serivce
PXE 메뉴 설정 파일
BIOS
[root@localhost pxelinux.cfg]# vi /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
prompt 0
timeout 150
ontimeout local
LABEL local
MENU LABEL Boot Local Disk
localboot 0
LABEL RockyLinux8.6(Kickstart)
MENU LABEL RockyLinux 8.6 Install(Kickstart)
KERNEL /rocky8.6/vmlinuz
APPEND initrd=/rocky8.6/initrd.img inst.repo=nfs:192.168.203.22:/var/lib/tftpboot/rocky8.6 inst.ks=nfs:1
92.168.203.22:/var/lib/tftpboot/kickstart/ks-rocky86-legacy.cfg biosdevname=0 net.ifnames=0
LABEL CentOS7.4(Kickstart)
MENU LABEL CentOS 7.4 Install(Kickstart)
KERNEL /centos7.4/vmlinuz
APPEND initrd=/centos7.4/initrd.img inst.repo=nfs:192.168.203.22:/var/lib/tftpboot/centos7.4 inst.ks=nfs
:192.168.203.22:/var/lib/tftpboot/kickstart/ks-centos7.4.cfg biosdevname=0 net.ifnames=0
UEFI
[root@localhost tftpboot]# vi /var/lib/tftpboot/grub.cfg
set default="2"
function load_video {
insmod efi_gop
insmod efi_uga
insmod video_bochs
insmod video_cirrus
insmod all_video
}
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
set timeout=60
### END /etc/grub.d/00_header ###
#search --no-floppy --set=root -l 'Rocky-8-6-x86_64-dvd'
#search --no-floppy --set=root -l 'CentOS 7 x86_64'
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Rocky Linux 8.6-UEFI' --class fedora --class gnu-linux --class gnu --class os {
linuxefi /rocky8.6/vmlinuz inst.repo=nfs:192.168.203.22:/var/lib/tftpboot/rocky8.6 inst.ks=nfs:192.168.
203.22:/var/lib/tftpboot/kickstart/ks-rocky86-uefi-00.cfg biosdevname=0 net.ifnames=0
initrdefi /rocky8.6/initrd.img
}
menuentry 'CentOS Linux 7.4-UEFI' --class fedora --class gnu-linux --class gnu --class os {
linuxefi /centos7.4/vmlinuz inst.repo=nfs:192.168.203.22:/var/lib/tftpboot/centos7.4 inst.ks=nfs:192.16
8.203.22:/var/lib/tftpboot/kickstart/ks-cent74-uefi.cfg biosdevname=0 net.ifnames=0
initrdefi /centos7.4/initrd.img
}
'OS' 카테고리의 다른 글
RunLevel (0) | 2024.02.14 |
---|---|
BIOS Setting(SuperMicro) (0) | 2024.02.13 |
MBR(BIOS) & GPT(UEFI) (0) | 2024.02.13 |
Kickstart File 분석 (2) | 2024.01.22 |
SCP (0) | 2024.01.22 |