x86_64 아키텍처에서 Linux 커널 3.2.36과 해당 소스 코드를 컴파일하려고 합니다. Linux 소스 코드 배포 디렉터리에서 다음 명령 세트를 실행했습니다.
make defconfig
make -j8
make install
make modules_install
update-initramfs -c -k 3.2.36
update-grub
새 파일을 가리키는 grub.cfg
다른 Linux를 로드하도록 파일을 업데이트했습니다 .initrd3.2.36.img
이제 머신을 재부팅할 때 부팅 옵션으로 이동하여 컴파일된 커널 3.2.36을 로드합니다. 성공적으로 시작되고 프롬프트와 함께 중지됩니다.
<initramfs>
위의 몇 줄에 다음 메시지가 나타납니다.
mount: mounting udev on /dev failed: No such device
w: devtmpfs not available falling back to tmpfs for /dev
BusyBox v 1.185
방금 접속했는데 ls
매우 제한된 명령 세트를 찾을 수 있었습니다.
Google에서 유용한 도움을 찾을 수 없습니다.
내 grub.cfg 내용
export linux_gfx_mode
if [ "${linux_gfx_mode}" != "text" ]; then load_video; fi
menuentry 'Ubuntu, with Linux 3.2.36' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root 40ac3762-2ffb-4aec-9e5d-f782f2b50b7e
linux /boot/vmlinuz-3.2.36 root=UUID=40ac3762-2ffb-4aec-9e5d-f782f2b50b7e ro quiet splash $vt_handoff
initrd /boot/initrd.img-3.2.36
}
menuentry 'Ubuntu, with Linux 3.2.36 (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root 40ac3762-2ffb-4aec-9e5d-f782f2b50b7e
echo 'Loading Linux 3.2.36 ...'
linux /boot/vmlinuz-3.2.36 root=UUID=40ac3762-2ffb-4aec-9e5d-f782f2b50b7e ro recovery nomodeset
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.2.36
}
submenu "Previous Linux versions" {
menuentry 'Ubuntu, with Linux 3.2.0-35-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root 40ac3762-2ffb-4aec-9e5d-f782f2b50b7e
linux /boot/vmlinuz-3.2.0-35-generic root=UUID=40ac3762-2ffb-4aec-9e5d-f782f2b50b7e ro quiet splash $vt_handoff
initrd /boot/initrd.img-3.2.0-35-generic
}
menuentry 'Ubuntu, with Linux 3.2.0-35-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root 40ac3762-2ffb-4aec-9e5d-f782f2b50b7e
echo 'Loading Linux 3.2.0-35-generic ...'
linux /boot/vmlinuz-3.2.0-35-generic root=UUID=40ac3762-2ffb-4aec-9e5d-f782f2b50b7e ro recovery nomodeset
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.2.0-35-generic
}
}
누군가 Linux 쉘을 구하고 컴파일된 커널에 사용자 인증을 추가하는 방법을 도와줄 수 있습니까?
나는 어떤 자료나 책도 읽을 준비가 되어 있습니다. 저에게 추천해주세요.