如何在linux上打开fit文件,linux-kernel – Linux:使用U-Boot和Flat Image Tree(FIT)启动参数...

我正在尝试使用自己的U-Boot构建来在Jetson TK1板上启动

Linux.当我们推动验证启动时,我使用平面图像树(统一内核映像,设备树blob,…)来描述我的系统. U-Boot可以加载ITB文件并尝试启动内核,但系统会在此消息后挂起.

我假设这是因为没有引导参数传递给内核(原始启动添加了参数的加载)但我对如何将参数传递给内核有点傻眼.我尝试设置bootargs环境变量,但这并没有改变这种情况.

使用ITB文件时如何将内核参数传递给内核?

命令行参数(取自示例extlinux.conf的APPEND命令):

console=ttyS0,115200n8 console=tty1 no_console_suspend=1

lp0_vec=2064@0xf46ff000 video=tegrafb mem=1862M@2048M memtype=255 ddr_die=2048M@2048M

section=256M pmuboard=0x0177:0x0000:0x02:0x43:0x00 vpr=151M@3945M tsec=32M@3913M

otf_key=c75e5bb91eb3bd947560357b64422f85 usbcore.old_scheme_first=1 core_edp_mv=1150

core_edp_ma=4000 tegraid=40.1.1.0.0 debug_uartport=lsport,3 power_supply=Adapter

audio_codec=rt5640 modem_id=0 android.kerneltype=normal usb_port_owner_info=0

fbcon=map:1 commchip_id=0 usb_port_owner_info=0 lane_owner_info=6 emc_max_dvfs=0

touch_id=0@0 tegra_fbmem=32899072@0xad012000 board_info=0x0177:0x0000:0x02:0x43:0x00

root=/dev/mmcblk0p1 rw rootwait tegraboot=sdmmc gpt

ITS文件的内容:

/dts-v1/;

/ {

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

#address-cells = <1>;

images {

kernel@1 {

description = "Vanilla Linux kernel";

data = /incbin/("./zImage");

type = "kernel";

arch = "arm";

os = "linux";

compression = "none";

load = <0x81008000>;

entry = <0x81008000>;

hash@1 {

algo = "crc32";

};

hash@2 {

algo = "sha1";

};

};

fdt@1 {

description = "Flattened Device Tree blob";

data = /incbin/("./tegra124-pm375.dtb");

type = "flat_dt";

arch = "arm";

compression = "none";

hash@1 {

algo = "crc32";

};

hash@2 {

algo = "sha1";

};

};

};

configurations {

default = "conf@1";

conf@1 {

description = "Boot Linux kernel with FDT blob";

kernel = "kernel@1";

fdt = "fdt@1";

};

};

};

U-Boot输出:

Tegra124 (Jetson TK1) # fatload mmc 1 0x90000000 /kernel_fdt.itb

reading /kernel_fdt.itb

5946200 bytes read in 497 ms (11.4 MiB/s)

Tegra124 (Jetson TK1) # bootm 0x90000000

## Loading kernel from FIT Image at 90000000 ...

Using 'conf@1' configuration

Verifying Hash Integrity ... OK

Trying 'kernel@1' kernel subimage

Description: Vanilla Linux kernel

Type: Kernel Image

Compression: uncompressed

Data Start: 0x900000ec

Data Size: 5910168 Bytes = 5.6 MiB

Architecture: ARM

OS: Linux

Load Address: 0x00000000

Entry Point: 0x00000000

Hash algo: crc32

Hash value: c5b4b377

Hash algo: sha1

Hash value: f001007efe83f563425bfe0659186a32395c946c

Verifying Hash Integrity ... crc32+ sha1+ OK

## Loading fdt from FIT Image at 90000000 ...

Using 'conf@1' configuration

Trying 'fdt@1' fdt subimage

Description: Flattened Device Tree blob

Type: Flat Device Tree

Compression: uncompressed

Data Start: 0x905a30ac

Data Size: 34678 Bytes = 33.9 KiB

Architecture: ARM

Hash algo: crc32

Hash value: e466b23e

Hash algo: sha1

Hash value: ec909ae16e62233d0ed1e1f4c909085abc9b5879

Verifying Hash Integrity ... crc32+ sha1+ OK

Booting using the fdt blob at 0x905a30ac

Loading Kernel Image ... OK

Using Device Tree in place at 905a30ac, end 905ae821

Starting kernel ...

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值