【问题标题】:Attempting to boot new uImage尝试启动新的 uImage
【发布时间】:2018-10-16 22:07:33
【问题描述】:

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

所以我的问题是:

有没有办法让我在构建内核时对其进行版本控制?我可以设置“图像名称”,以便我知道它正在加载我的内核而不是某种类型的旧版图像??

【问题讨论】:

  • 标题与实际问题不符。
  • 您的图像文件是 uImage 类型,它是使用 mkimage 实用程序创建的。 mkimage-n [image name] 选项可以自定义包含在uImage 标题中的'Image Name'。

标签: linux linux-kernel embedded-linux


【解决方案1】:

也许Linux内核.config-file的CONFIG_LOCALVERSION-选项会对你有所帮助。

来自Kernel.org

随身携带一个备份内核,以防出现问题。这是 对于开发版本尤其如此,因为每个新版本 包含尚未调试的新代码。确保你保留一个 也备份与该内核对应的模块。如果你 正在安装与您的版本号相同的新内核 工作内核,在你做之前备份你的模块目录 一个 make modules_install。

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

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

一些有用的链接:12

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-22
    • 1970-01-01
    • 2013-09-27
    • 1970-01-01
    • 2022-07-28
    • 2012-07-18
    • 2012-09-23
    • 1970-01-01
    相关资源
    最近更新 更多