我正在尝试通过uboot引导uImage,并且得到一些看似冲突的日志信息:
update Kernel1 tftp uImage-2.5 6.35. -digi-armv7a.LONEPEAK-Ver-4_33
Using FEC0 device
TFTP from server 10.12.1.77; our IP address is 10.12.1.205
Filename 'uImage-2.6.35-digi-armv7a.LONEPEAK-Ver-4_33'.
Load address: 0x94000000
Loading: #################################################################
#################################################################
###########################################
done
Bytes transferred = 2533360 (26a7f0 hex)
Calculated checksum = 0x49669c61
Updating partition 'Kernel1'
Erasing 128 KiB @ 0x08540000: 0%
Erasing 128 KiB @ 0x085e0000: 20%
Erasing 128 KiB @ 0x08680000: 41%
Erasing 128 KiB @ 0x08720000: 62%
Erasing 128 KiB @ 0x087c0000: 83%
Erasing: complete
Writing: 0%
Writing: 51%
Writing: complete
Verifying: 0%
Verifying: 51%
Verifying: complete
Writing Parameters to NVRAM
Update successful
上面显示更新成功,但是发出重新启动命令后,我得到:
scanning bus for devices... 1 USB Device(s) found
scanning bus for storage devices... 0 Storage Device(s) found
** Invalid boot device **
Booting partition 'Kernel0'
## Booting kernel from Legacy Image at 90007fc0 ...
Image Name: Linux-2.6.35.14-tjerbmx51_0005+
Created: 2018-10-16 21:35:37 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2533296 Bytes = 2.4 MB
Load Address: 90008000
Entry Point: 90008000
Loading Kernel Image ... OK
OK
Starting kernel ...
所以我的问题是:
我在构建内核时是否可以通过某种方式来对内核进行版本控制,我可以设置“映像名称”,以便知道其内核正在加载,而不是某种传统映像?
答案 0 :(得分:0)
也许Linux内核CONFIG_LOCALVERSION
文件的.config
-选项会为您提供帮助。
来自Kernel.org:
请随时准备备份内核,以防出现问题。这是 自从每个新版本发布以来,对于开发版本尤其如此 包含尚未调试的新代码。确保您保持 以及与该内核对应的模块的备份。如果你 正在安装与您的版本号相同的新内核 工作内核,请先备份模块目录 一个make modules_install。
或者,在编译之前,使用内核配置选项 “ LOCALVERSION”将唯一的后缀附加到常规内核 版。可以在“常规设置”菜单中设置LOCALVERSION。
因此,在内核配置期间,您可以在内核中添加一些明确的后缀,例如CONFIG_LOCALVERSION="-test_some_stuff"
。