尝试启动新的uImage

时间:2018-10-16 22:07:34

标签: linux linux-kernel embedded-linux

我正在尝试通过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 ...

所以我的问题是:

我在构建内核时是否可以通过某种方式来对内核进行版本控制,我可以设置“映像名称”,以便知道其内核正在加载,而不是某种传统映像?

1 个答案:

答案 0 :(得分:0)

也许Linux内核CONFIG_LOCALVERSION文件的.config-选项会为您提供帮助。

来自Kernel.org

  

请随时准备备份内核,以防出现问题。这是   自从每个新版本发布以来,对于开发版本尤其如此   包含尚未调试的新代码。确保您保持   以及与该内核对应的模块的备份。如果你   正在安装与您的版本号相同的新内核   工作内核,请先备份模块目录   一个make modules_install。

     

或者,在编译之前,使用内核配置选项   “ LOCALVERSION”将唯一的后缀附加到常规内核   版。可以在“常规设置”菜单中设置LOCALVERSION。

因此,在内核配置期间,您可以在内核中添加一些明确的后缀,例如CONFIG_LOCALVERSION="-test_some_stuff"

一些有用的链接:12