iMX8 secure boot AHAB调试

1、参考链接
i.MX8 AHAB secure boot porting guide | wowothink
mx8_mx8x_secure_boot.txt\guides\ahab\imx\doc - uboot-imx - i.MX U-Boot
2、下载CST工具
i.MX High Assurance Boot Reference Code Signing Tool
3、生成PKI证书,生成4个SRK密钥对(私钥和公钥证书)
# tar -zxvf cst-3.1.0.tgz
# cd release/keys
# ./ahab_pki_tree.sh
4、生成SRK table和SRK hash,公钥证书+CA私钥=>SRK table=>SRK hash
# cd ../crts/
# ../linux64/bin/srktool -a -s sha384 -t SRK_1_2_3_4_table.bin \
-e SRK_1_2_3_4_fuse.bin -f 1 -c \
SRK1_sha384_secp384r1_v3_usr_crt.pem,\
SRK2_sha384_secp384r1_v3_usr_crt.pem,\
SRK3_sha384_secp384r1_v3_usr_crt.pem,\
SRK4_sha384_secp384r1_v3_usr_crt.pem
5、合并生成flash.bin
【生成uboot】
#source /opt/fsl-imx-xwayland/4.14-sumo/environment-setup-aarch64-poky-linux
修改并增加imx8qxp_mek_defconfig
CONFIG_AHAB_BOOT=y
menuconfig:
ARM architecture -> Support i.MX 8 AHAB features
#make imx8qxp_mek_defconfig
#make
【flash.bin合成】
#make SOC=iMX8QX flash_b0 REV=C0
根据编译信息参考如下,将0x400和0x590拷贝到CSF文件<csf_boot_image.txt>中。
CST: CONTAINER 0 offset: 0x400
CST: CONTAINER 0: Signature Block: offset is at 0x590
6、对镜像签名
# cd ../../
# cp -rf ~/work2/xxx/uboot-imx/flash.bin ./
# cp -rf ~/work2/xxx/uboot-imx/doc/imx/ahab/csf_examples/csf_boot_image.txt ./
# ./release/linux64/bin/cst -i csf_boot_image.txt -o signed-flash.bin
7、烧写SRK-fuse
【x86】:
# od -t x4 SRK_1_2_3_4_fuse.bin
0000000 475e1dca ec5c98d2 6dd5b7ec da535b48
0000020 5baa6f61 9d788292 27f53d5f 1316752a
0000040 01043451 7578275d c5fcd1e1 12bac3e2
0000060 ef6860a2 a0a12501 bc2b9c25 cfeea329
0000100

【iMX8】:
fuse prog 0 730 0x475e1dca
fuse prog 0 731 0xec5c98d2
fuse prog 0 732 0x6dd5b7ec
fuse prog 0 733 0xda535b48
fuse prog 0 734 0x5baa6f61
fuse prog 0 735 0x9d788292
fuse prog 0 736 0x27f53d5f
fuse prog 0 737 0x1316752a
fuse prog 0 738 0x01043451
fuse prog 0 739 0x7578275d
fuse prog 0 740 0xc5fcd1e1
fuse prog 0 741 0x12bac3e2
fuse prog 0 742 0xef6860a2
fuse prog 0 743 0xa0a12501
fuse prog 0 744 0xbc2b9c25
fuse prog 0 745 0xcfeea329
8、烧录
uuu烧录flash.bin


================================
OS镜像签名
【拷贝对应文件到本地】
# cp -rf ~/work2/xxx/kernel-imx/arch/arm64/boot/Image ./iMX8QX/
# cp -rf ~/work2/xxx/kernel-imx/arch/arm64/boot/boot/dts/freescale/xxxxx.dtb ./iMX8QX/
【修改soc.mak】
这里由于默认soc.mak中flash_kernel已经具备,不需要重新修改。
【编译OS image】
make SOC=iMX8QX flash_b0_linux REV=C0(在scripts/alias.mak中,flash_kernel已匹配flash_b0_linux)
这里注意需要拷贝对应offset到csf_linux_img.txt
【签名】
# ./release/linux64/bin/cst -i csf_linux_img.txt -o os_cntr_signed.bin
【烧录】
iMX8 uboot阶段输入 
#ums 0 mmc 0
将生成的os_cntr_signed.bin文件放到对应u盘内。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值