최소 부팅 리눅스

최소 부팅 리눅스

나는 리눅스 자체를 부팅하려고합니다. 주로 학습 경험을 위해. 작은 하드 드라이브가 있어요ext4 파티션은 하나만 있습니다다음과 같습니다.

/bin/bash             
/dev/console
/boot/vmlinuz         
/boot/grub/grub.cfg
/boot/grub/i386-pc/*.mod

bash버전 3.0은 정적으로 링크되어 있으며 vmlinuz버전 3.16.2, grub버전 2.00rc1입니다. grub.cfg다음과 같습니다.

insmod linux
insmod search 
insmod ext2
insmod part_msdos
set timeout=5

menuentry 'Linux' {
    set the_root_uuid=a0225737-71c9-4d60-81e2-275dc078c3c1
    search --fs-uuid $the_root_uuid --set=root
    linux /boot/vmlinuz root=$root ro init=/bin/bash
}

시작하면 다음을 얻습니다.

kernel panic: VFS could not open device root (hd0,msdos1), or unknown block(0,0) error -6

내가 무엇을 놓치고 있나요?

답변1

커널에는 루트 파일 시스템(예: ahci sata 모듈 및 ext4 모듈)에 액세스하는 데 필요한 드라이버가 포함되어 있지 않습니다.

적절한 모듈을 로드하는 initrd/initramfs를 제공하거나 (모듈이 아닌) 필요한 드라이버를 정적으로 포함하는 커널을 컴파일해야 합니다.

어쨌든 rootfs에는 모듈을 로드하는 도구가 포함되어 있지 않으므로 비모듈식 커널을 구축하는 것이 좋습니다.

관련 정보