PXE 서버를 성공적으로 설치했으며 여기에서 CentOS 운영 체제를 부팅하고 설치했습니다. 그러나 부팅 SystemRescueCD를 구성하려고 하면 계속해서 멈추게 됩니다.
:: Mounting '/dev/disk/by-label/' to '/run/archiso/bootmnt'
Waiting 30 seconds for device /dev/disk/by-label/ ...
ERROR: '/dev/disk/by-label/' device did not show up after 30 seconds...
나는 쉘에 던져졌고 /dev/disk/by-label 경로가 존재하지도 않습니다. 이는 올바른 이미지를 로드하지도 않는다는 생각을 갖게 합니다.
이것은 pxelinux.cfg/default
파일 입니다
default menu.c32
prompt 0
timeout 30
MENU TITLE Linux Installation Menu
LABEL centos7_x64_vps
MENU LABEL CentOS 7 X64 - VPS
KERNEL networkboot/vmlinuz
APPEND initrd=networkboot/initrd.img inst.repo=ftp://devbox.server.net/pub/CentOS7 ks=ftp://devbox.server.net/pub/CentOS7/centos7-vps.cfg
LABEL centos7_x64_phy
MENU LABEL CentOS 7 X64 - Physical
KERNEL networkboot/vmlinuz
APPEND initrd=networkboot/initrd.img inst.repo=ftp://devbox.server.net/pub/CentOS7 ks=ftp://devbox.server.net/pub/CentOS7/centos7-phy.cfg
LABEL centos7_x64_manual
MENU LABEL CentOS 7 X64 - Manual
KERNEL networkboot/vmlinuz
APPEND initrd=networkboot/initrd.img method=ftp://devbox.server.net/pub/CentOS7 devfs=nomount
LABEL sysresccd
MENU LABEL SystemRescueCD - Live Linux
KERNEL sysresccd/boot/x86_64/vmlinuz
INITRD sysresccd/boot/intel_ucode.img,sysresccd/boot/amd_ucode.img,sysresccd/boot/x86_64/sysresccd.img
APPEND archisobasedir=sysresccd archiso_http_srv=http://172.168.1.11/ checksum
SYSAPPEND 1
시작하는 동안 일반적으로 다음과 같은 로딩 메시지가 나타납니다.
Loading sysrescuecd/boot/x86_64/vmlinuz........
Loading sysrescuecd/boot/intel_ucode.img.....
Loading sysrescuecd/boot/amd_ucode.img...
Loading sysrescuecd/boot/x86_64/sysresccd.img.............................
그런데 왜 시작할 수 없는지 이해가 안 돼요. 트래픽을 스니핑해 보았지만 squashfs를 다운로드하기 위해 http 서버에 연결하려고 시도하지도 않습니다. HTTP 서버는 일반적으로 표시되며 문제 없이 수동으로 파일을 다운로드할 수 있습니다.
답변1
pxe와 시스템 복구 CD를 사용해도 똑같은 문제가 발생했습니다. 이는 http 매개변수를 무시하고 물론 정의되지 않은 로컬 iso 설치/부팅 코드로 이동하는 것으로 나타났습니다.
"SYSAPPEND" 옵션은 syslinux 5.10+에서만 작동합니다. pxelinux.0 부트로더 버전이 그보다 오래되어서 이 옵션을 인식하지 못하는 것 같습니다. 제가 했던 "IPAPPEND 1"로 변경하시거나, pxelinux.0을 업그레이드 하시면 됩니다.
여기서 근본적인 문제는 pxe_http 후크가 SYSAPPEND/IPAPPEND에서 제공하는 커널 매개변수에 "ip" 키 값을 기대한다는 것입니다. 이 설정이 없으면 모든 http 코드가 무시됩니다.
바라보다: https://github.com/rcrowley/archiso/blob/master/archiso/initcpio/hooks/archiso_pxe_http
그리고 https://wiki.syslinux.org/wiki/index.php?title=SYSLINUX#SYSAPPEND_bitmask