/media/src_prog/linux-3.5/
에서 까지 커널(3.5)을 구축 중입니다 /media/sda5_k/
. 다음 단계를 완료했습니다.
make O=/media/sda5_k/ menuconfig
make -j2 O=/media/sda5_k/
make O=/media/sda5_k/ modules_install
그것이 내려지면 make O=/media/sda5_k/ install
내가 얻는 것은 다음과 같습니다.
[root@localhost linux-3.5]# make O=/media/sda5_k/ install
sh /media/src_prog/linux-3.5/arch/x86/boot/install.sh 3.5.0 arch/x86/boot/bzImage \
System.map "/boot"
Cannot find LILO.
[root@localhost linux-3.5]#
나는 또한 수동으로 시도했습니다.
cp /media/sda5_k/arch/x86/bzImage /media/sda5_k/boot/
cp /media/sda5_k/arch/x86/System.map /media/sda5_k/boot/
반복했지만 make O=/media/sda5_k/ install
작동하지 않습니다.
저는 컴파일을 위해 Arch를 사용했고 부팅 프로세스는 Ubuntu의 GRUB2를 사용하여 수행되었습니다.
이 단계에서는 무엇을 해야 합니까?
편집하다:
디스크 드라이브:
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 65538047 32768000 83 Linux
/dev/sda2 65538048 98306047 16384000 83 Linux
/dev/sda3 98306048 122882047 12288000 83 Linux
/dev/sda4 122882048 1953523711 915320832 5 Extended
/dev/sda5 122884096 139268095 8192000 83 Linux
/dev/sda6 139270144 204806143 32768000 83 Linux
/dev/sda7 204808192 229384191 12288000 83 Linux
/dev/sda8 229386240 245770239 8192000 83 Linux
/dev/sda9 245772288 270348287 12288000 83 Linux
/dev/sda10 270350336 319502335 24576000 83 Linux
/dev/sda11 450578432 929523711 239472640 83 Linux
/dev/sda12 929525760 1953523711 511998976 83 Linux
/dev/sda13 319504384 450576383 65536000 83 Linux
df:
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 12245648 9913616 1717632 86% /
dev 1024756 0 1024756 0% /dev
run 1027708 328 1027380 1% /run
/dev/sda3 12245648 9913616 1717632 86% /
shm 1027708 112 1027596 1% /dev/shm
tmpfs 1027708 68 1027640 1% /tmp
/dev/sda7 12245648 1100504 10530744 10% /media/src_prog
/dev/sda5 8165804 436548 7319656 6% /media/sda5_k
/미디어/src_prog/-> 소스 파일을 저장하는 곳
/미디어/sda5_k/-> 리눅스 커널을 어디에 두고 싶은가?
/dev/sda1-> 우분투
/dev/sda2->사용하지 않은 오래된 우분투
/dev/sda3-> 아치(여기서: -D)
/dev/sda1/시작-> MBR에 바인딩된 우분투를 부팅합니다.
답변1
이것이 3.5에서도 작동하는지 확인하지 않았지만 커널 makefile은 Grub이 아닌 Lilo만 지원하는 것 같습니다. 이 파일과 initrd 또는 initramfs(initrd 또는 initramfs를 사용하는 경우)를 수동으로 복사한 후에 bzImage
는 Grub에게 새 커널을 알려야 합니다. 간단한 설정으로 update-grub
. 한 배포판의 커널을 부팅하기 위해 다른 배포판의 부트로더를 사용하고 있으므로 이 방법이 작동하지 않을 수 있으므로 Grub 구성 파일을 수동으로 편집해야 할 수도 있습니다. 이는 /boot/grub/menu.lst
Grub 레거시(Grub 0.9x) 및 /boot/grub.grub.cfg
Grub2(Grub 1.9x)에 적용됩니다.
Grub2의 경우 다음과 같은 항목이 필요합니다.
menuentry "Homemade 3.5 kernel" {
insmod ext2
set root='(hd0,msdos5)'
linux /boot/bzImage root=/dev/sda3 ro
}
답변2
여기서 시작할 필요는 없을 것 같습니다 make install
. 생성된 bzImage, System.map을 복사하면 됩니다 make modules_install
.
Arch Linux를 사용하고 계신 것 같은데, ABS를 선택해보시는 건 어떨까요? 예를 들어 최신 3.5 커널은 테스트 디렉터리에 있으므로 이렇게 하면 abs testings/linux
PKGBUILD 파일을 다운로드해야 하며 makepkg
패키지를 빌드 할 수 있습니다.