Chinaunix首页 | 论坛 | 博客
  • 博客访问: 178015
  • 博文数量: 35
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 305
  • 用 户 组: 普通用户
  • 注册时间: 2016-02-01 12:35
个人简介

不断超越自己,将更强大!

文章分类

全部博文(35)

文章存档

2022年(1)

2017年(5)

2016年(29)

我的朋友

分类: 嵌入式

2016-05-23 12:40:27

          今天尝试编译了一下Linux 3.9.10,最后提示以下错误。
 Kernel: arch/arm/boot/Image is ready
  Kernel: arch/arm/boot/zImage is ready
multiple (or no) load addresses: 
This is incompatible with uImages
Specify LOADADDR on the commandline to build an uImage
make[1]: *** [arch/arm/boot/uImage] 错误 1
make: *** [uImage] 错误 2

      为了对比,编译了一下:Linux 3.9.8,是能正常生成uImage的,因此应该不是mkimage工具的错误,可能是内核配置或是其他问题。经过认真分析内核的配置,找到如下关于dtb 文件的问题(设备树文件:针对具体的开发板等)。
在boot选项里有一个:
[ ] Use appended device tree blob to zImage (EXPERIMENTAL) 
把device tree blob文件附加到:zImage,这个选项默认为打开的,关闭即可正常的编译出uImage。




        网上有相似的解决方式,如在编译时加入:LOADADDR参数。但是我觉得,去掉这个选项是应该的,因为目前我的开发板文件dtb,是另外烧写的。

       编译成功后,下载到板子上,成功引导了UBI根文件系统,一切正常。

阅读(5816) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~