편집하다

편집하다

mini.isoiPXE 및 NFS를 통해 Ubuntu의 네트워크 부팅을 설정하려고 합니다 . 저는 현재 스크립트 대신 iPXE 명령줄을 통해 모든 것을 단계별로 진행하고 있습니다. NFS가 활성화된 iPXE를 구축했는지 확인했는데, initrd.gz제대로 작동할 수 있기 때문에 제대로 작동하는 것 같습니다. 하지만 iPXE에 커널이 무엇인지 알려주는 방법을 알 수 없습니다. 파일이 커널일 것이라고 가정했지만 linuxiPXE에 해당 파일을 사용하라고 지시하면 Exec format error (http://ipxe.org/2e008081).

더 자세히 설명하면 시스템 설정 방법은 다음과 같습니다.

  1. mini.iso는 QNAP TurboNAS에 공유 폴더로 탑재되어 NFS를 통해 게스트 액세스가 활성화됩니다.
  2. 새로운 서버 PXE 부팅, TFTP를 통해 iPXE 체인 로드
  3. <Ctrl-B>iPXE 명령줄에 들어갔습니다 .
  4. initrd nfs://guest@<nfs ip address>/Ubuntu1604Mini/initrd.gz잘 작동해요
  5. kernel nfs://guest@<nfs ip address>/Ubuntu1604Mini/linux위의 오류로 인해 놀랐습니다.

이 질문을 검색하는 데 어려움을 겪고 있습니다. 다른 모든 항목은 넷 부팅이 아닌 이미지를 가정하는 것 같아서 모든 지침은 디렉토리가 있다고 가정 casper하지만 casper/vmlinuzmini.iso의 구조는 매우 다른 것 같기 때문입니다.

이에 대한 도움을 주시면 대단히 감사하겠습니다! 감사해요!

편집하다

관련된 경우 모든 NFS 게스트 액세스는 읽기 전용입니다.

편집 2:

이것은 실제로 UEFI 문제인 것 같습니다. UEFI 환경으로 부팅하기 위해 mini.iso가 설정되지 않은 문서를 발견했습니다. 그래서 저는 이것을 Ubuntu 16.04 Server .ISO를 통해 작동시키려고 전환했지만 여전히 문제가 있습니다. 일부 간단한 웹 검색에서 Ubuntu 16.04의 vmlinuz가 EFI 스텁으로 컴파일되지 않은 것으로 보입니다. EFI/BOOT/BOOTx64.EFI 파일을 찾았지만 iPXE를 사용하여 이 파일을 체인로드하면 TFTP를 통해 Netbook 이미지를 찾으려고 시도하기 시작하므로 이것이 무엇을 하고 있는지, 어떤 인수를 전달할 수 있는지 100% 확신할 수 없습니다.

답변1

nfs의 데비안 라이브 부팅에서도 동일한 문제가 발생했습니다. ipxe 문서는 BIOS를 사용한 부팅 사례를 언급하지만 efi가 아닌 부팅 사례를 언급합니다. 앞서 언급한 솔루션은 efi와 관련이 있습니다.

imgargs 라인에 initrd=initrd_file_name 매개변수를 추가합니다.

이 정보의 출처는 다음과 같습니다.http://forum.ipxe.org/showthread.php?tid=7522

공식 문서에서는 찾을 수 없지만 efi에서는 작동합니다.

관련 정보