问题:如何在不使用非安全引导程序(Non-secure Bootloader)的情况下使用TF-A直接引导Linux内核?
作为一名软件开发人员,使用非安全引导加载程序引导Linux内核,例如用于嵌入式系统的u-boot引导加载程序,或用于基础设施系统的edk2引导加载程序。
然而,对于裸机开发,希望使用TF-A来直接引导Linux内核,而不使用非安全引导加载程序。我怎么做呢?
答案:
通常,TF-A支持u-boot bootloader或edk2非安全引导加载程序作为BL33镜像。然后,BL33镜像引导内核,但它也可以直接引导Linux内核。
构建选项ARM_LINUX_KERNEL_AS_BL33用于此特殊场景。Linux内核期望寄存器x0-x3在引导时具有特定的值。这些值在Linux内核文档中描述如下:
x0 =
x1 = 0 (reserved for future use)
x2 = 0 (reserved for future use)
x3 = 0 (r