Home | 문태준 | 시스템어드민 메일링 | Sys Admin 세미나
Skip to end of metadata
Go to start of metadata

pxelinux 관련자료

pxelinux 작동원리

CentOS 에서 pxelinux.0 파일은 system-config-netboot 패키지에 들어있다.
이 안에 pxelinux 가 들어있다. pxelinux 는 syslinux 프로젝트의 일환으로 네트워크 부팅시 사용한다. http://syslinux.zytor.com/wiki/index.php/The_SYSLINUX_Project

http://syslinux.zytor.com/wiki/index.php/PXELINUX

  • First, it will search for the config file using the hardware type (using its ARP type code) and address, all in lower case hexadecimal with dash separators; for example, for an Ethernet (ARP type 1) with address 88:99:AA:BB:CC:DD it would search for the filename 01-88-99-aa-bb-cc-dd.
  • Next, it will search for the config file using its own IP address in upper case hexadecimal, e.g. 192.0.2.91 -> C000025B (you can use the included progam gethostip to compute the hexadecimal IP address for any host). If that file is not found, it will remove one hex digit and try again. Ultimately, it will try looking for a file named default (in lower case). As an example, if the boot file name is /mybootdir/pxelinux.0, the Ethernet MAC address is `88:99:AA:BB:CC:DD` and the IP address 192.0.2.91, it will try following files (in that order):

pxelinux 에서는 pxe 네트워크 부팅을 지원한다. system-config-netboot 패키지에서 자동으로 해주지만 이에 대한 설명은 다음과 같다.

tftp 서버에서 설정한 디렉토리가 /tftpboot 이라면 pxelinux.0 을 해당 디렉토리로 복사한다. 설정파일은 /tftpboot/pxelinux.cfg 디렉토리에 들어간다. 동일한 서버에서 여러개의 시스템을 부팅할 수 있는데 설정파일명은 부팅하는 시스템의 ip에 따른다.

처음에는 hardware type (ART type code) 과 주소(대쉬로 구분한 소문자 16진수)에서 검색을 한다.
그 다음에는 대문자 16진수의 ip 주소로 검색을 하며 파일이 없으면 뒷부분의 숫자를 하나씩 제거한 설정파일을 찾는다.
해당하는 것이 없으면 마지막으로 default (소문자) 를 검색한다.

IP 변환 프로그램

위와 같은 원리를 이용하여 ip별로 설정을 다르게 지정할 수 있다.
그러면 ip에 해당하는 대문자 16진수를 찾아야 하는데 syslinux 패키지에 들어있는 gethostip 프로그램을 이용하면 편리하다.

PHP 에서는 다음과 같이 사용
dechex 이용하여 10진수를 16진수로 변경하고 strtoupper 를 이용하여 소문자를 대문자로 변환함. ip에서 . 을 기준으로 문자를 나누어서 for 문 돌려서 처리하면 될 것임

VBS 에서는 hex function 이용 http://msdn.microsoft.com/en-us/library/8t2d9cx5(VS.85).aspx

WDS/RIS 에서 pxelinux 이용하기

윈도우즈 WDS/RIS 에서 PXELinux를 이용하여 리눅스 설치하는 내용도 있음 http://syslinux.zytor.com/wiki/index.php/PXELINUX#Deploy_Linux_from_Windows_WDS.2FRIS_server_using_PXELinux

syslinux 에서 멀티형태의 메뉴도 있으며 설치해야 할 종류가 다양해질 경우 유용할 것으로 보임

Labels
  • No labels