我在 BeableBoard-xM 上成功将 Linux 内核从 2.6.32.61 升级到 3.0.7,步骤如下:
- 从 kernel.org 下载并解压内核源代码 3.0.7
- 复制内核源代码
/usr/src
- 配置内核(
make menuconfig
) - 构建内核 (
make
) - 安装内核 (
make install
)
但是,重新启动 BB-xM 后,uname -r
显示:2.6.32。在我看来,引导加载程序(U 启动)必须手动配置才能启动新内核。
root@beagleboard:/boot# ls -l
total 14172
lrwxrwxrwx 1 root root 74 Jun 15 2013 MLO -> MLO-beagleboard-1.5.0+r24+gitr04b1732220078d47c18a84cbafc52e45db71f13d-r24
-rwxr-xr-x 1 root root 23852 Jun 14 2011 MLO-beagleboard-1.5.0+r24+gitr04b1732220078d47c18a84cbafc52e45db71f13d-r24
-rw-r--r-- 1 root root 373953 Jul 26 2011 Module.symvers-2.6.32
-rw-r--r-- 1 root root 1451022 Jul 26 2011 System.map-2.6.32
-rw-r--r-- 1 root root 225447 Feb 13 16:05 System.map-2.6.32.61
-rw-r--r-- 1 root root 225447 Feb 13 16:03 System.map-2.6.32.61.old
-rw-r--r-- 1 root root 605665 Mar 29 2014 System.map-3.0.7
-rw-r--r-- 1 root root 73996 Jul 26 2011 config-2.6.32
-rwxr-xr-x 1 root root 284788 Apr 1 2011 u-boot-beagleboard-2011.02+r75+gitrc7977858dcf1f656cbe91ea0dc3cb9139c6a8cc8-r75.bin
drwxr-xr-x 2 root root 4096 Jun 15 2013 u-boot-scripts
lrwxrwxrwx 1 root root 83 Jun 15 2013 u-boot.bin -> u-boot-beagleboard-2011.02+r75+gitrc7977858dcf1f656cbe91ea0dc3cb9139c6a8cc8-r75.bin
lrwxrwxrwx 1 root root 13 Jun 15 2013 uImage -> uImage-2.6.32
-rw-r--r-- 1 root root 3203088 Jul 26 2011 uImage-2.6.32
-rw-r--r-- 1 root root 1402688 Feb 13 16:05 vmlinux-2.6.32.61
-rw-r--r-- 1 root root 1402688 Feb 13 16:03 vmlinux-2.6.32.61.old
-rw-r--r-- 1 root root 5144292 Mar 29 2014 vmlinux-3.0.7
有什么想法可以配置引导加载程序吗?
答案1
您需要使用新内核制作一个 uImage:make uimage
并将其复制到 例如/boot/uImage-3.0.7
。然后你可以:
- 要么让 uImage 指向它
cd /boot; ln -sf uImage-3.0.7 uImage
: - 或复制:
cd /boot; cp uImage-3.0.7 uImage
.
你能发布 的输出ls -l /boot
吗?
或者,您可以调整 U-boot 脚本来加载新的 uImage-3.0.7。我假设它在目录下u-boot-scripts
。