grub2에 대한 심볼릭 링크(예: pxelinux)

grub2에 대한 심볼릭 링크(예: pxelinux)

grub2를 사용하여 pxelinux와 같은 심볼릭 링크를 만들고 싶습니다. 하지만 어떻게 해야할지 모르겠습니다. 목표는 IP에 동적으로 전달할 수 있는 다양한 프로필을 갖는 것입니다.

지금까지는 Grub2가 작동하지만 IP에 대한 다른 구성 파일을 제공할 수 없으며 항상 grub.cfg가 필요합니다. 또한 실제로 사용하려는 구성 파일에 대한 심볼릭 링크인 grub.cfg-IP -> 다른 구성 파일 ->도 시도했습니다.

어쩌면 누군가가 이것을 알아 냈을 수도 있습니다. Grub2 매뉴얼은 별로 도움이 되지 않습니다.

답변1

PXELINUX는 "심볼릭 링크를 실행"하지 않습니다. 단순히 이름에 클라이언트의 IP나 MAC 주소 또는 그 일부가 포함된 구성 파일을 다운로드합니다. 일치하는 파일이 심볼릭 링크라는 사실은 전적으로 사용자와 해당 파일을 PXELINUX에 제공하는 TFTP 서버 사이의 문제입니다.

PXELINUX와 달리 GRUB는 기본적으로 단일 구성 파일만 찾습니다 grub.cfg. 이것이 당신이 제공해야 할 것입니다. GRUB이 클라이언트의 IP 주소에 따라 이름이 달라지는 구성 파일을 사용하도록 하려면 GRUB에 이를 알려주어야 합니다.

그런 다음 해당 프로필은 GRUB에 다른 프로필을 로드하도록 지시할 수 있으며 이름을 지정할 때 GRUB 환경 변수를 사용할 수 있습니다.

따라서 GRUB이 이라는 구성 파일을 사용하도록 하려면 grub.cfg-<IP address>먼저 grub.cfgGRUB가 예상하는 위치에 매우 작은 파일을 생성하고 다음과 같이 읽어야 합니다.

configfile grub.cfg-${net_default_ip}

그러면 GRUB에 클라이언트의 IP 주소가 뒤에 붙은 파일 이름을 사용하여 새 구성 파일을 다운로드하도록 지시해야 합니다.

절대 경로를 사용하여 새 구성 파일을 지정할 수도 있습니다.

configfile (tftp,${net_default_server})/some/path/grub.cfg-${net_default_ip}

새 구성 파일을 단 한 줄로 정의하는 별도의 파일을 사용하고 싶지 않다면 (또는 사용 중인 아키텍처)를 grub.cfg사용하여 grub-mkimage -c <grub.cfg containing the configfile command> -O i386-pc-pxe <other parameters...>GRUB PXE 부팅 이미지에 이 한 줄 구성을 포함 할 수 있습니다.


클라이언트가 올바른 정보를 받고 있는지 확인하고 차례로 올바른 파일을 요청하는 것과 tcpdump같은 방법을 사용하여 PXE 클라이언트와 DHCP/TFTP 서버 간의 네트워크 트래픽을 덤프하는 것이 유용하다는 것을 알았을 것입니다 . 그렇죠?wireshark

관련 정보