Linux:FIT平面图像树格式执行脚本

Linux:FIT平面图像树格式执行脚本

您好,我正在尝试在 FIT 图像中包含一个脚本。脚本可以运行,只需打印一个 hello world 即可。这是包含在 .its 文件中的部分

脚本@1 {

    description = "Bootscript";
    data = /incbin/("/home/dvdk/lynx/boot_original.scr");
    type = "script";
    rch = "arm";
    os= "linux";
    compression = "none";
    load = <0x81000000>;
    entry = <0x81000000>;
};

FIT 加载到 80000000 中,iminfo 命令返回:

正在检查 80000000 处的映像...
找到 FIT 映像
FIT 描述:具有单个 Linux 内核和 FDT blob 的简单映像
映像 0 (script@1)
描述:引导脚本
类型:脚本
压缩:未压缩
数据开始:0x800000e0
数据大小:489 字节 = 489 字节

然后我尝试使用“源命令”执行此脚本,如果我使用: $ source 80000000:script@1 我得到: 语法错误
未知命令 ' �域� �� �域� ���.....

如果我执行: $ source 800000e0 脚本会正确执行。

任何人都可以帮助我解决这个问题,或者建议我在哪里可以找到帮助或解决方案。谢谢

答案1

仅使用数据地址运行脚本的事实表明您已在 fitImage 中添加了旧版 uImage 脚本文件。

尝试使用文本格式的脚本创建 fitImage:

script@1 {
    description = "Bootscript";
    data = /incbin/("/path/to/your/script.txt");
    type = "script";
    compression = "none";
};

然后您应该能够使用 fitImage 语法运行它。

答案2

需要删除以下几行:

arch = "arm";
os = "linux";
load = <0x81000000>;
entry = <0x81000000>;

我尝试了 FIT 脚本,它仅适用于datatypecompression条目。

相关内容