feat(juno): update Linux kernel and U-Boot
At the moment we use a Linaro 5.3.0 kernel and some Linaro v2019.07
U-Boot version for the Juno Linux testing. Not only are those versions
outdated, but the old kernel does not exercise all features of recent
TF-A (for instance SOCID and TRNG).
Switch to mainline U-Boot (v2021.10) and mainline Linux (v5.15.5). We
then use a Busybox based initrd that drops into a user prompt.
Instructions to build these binaries from scratch using upstream source
repository are available in the readme.txt file [1].
To avoid picking up something from USB or the network, provide a changed
U-Boot environment, which drops all other boot targets except the NOR
flash ("afs" in U-Boot). For this to work, we need to fix the U-Boot
environment flash address in the images.txt files.
[1] http://files.oss.arm.com/downloads/tf-a/linux_boot/
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Change-Id: Idbce5c9c78d5fa48e34804ea5e877bfa162686d7
diff --git a/run_config/juno-linux.optee b/run_config/juno-linux.optee
index ba89959..84f9b47 100644
--- a/run_config/juno-linux.optee
+++ b/run_config/juno-linux.optee
@@ -1,18 +1,19 @@
#!/usr/bin/env bash
#
-# Copyright (c) 2019-2020 Arm Limited. All rights reserved.
+# Copyright (c) 2019-2022 Arm Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
post_tf_build() {
get_scp_bl2_bin
- get_uboot_bin
+ get_ml_uboot_bin
get_optee_bin
build_fip BL33="$archive/uboot.bin" BL32="$archive/bl32.bin" SCP_BL2="$archive/scp_bl2.bin"
}
post_fetch_tf_resource() {
- gen_recovery_image "$archive/bl1.bin" "$archive/fip.bin"
+ get_linux_image
+ gen_recovery_image "$archive/bl1.bin" "$archive/fip.bin" "$archive/Image" "$archive/ramdisk.img" "$archive/blank.img"
payload_type="linux" gen_juno_yaml
}