如何更新 ARM 设备的内核?我一直在使用的设备是A20-Olinuxino
LIME
board,Debian GNU/Linux 7.6 (wheezy)
图像从NAND
.
该uname -a
命令显示3.4.102
.我更新Wheezy
到Jessie
,但重新启动后该uname -a
命令仍然显示旧版本的内核(3.4.102)。在lib/modules
目录中有新版本(3.16.0-4-armp)的模块,在引导目录中有这些文件:
config-3.16.0-4-armmp script.bin uImage initrd.img-3.16.0-4-armmp System.map-3.16.0-4-armmp vmlinuz-3.16.0-4-armmp
为什么uname -a
不显示新版本的Kernel?PScat /etc/debian_version
显示新的Debian版本8.4。
答案1
原因是,在安装文件系统之前,内核是从闪存加载的。你需要
- 连接到串行端口(使用 USB-SERIAL-CABLE-F)
- 重新启动板并观察串行输出。
- 中断引导加载程序
- 将不同的内核映像加载到 RAM 中(通过 tftp 或类似方式)
- 将内核映像传输到闪存(不要覆盖旧内核)
- 配置引导加载程序以加载新映像。
实际命令取决于所使用的引导加载程序。如果有疑问,请随时 ping 该线程...