"Linux from Scratch"를 부팅하면 # 프롬프트가 표시되지 않습니다.

"Linux from Scratch"를 부팅하면 # 프롬프트가 표시되지 않습니다.

나는 팔로우해왔다처음부터 최소한의 Linux 시스템작은 설치 공간(10MB 이하)으로 Linux를 구축하기 위해.

나는 명령을 사용하여 실제로 이미지를 테스트하는 마지막 지점까지 오류가 없었다고 확신합니다.qemu-system-i386 -L . -hda minux.img

#튜토리얼에서 보여준 것처럼 실제로 프롬프트로 부팅하는 대신 Grub Rescue 프롬프트가 나타납니다. 부팅을 시도하기 위해 kernel /boot/kernel_namethen 을 사용했는데 boot결국 다음과 같이 실패했습니다. 그럽 2 출력

grub.conf내용은 튜토리얼의 내용과 동일합니다.

default 0
timeout 30
title Minux
root (hd0,0)
kernel /boot/vmlinux-2.6.21-1 root=/dev/hda1 rw

지금까지 내가 찾은 유일한 차이점은 fdisk내 시작 섹터가 2048이라는 점이었습니다. 이는 fdisk를 사용하여 설정할 수 있는 최소값이고 결과적으로 오프셋이 더 크기 때문입니다. 또 다른 차이점은 x86_64-pc grub을 사용하고 있으며 일부 busybox 라이브러리의 이름이 다르게 지정되어 있다는 점입니다. 하지만 이것이 부팅을 방해해서는 안 됩니다.

Linux가 작동하도록 절차를 어떻게 수정할 수 있습니까? 아니면 10MB 미만의 Linux 배포판을 만드는 더 좋은 방법이 있습니까?

답변1

작은 시스템을 만드는 것에 관한 두 번째 질문에 답해 보겠습니다. 우리는 x86을 기반으로 구축하고 있기 때문에 임베디드 칩에 굽기보다는 플래시 드라이브를 부팅하는 시스템을 만드는 것이 의도된 것 같습니다. 이는 매우 다른 이야기입니다.

디스크 이미지 삭제를 고려하고 cpio initramfs 를 사용하세요. 그런 다음 이렇게 부팅하십시오.

qemu-system-i386 -kernel vmlinuz -initrd root.cpio.gz

나는 더 많은 유연성을 갖고 있고 디스크 위치와 혼동할 필요가 없기 때문에 이것을 좋아합니다.

나도 제안한다grub4dos부트로더. 이름에 "dos"가 있음에도 불구하고 Linux 및 부팅 Linux 커널에서 설치할 수 있습니다. 설치는 mbr을 작성하고 213k 파일 하나를모든 파티션. grub4dos는 많은 파일 시스템을 인식합니다.


게다가, 귀하의 구성에서는 grub을 올바르게 설정하지 않은 것 같습니다.구조하다콘솔에 표시되었습니다. kernel /boot/kernel_name앞에 "root="를 입력해야 하더라도 마찬가지입니다 boot.

내 컴퓨터에서 qemu 게스트 커널은 디스크 이미지를 "/dev/hda" 대신 "/dev/sda"로 인식합니다.

관련 정보