새로 컴파일된 Linux 커널 부팅

새로 컴파일된 Linux 커널 부팅

저는 Essential Linux Device Drivers라는 책을 읽기 시작했습니다. 새 커널로 컴파일하고 부팅하는 과정을 따르고 있습니다. 그러나 새로 컴파일된 커널로 부팅할 수 없습니다. grub에서 새 커널을 선택한 다음 ..아무 것도...화면이 동일하게 유지됩니다.

책에 설명된 대로 내가 취하고 있는 단계는 다음과 같습니다(책의 기반이 되는 커널 2.6.24를 사용하고 있습니다).

cd /usr/src/linux-2.6.24 # the base dir of the kernel I downloaded
make clean
cp arch/x86/configs/i386_defconfig .config
make bzImage
cp arch/x86/boot/bzImage /boot/vmlinuz

그 책에서는 이렇게 말합니다.

새 부팅 이미지 도착에 대해 부트로더에 알려야 할 수도 있습니다. GRUB 부트로더를 사용하는 경우 이를 자동으로 파악합니다.

제 경우에는 GRUB에서 이 커널을 선택할 수 있는 옵션이 없었기 때문에 자동으로 알아내지 못했습니다. 그래서 터미널에 update-grub을 입력하여 수동으로 수행했습니다. 그리고 이것도 작동하지 않았습니다. 그러나 파일 이름을 vmlinuz에서 vmlinuz-2.6.24로 변경하고 update-grub을 입력하면 이를 선택했습니다. 그래서 책 11페이지에는 이미 여러 가지 내용이 빠진 것 같습니다.

책에는 기계를 재부팅하라고 나와 있습니다.

어쨌든 이제 GRUB에서 이 커널을 선택할 수 있지만 위에서 말했듯이 제대로 부팅되지 않고 화면에 아무 것도 나타나지 않고 전혀 바뀌지 않습니다. 그럼 내가 뭔가를 놓치고 있는 걸까? 나는 책의 지시를 정확하게 따랐다. 나는 이 책을 구입하는데 €50를 썼는데 지금은 이 문제 때문에 11페이지를 넘길 수 없습니다.

VirtualBox에서 Ubuntu를 사용하고 있다는 사실이 문제가 되지 않는다고 생각합니까? 가상 머신 Ubuntu를 부팅하는 동안 grub에 들어가서 새로 컴파일된 커널을 선택했는데 이것이 어떻게 문제가 될 수 있는지 알 수 없습니다.

답변1

Ubuntu에는 설치를 수행하는 Debian에서 가져온 스크립트가 있습니다. 커널을 컴파일한 후 실행 sudo make modules_install install하면 커널이 올바르게 설치됩니다.

나중에 편집:여기우분투와 데비안이 사용하는 스크립트입니다. 위의 설치 명령을 실행하고 distro 관련 설치를 수행하면 커널 Makefile에 의해 자동으로 호출됩니다.

답변2

grub.conf 파일에는 다음과 유사한 항목이 있어야 합니다.

title My Linux Kernel
root (hd0,0)
kernel /boot/gentoo-kernel root=/dev/sda1

우분투 커널에는 다음과 같은 것이 있을 수 있습니다.

initrd /boot/initrd.img

하드웨어에서 커널을 컴파일할 때는 이것이 필요하지 않습니다. 이로 인해 문제가 발생할 수 있습니다.

grub.conf 파일에 대해 의견을 보내 주시면 살펴보겠습니다. 그렇지 않으면 구성이 잘못될 수 있습니다.

이전 커널에는 최신 하드웨어에 필요한 드라이버가 없을 수도 있습니다.

최신 우분투 시스템은 많은 문제 없이 이전 커널 버전으로 돌아가지 않습니다.

해당 커널 버전 근처의 버전이나 kernel.org의 최신 커널 버전을 실행하는 이전 우분투를 사용해 볼 수 있습니다.

답변3

각 Linux 배포판에는 패키지 배포에 대한 자체 메커니즘과 정책이 있습니다. 이는 커널에서도 마찬가지입니다. 대부분의 배포판은 주로 바이너리 패키지를 제공하는 도구를 사용하여 컴파일 프로세스를 숨기고 있습니다.

특정 Linux 배포판에서 사용자 정의 커널을 컴파일하려면 시스템을 손상시키지 않고 자신의 방식대로 수행하는 방법에 대한 이 배포 방법을 따라야 합니다.

Ubuntu에는 Achlinux, Redhat 또는 Gentoo와 같은 특정 방식이 있습니다.

Ubuntu의 경우 여기 문서를 따르십시오.https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel

관련 정보