차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
pxe_server_-_uefi [2024/10/17 04:29] – [PXE Server - UEFI] koovpxe_server_-_uefi [2024/10/17 11:05] (현재) – [CentOS.menu.efi] koov
줄 1: 줄 1:
 ====== PXE Server - UEFI ====== ====== PXE Server - UEFI ======
 +RHEL9 기반에서 PXE서버를 구성하는 방법에 대해 설명한다.
 +DHCP서버는 ''dhcpd'' 패키지를 기준으로 구성한다.
 +
 +===== 사전준비 =====
 +
 +서버의 ''DHCP'' 서비스를 위한 인터페이스가 ''eth1''이고 ''eth1''의 아이피는 ''10.0.0.9'' 라고 가정한다.
 +
 +Client의 부트모드는 
 +  * ''Legacy BIOS''
 +  * ''UEFI''
 +
 +두가지 모드가 있다. 각 모드에 대해서 구성을 하도록 한다.
 +
 +
 +===== 패키지 설치 =====
  
 <WRAP prewrap> <WRAP prewrap>
 <code bash> <code bash>
-[root@pxe-server ~]# dnf install tftp-server dhcp-server syslinux +[root@pxe-server ~]# dnf install tftp-server dhcp-server syslinux-tftpboot shim-x64 
-[root@pxe-server ~]# firewall-cmd --add-service=tftp+[root@pxe-server ~]# firewall-cmd --permanent --add-service=tftp 
 +[root@pxe-server ~]# firewall-cmd --reload
 </code> </code>
 </WRAP> </WRAP>
  
 +==== BIOS mode ====
 +
 +''syslinux-tftpboot''패키지를 설치하게되면 ''Legacy BIOS'' 부팅에 필요한 파일들이 ''/tftpboot''경로에 설치된다.
 +이 파일들을 ''/var/lib/tftpboot''경로에 모두 복사한다.
 +
 +''shim-x64''패키지를 설치하게되면 ''UEFI'' 모드 부팅에 필요한 파일이 ''/boot/efi/EFI/'' 아래 설치된다. ''*.efi''파일들을 모두 ''/var/lib/tftpboot/efi''디렉토리에 복사한다.
 +
 +''BIOS'' 모드에서 필요한 설정파일
 +  * ''/var/lib/tftpboot/pxelinux.cfg/default'' : BIOS모드의 부트화면 설정메뉴
 +
 +
 +''UEFI'' 모드에서 필요한 설정파일
 +  * ''/var/lib/tftpboot/efi/grub.cfg'' : UEFI모드의 부트화면 설정메뉴
  
-===== dhcpd.conf =====+===== /etc/dhcp/dhcpd.conf =====
  
 <WRAP prewrap> <WRAP prewrap>
줄 44: 줄 73:
         next-server 10.0.0.9;         next-server 10.0.0.9;
  
-        if option architecture-type = 00:07 { +        # EFI Architecture system 
-            filename "BOOTX64.EFI";+        #        Intel x86PC 
 +        #        NEC/PC98 
 +        #        EFI Itanium 
 +        #        DEC Alpha 
 +        #        Arc x86 
 +        #        Intel Lean Client 
 +        #        EFI IA32 
 +        #        EFI BC(BootController) 
 +        #        EFI Xscale 
 +        #        EFI x86-64 
 +        if option architecture-type = 00:07 or option architecture-type = 00:09 
 +            filename "efi/shim.efi";   # 파일 위치는 /var/lib/tftpboot 디렉토리를 기준으로 하며 grub.cfg 파일은 동일한 디렉토리에 존재해야함
         }         }
         else {         else {
-            filename "pxelinux.0";+            filename "pxelinux.0";   # 파일 위치는 /var/lib/tftpboot 디렉토리를 기준으로 하며 pxelinux.cfg/default 파일이 존재해야함
         }         }
     }     }
줄 55: 줄 95:
 </WRAP> </WRAP>
  
-===== /var/lib/tftpboot/grub.cfg =====+===== /var/lib/tftpboot/efi/grub.cfg =====
  
 <WRAP prewrap> <WRAP prewrap>
-<code vim /var/lib/tftpboot/grub.cfg>+<code vim /var/lib/tftpboot/efi/grub.cfg>
 set default="1" set default="1"
  
줄 105: 줄 145:
 </WRAP> </WRAP>
  
-==== CentOS.menu.efi ====+==== /var/lib/tftpboot/efi/CentOS.menu.efi ====
  
 <WRAP prewrap> <WRAP prewrap>
-<code vim>+<code vim /var/lib/tftpboot/efi/CentOS.menu.efi>
 menuentry 'Install CentOS 7' --class fedora --class gnu-linux --class gnu --class os { menuentry 'Install CentOS 7' --class fedora --class gnu-linux --class gnu --class os {
  linuxefi /CentOS/7/isolinux/vmlinuz inst.repo=http://10.0.0.9/media/CentOS7  linuxefi /CentOS/7/isolinux/vmlinuz inst.repo=http://10.0.0.9/media/CentOS7
줄 116: 줄 156:
 </WRAP> </WRAP>
  
 +===== 참조링크 =====
 +  * https://docs.redhat.com/ko/documentation/red_hat_enterprise_linux/6/html/installation_guide/s1-netboot-pxe-config#s1-netboot-pxe-config-bios
 +  * https://datatracker.ietf.org/doc/html/rfc4578
  
  • pxe_server_-_uefi.1729139379.txt.gz
  • 마지막으로 수정됨: 2024/10/17 04:29
  • 저자 koov