NFS를 사용한 PXE 부팅: /sbin/init: 해당 파일이나 디렉터리가 없습니다.

NFS를 사용한 PXE 부팅: /sbin/init: 해당 파일이나 디렉터리가 없습니다.

우분투 클라이언트를 사용하여 PXE 부팅을 설정하려고 합니다.

  • 내 토마토 라우터에서 dhcp-boot를 만들었습니다.
  • 내 FreeNas 상자에 tftp 데몬을 추가했습니다.
  • FreeNas 상자에 NFS 마운트를 추가했습니다.
  • NFS 마운트에 Ubuntu 11.10 제거
  • debootstrap 이미지에서 vmlinuz 및 initrd를 생성하고 이를 tftp 루트 디렉터리에 복사했습니다.
  • tftp 루트 디렉터리에 pxelinux.cfg/default 파일을 생성했습니다.

pxelinux.cfg/default에는 다음이 포함됩니다.

DEFAULT ubuntu-11.10

LABEL ubuntu-11.10
KERNEL vmlinuz-3.0.0-16-generic
APPEND root=/dev/nfs initrd=initrd.img-3.0.0-16-generic netboot=nfs nfsroot=192.168.1.160:/mnt/media/thinclient/base,nolock,ro ip=dhcp init=/linuxrc
ipappend 2

노드/클라이언트를 시작할 때 vmlinux 및 initrd를 로드하지만 /sbin/init를 로드하려고 하면 "패닉"이 발생합니다. 커널 패닉

프로세스가 내 nfs 서버에 액세스하고 데이터가 전달되는지 확인하기 위해 tcpdump를 사용했습니다. 또한 nfs 서버의 이미지에서 /proc 또는 /dev를 제거하면 노드에서 /dev 및/또는 /proc 디렉토리가 누락되었다고 불평합니다.

또한 init=/bin/bash 전달을 시도했지만 동일한 오류가 발생합니다.

내 노드에서 run-init: /sbin/init: no such file or directory오류가 발생하는 이유는 무엇입니까?

답변1

(물론) 내 잘못이다. /dev 노드를 nfs 서버에 올바르게 복사하지 않았습니다. 나는 그것이 문제라고 생각하고 수동으로 /dev 노드를 생성했지만 그것도 작동하지 않았습니다.

내가 한 일은 로컬 debootstrap 이미지를 압축하고 FreeBSD NFS 서버에 scp한 다음 로컬에서 압축을 푸는 것이었습니다.

그런 다음 완벽하게 작동했습니다.

관련 정보