로컬 미러에서 Debian 설치 프로비저닝: 디스크가 감지되지 않음

로컬 미러에서 Debian 설치 프로비저닝: 디스크가 감지되지 않음

후속 조치로이 문제, 나는 데비안(스퀴즈) 설치 과정을 완전히 자동화하려고 합니다. 지금까지 나는 메인 데비안 DVD의 ISO 이미지를 성공적으로 마운트하고 FTP를 통해 클라이언트에 제공했습니다. 문제는 하드 드라이브를 감지하려고 할 때 클라이언트가 멈춘다는 것입니다. 특정 시간 초과 간격이 지나면 감지된 파티션의 (빈) 목록이 표시되고 파티션을 편집하거나 계속할 수 있는 옵션이 제공됩니다. 물론 파티션이 감지되지 않으므로 두 옵션 모두 실패합니다.

디버깅을 시도하기 위해 Debian DVD 자체에서 호스트를 부팅하고 debconf 우선 순위가 낮은 고급 설치를 선택했습니다. 설치 프로세스 중에 완료되는 단계 중 하나는 마술처럼 보입니다. "CD에서 설치 구성 요소 다운로드"라는 단계입니다. 이는 이전에 시도한 것보다 더 많은 모듈을 검색하는 것처럼 보였으며 결과적으로 디스크 감지에 성공했습니다. 특히 이 단계는 DVD에 있는 데비안 이미지의 "풀" 디렉터리를 검색하는 것처럼 보이지만 사전 설정은 그렇지 않습니다.

전체 설치를 수동으로 진행하고 d-i선택 항목을 검색해 보았습니다.

 debconf-get-selections --installer > installer_sels.txt

그러나 나는 특별히 도움이 되는 것을 찾지 못했습니다. VT 4( )의 메시지 /var/log/syslog도 별로 도움이 되지 않습니다. 모듈 누락에 대한 메시지와 불만 사항이 두 경우 모두 동일하기 때문입니다(실제 DVD 및 FTP ISO 설치).

내가 여기서 무엇을 놓치고 있는 걸까요? DVD에서 다른 모듈을 로드하도록 사전 설정 파일에 무언가를 추가할 수 있습니까? 이전에 이것을 시도한 사람의 제안이 있습니까?

내 프로비저닝 파일의 관련 줄:

d-i mirror/protocol string ftp
d-i mirror/ftp/hostname <FTP server IP>
d-i mirror/ftp/directory /<FTP dir>/debian

편집: 추가 세부정보

  • 나는 팔로우한다이 가이드
  • 저는 FTP를 통해 데비안 압축 DVD를 제공합니다. ISO 이미지를 만들기 위해 다음을 수행했습니다.

    dd if=/dev/cdrom of=/path/to/debian_amd64.iso

  • amd64로 부팅합니다netboot/netboot.tar.gz영상.
  • 내 시작 매개변수는

... linux26

append ... auto=true priority=critical preseed/url=ftp://path to preseed

나는 linux26다른 곳에서 읽은 답변을 기반으로 이전 커널 문제를 극복하는 방법을 의도적으로 추가했습니다(지금은 어디인지 기억할 수 없음).

답변1

어리석은 말이지만, 내가 어디를 봐야 할지 안다면 대답은 데비안 포럼에 있을 것입니다. 짐작하셨듯이 Guardian님, 이것은 initrd와 관련이 있습니다. 문제는 DVD 이미지 initrd에 네트워크 부팅보다 더 많은 모듈이 포함되어 있다는 것입니다. 여기서 관련된 것은 SATA 드라이버입니다. 그래서 저는 기사 9의 조언을 따랐습니다.저것스레드, 그것은 매력처럼 작동합니다.

링크가 끊어진 경우를 대비해 여기에 솔루션 전체를 인용하고 있습니다.

나는 이 정확한 설정을 얻으려고 미친 듯이 노력해왔고 해결책은 매우 간단하다는 것이 밝혀졌습니다.

네트워크 부팅 이미지의 initrd에는 ide 또는 sata 드라이버가 포함되어 있지 않으며 일반 설치 중에 검색해야 합니다. DVD에 없는지 또는 설치 프로그램이 이를 감지하거나 예상하지 못하는지 확실하지 않습니다. DVD 이미지(또는 설치 CD)를 사용합니다. 하지만 해결책이 있는데, 그것은 기존 드라이버를 사용하여 자신만의 initrd.gz를 만드는 것입니다.

나는 여기에서 그것을 적응시켰다

http://wiki.openvz.org/Modifying_initrd_image

http://ubuntuforums.org/archive/index.php/t-423963.html

먼저 네트워크 부팅 initrd.gz와 네트워크 부팅 설치 CD를 얻었지만 DVD initrd.gz도 괜찮을 것이라고 생각했습니다.

mkdir netboot-initrd-dir mkdir cd-initrd-dirgunzip netboot-initrdgunzip cd-initrd cd netboot-initrd-dir cpio -i < ../netboot-initrd cd ../cd-initrd-dir cpio -i < ./ CD-initrd

이제 두 개의 inird.gz 파일의 내용을 포함하는 두 개의 디렉터리가 있으며 다음을 통해 각 디렉터리의 드라이버 파일을 볼 수 있습니다.

./netboot-initrd-dir -iname *.ko 찾기 ./cd-initrd-dir -iname *.ko 찾기

CD에는 더 많은 내용, 특히 ide ​​및 sata 드라이버가 포함되어 있습니다. 더 작은 이미지가 필요하기 때문에 이를 더 정확하게 이해할 수 있지만 다음과 같이 처리했습니다.

cp -nr cd-initrd-dir/lib/modules/2.6.32-5-486/kernel/* netboot-initrd->dir/lib/modules/2.6.32-5-486/kernel/

이제 다시 넣으면 됩니다.

cd netboot-initrd-dir 검색 cpio -H newc -o > ../new-netboot-initrd cd ../ gzip ./new-netboot-initrd

이제 해당 파일을 가져와서 initrd.gz 또는 이와 유사한 tftp 디렉토리에 붙여 넣을 수 있어야 하며 이제 디스크를 감지할 것입니다!

도움이 되었기를 바랍니다.

메뉴

답변2

PXE를 설정하기 위해 수행한 단계를 직접 연결할 수 있습니까? 언급된 버그는 오래된 커널인 것 같습니다. 도움을 받으려면 더 자세한 정보가 필요합니다.

고쳐 쓰다:

~에서어떻게마지막 단계에서 귀하가 제공한 것(부팅 이미지 제공), Debian 미러에 대한 직접 링크 사용(예:안정적인 릴리스) 최신 커널을 다운로드합니다(리눅스) 메모리 디스크를 초기화하고 (초기화 파일 gz).

관련 정보