4659|1

86

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

如何使用dtb方式启动内核 [复制链接]

    本期TQ335X技术教程,由技术博主girlkoo编写,主要使用dtb方式启动LINUX内核的过程。采用DTB方式启动LINUX内核,主要在于使用dtb可以减少linux内核版本的数量。同一份linux 内核代码可以在多个板卡上运行,每个板卡可以使用自己的dtb文件。

  老式的u-boot使用ATAGS的方式启动linux内核,本文使用新式的dtb方式启动内核。

  我使用的内核是linux-3.17.2版本,下面开始编译内核。


  (1) 解压内核

  1. tar jxf linux-3.17.2.tar.bz2  
复制代码

   (2)配置linux内核,由于am335x在内核中都归为omap2系列,故可以使用如下命令:

  1. make ARCH=arm omap2plus_defconfig  
复制代码

 (3)编译内核:

  1. make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j8  
复制代码

我的linux工具链前缀是arm-linux-gnueabi-,这个需要根据自己的实际的工具链情况进行替换。


  (4)编译dtb:

  1. make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- am335x-evm.dtb  
复制代码

(5)制作启动盘:

  将SD格式化为FAT系统,将MLO、u-boot.img拷贝到根目录下。

  在根目录下创建boot目录,将编译好的zImage和am335x-evm.dtb拷贝到该目录下。


(6)u-boot命令行启动Linux内核

  1. load mmc 0 0x88000000 /boot/am335x-evm.dtb  
  2. load mmc 0 0x82000000 /boot/zImage  
  3. bootz 0x82000000 - 0x88000000  
复制代码

至此,Linux内核就能启动了。


  (7)小结


  从启动Log上分析,现在内核无法挂在根文件系统,在下一篇文章中,我会制作根文件系统。


相关产品:

TQ335XB标配套装:http://www.embedsky.com/Index.php?s=/Product/show/id/86.html


此帖出自ARM技术论坛

最新回复

如果能够详细的介绍一些device tree就好了  详情 回复 发表于 2015-4-22 13:17
点赞 关注
 

回复
举报

5968

帖子

8

TA的资源

版主

沙发
 
如果能够详细的介绍一些device tree就好了
此帖出自ARM技术论坛
 
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
有奖直播:当AI遇见仿真,会有什么样的电子行业革新之路?
首场直播:Simcenter AI 赋能电子行业研发创新
直播时间:04月15日14:00-14:50

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 13

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表