如何使用dtb方式启动内核

这篇文章给大家介绍如何使用dtb方式启动内核,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

成都创新互联是一家集网站建设,江山企业网站建设,江山品牌网站建设,网站定制,江山网站建设报价,网络营销,网络优化,江山网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

主要使用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内核就能启动了。

关于如何使用dtb方式启动内核就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


文章名称:如何使用dtb方式启动内核
文章来源:http://pwwzsj.com/article/jdosoc.html