查看: 1995|回复: 1

[教程] 【TQ335X技术教程】如何使用dtb方式启动内核

[复制链接]
  • TA的每日心情
    奋斗
    2018-3-5 10:57
  • 签到天数: 112 天

    连续签到: 1 天

    [LV.6]常住居民II

    发表于 2015-4-22 12:07:28 | 显示全部楼层 |阅读模式
    分享到:

        本期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



    回复

    使用道具 举报

    该用户从未签到

    发表于 2015-5-4 17:33:31 | 显示全部楼层
    支持一下
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条



    手机版|小黑屋|与非网

    GMT+8, 2025-1-27 07:59 , Processed in 0.119830 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.