uboot linux配置文件,UBoot使用指南

主板配置文件(内核版本≥3.10)¶

我们基于一款处理器可以研发各种各样的系统,每种系统的主板都是不一样的。

对于这种情况,传统的Linux需要为每种主板定制不同的内核。

Linux v3.10 内核针对ARM体系结构引入主板配置文件(Device tree)的概念,

*.dtb 配置文件代表了硬件配置的组合。或者从操作系统的角度来看,

他声明了驱动程序的组合,类似 menuconfig 选择加载哪些驱动。

每一种主板对应一个dtb配置文件,主板上面需要用到的外设,我们就在配置文件里声明,

操作系统运行的时候就会加载这个外设相应的驱动。

修改配置文件的详细方法参见 修改Flattened Device Tree(FDT)主板配置文件

多个内核、多个配置文件可以同时打包进一个镜像里。

UBoot的这种设计为开发带来了极大的灵活性,我们可以只烧写一个镜像,

通过启动的时候修改选项(类似PC机BIOS界面配置),

实现一个镜像兼容多种主板。

下载的UBoot源码已经包含了BLURR开发板的标准配置文件。

blurr_imx6q.dtb

blurr_imx6dl.dtb

如果需要导入其他主板的配置文件,先将dtb文件复制到UBoot根文件夹,

然后再修改 linux.its 文件对应内容。

如果是基于核心板二次开发的主板,可以根据 修改Flattened Device Tree(FDT)主板配置文件 的说明,

新建一个主板配置文件。

linux.its 文件的说明

/dts-v1/;

/ {

description = "Simple image with single Linux kernel and FDT blob";

#address-cells = <1>;

images {

kernel@1 {

description = "Linux kernel";

data = /incbin/("./vmlinux.gz"); /*包含这个二进制文件到镜像*/

type = "kernel";

arch = "arm";

os = "linux";

compression = "gzip";

load = <0x10008000>;

entry = <0x10008000>;

hash@1 {

algo = "crc32";

};

hash@2 {

algo = "sha1";

};

};

fdt@1 {

description = "Q";

data = /incbin/("./imx6q-sabreauto.dtb"); /*主板配置*/

type = "flat_dt";

arch = "arm";

compression = "none";

hash@1 {

algo = "crc32";

};

hash@2 {

algo = "sha1";

};

};

fdt@2 {

description = "DL";

data = /incbin/("./imx6dl-sabreauto.dtb");/*另一个主板配置*/

type = "flat_dt";

arch = "arm";

compression = "none";

hash@1 {

algo = "crc32";

};

hash@2 {

algo = "sha1";

};

};

};

configurations {

default = "conf@1";

conf@1 {

description = "Q";

kernel = "kernel@1";

fdt = "fdt@1";

};

conf@2 {

description = "DL";

kernel = "kernel@1";

fdt = "fdt@2";

};

};

};

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值