Serva를 통해 PXE를 통해 사용자 정의 Ubuntu 이미지를 부팅하면 커널 패닉이 발생합니다.

Serva를 통해 PXE를 통해 사용자 정의 Ubuntu 이미지를 부팅하면 커널 패닉이 발생합니다.

배경

ddUSB 디스크 드라이브의 명령을 통해 Ubuntu 20.04 "사용자 정의"img를 만들었습니다. Serva다음을 PXE 서버로 사용합니다 .Serva지도 시간.

공식 Ubuntu 20.04.4 ISO PXE 부팅이 성공했습니다. "사용자 정의" 이미지를 PXE 부팅하면 올바르게 다운로드되지만 커널 패닉이 vmlinuz발생합니다 .initrdinitrd

질문

이미지 파일(루트 파티션 폴더)의 모든 파일을 복사하여 Serva의 저장소에 Linux 자산을 추가하는 것이 맞습니까 NWA_PXE/{my customized image name}?

이 접근 방식이 올바른 경우 initrd부팅 시 일부 커널 모듈(예: SMB 또는 CIFS)이 누락되어 커널 패닉이 발생할 수 있습니까?

이는 다음 기사에서 영감을 얻었습니다.PXE를 사용하여 사용자 지정 Linux 이미지 부팅


오류 코드는 다음과 같습니다.

[ 1.437739]  ---[ end Kernel panic - not syncing: Attempted to kill init! exit code=0x00000200 ]---

ServaAsset.inf 설정은 다음과 같습니다.

[PXESERVA_MENU_ENTRY]
asset    = customized img beta
platform = amd64

kernel_bios    = /NWA_PXE/$HEAD_DIR$/casper/vmlinuz
append_bios    = showmounts toram root=/dev/cifs initrd=/NWA_PXE/$HEAD_DIR$/casper/initrd boot=casper netboot=cifs nfsroot=//$IP_BSRV$/NWA_PXE_SHARE/$HEAD_DIR$ NFSOPTS=-ouser=serva,pass=avres,sec=ntlmv2,vers=2.0,ro ip=dhcp ro ipv6.disable=1

kernel_efi64   = /NWA_PXE/$HEAD_DIR$/boot/vmlinuz-5.11.0-40-generic
append_efi64   = showmounts toram root=/dev/cifs initrd=/NWA_PXE/$HEAD_DIR$/boot/initrd.img-5.11.0-40-generic boot=casper netboot=cifs nfsroot=//$IP_BSRV$/NWA_PXE_SHARE/$HEAD_DIR$ NFSOPTS=-ouser=serva,pass=avres,sec=ntlm,vers=1.0,ro ip=dhcp ro ipv6.disable=1



답변1

PXE 부팅이 가능한 Linux 배포판에는 INITRD스크립트에 initIP 가져오기, DNS 클라이언트 설정, CIFS 또는 NFS 설치(또는 배포판이 라이브 버전인 경우)와 같은 PXE 부팅 관련 작업을 처리할 수 있는 특수 코드가 있습니다. ). 이 코드가 없으면 init해당 부팅 이미지에 대한 적절한 "루트 변경"이 이루어지지 않게 되지만 init명령 해석기(ash)에 제어권을 반환해서는 안 되는 스크립트이므로 다음과 같은 결과가 표시됩니다.

[ end Kernel panic - not syncing: Attempted to kill init! exit code=0x00000200 ]---

귀하의 경우 PXE 부팅 기능이 필요한 경우 PXE 지원 배포로 시작한 다음 특정 기능을 추가하는 것이 가장 좋습니다. 예를 들어 라이브 배포를 사용하고 포함된 squashfs 이미지에 필요한 기능을 추가합니다.

Serva는 특정 배포판의 PXE 버그를 수정하기 위해 보충 INITRD를 여러 번 생성하거나 단순히 필수 프로토콜에 대한 지원이 부족하다는 점(예: 부팅 INITRD 수준 CIFS 지원) ​​등을 염두에 두십시오.

관련 정보