启用安全启动后,u-boot挂起:on over

时间:2016-04-28 20:43:43

标签: bootloader u-boot gumstix

我试图在u-boot中为gumstix overo storm启用安全启动。 基于http://www.denx-cs.de/doku/?q=m28verifiedboot

我用SD卡准备好后,u-boot无法启动并提供以下错误信息。

SELECT
  SomeField,
  SomeOtherField

这是我正在使用的u-boot.dts文件。

U-Boot SPL 2015.07 (Apr 28 2016 - 13:53:06)
SPL: Please implement spl_start_uboot() for your board
SPL: Direct Linux boot not active!
reading u-boot.img
spl_load_image_fat: error reading image u-boot.img, err - -1
SPL: Please implement spl_start_uboot() for your board
SPL: Direct Linux boot not active!
Failed to mount ext2 filesystem...
spl_load_image_ext: ext4fs mount err - 0

================

生成u-boot.dtb, dtc -p 0x1000 /work/u-boot.dts -O dtb -o /work/u-boot.dtb

这些是我添加到conf / configs / omap3_overo.h

的内容
/dts-v1/;

/ {
        model = "Keys";

        signature {
                key-dev {
                        required = "conf";
                        algo = "sha1,rsa2048";
                        key-name-hint = "my_key";
                };
        };
};

我正在使用以下行编译u-boot:

make ARCH = arm CROSS_COMPILE = arm-linux-gnueabi- EXT_DTB = / work / u-boot.dtb all -j4

如果您对如何调试此问题有任何想法,请与我们联系。

===================

有更新。

  1. 将u-boot-dtb.img名称更改为u-boot.img。
  2. 然后board能够启动,但在我尝试使用bootm时会给出以下消息。
  3. **

     #define CONFIG_OF_CONTROL
     #define CONFIG_OF_SEPARATE
     #define CONFIG_FIT
     #define CONFIG_FIT_SIGNATURE
     #define CONFIG_RSA
     #define CONFIG_FIT_VERBOSE
    

    **

    正如doc / uImage.FIT / beaglebone_vboot.txt中提到的,我尝试了脚本 - tools / fit_check_sign,其输出正常。能够验证签名。

    所以仍然不知道,确切的问题是什么,为什么我收到上述错误消息。 我搜索了UCLASS_MOD_EXP,/ * RSA Mod Exp设备* /,但无法获得更多信息。

    什么是RSA Mod Exp设备以及如何确保我拥有它?

    任何调试输入都会非常有用。

    编辑:

    Overo # 
    ## Loading kernel from FIT Image at 82000000 ...
       Using 'conf@1' configuration
       Verifying Hash Integrity ... sha1,rsa2048:my_keyRSA: Can't find Modular Exp implementation
    RSA: Can't find Modular Exp implementation
    - Failed to verify required signature 'key-my_key'
    Bad Data Hash
    ERROR: can't get kernel image!
    Overo #
    

1 个答案:

答案 0 :(得分:1)

嗯,要解决的第一个问题是:

reading u-boot.img
spl_load_image_fat: error reading image u-boot.img, err - -1

你的SD卡也有u-boot.img吗?请注意,您链接到的示例 NOT 执行SPL,而是使用旧样式(但仍然是功能和支持的)imximage格式,而不是像i.MX上的那样,并且您使用的是OMAP3平台。在这种情况下,阅读doc / uImage.FIT / beaglebone_vboot.txt对你很有帮助,因为am335x(在beaglebone板上找到的)是OMAP3部分的演变而不是不同的SoC供应商(比如i.MX vs OMAP3是)。

编辑: 现在我们正在加载正确的文件,在v2015.07中这些文件尚未迁移到Kconfig。你启用了CONFIG_RSA吗?看看在各种配置标头和树的其余部分下在ENABLE_VBOOT下完成的操作,你需要做类似的事情。