From 8d6b91c51d315883c446d4d11f538baeacb0bed7 Mon Sep 17 00:00:00 2001 From: Adriana Kobylak Date: Wed, 8 Jul 2020 13:47:10 -0500 Subject: u-boot-aspeed: Generate default env for eMMC Generate a default environment to boot an eMMC based on a txt file. Populate the generated environment image into the eMMC. (From meta-aspeed rev: fdc603c73b2dc8851ce2d1684e9c71a5ce51a5b8) Change-Id: I93944b183b7907202b02854e931593d62603ae77 Signed-off-by: Adriana Kobylak Signed-off-by: Andrew Geissler --- meta-aspeed/conf/machine/include/aspeed.inc | 5 ++++- .../recipes-bsp/u-boot/files/u-boot-env-ast2600.txt | 9 +++++++++ .../recipes-bsp/u-boot/u-boot-aspeed-sdk_2019.04.bb | 14 ++++++++++++++ meta-aspeed/wic/emmc-aspeed.wks.in | 2 +- 4 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 meta-aspeed/recipes-bsp/u-boot/files/u-boot-env-ast2600.txt (limited to 'meta-aspeed') diff --git a/meta-aspeed/conf/machine/include/aspeed.inc b/meta-aspeed/conf/machine/include/aspeed.inc index c3c5f18c2a..046553b164 100644 --- a/meta-aspeed/conf/machine/include/aspeed.inc +++ b/meta-aspeed/conf/machine/include/aspeed.inc @@ -14,7 +14,10 @@ INITRAMFS_IMAGE ?= "aspeed-image-initramfs" INITRAMFS_FSTYPES ?= "cpio.xz" WKS_FILE ?= "emmc-aspeed.wks.in" -WKS_FILE_DEPENDS ?= "virtual/kernel" +WKS_FILE_DEPENDS ?= " \ + virtual/bootloader \ + virtual/kernel \ +" WKS_HOSTFW_SIZE ?= "5G" IMAGE_BOOT_FILES ?= "fitImage-${INITRAMFS_IMAGE}-${MACHINE}-${MACHINE};fitImage" diff --git a/meta-aspeed/recipes-bsp/u-boot/files/u-boot-env-ast2600.txt b/meta-aspeed/recipes-bsp/u-boot/files/u-boot-env-ast2600.txt new file mode 100644 index 0000000000..47a474c92d --- /dev/null +++ b/meta-aspeed/recipes-bsp/u-boot/files/u-boot-env-ast2600.txt @@ -0,0 +1,9 @@ +bootargs=console=ttyS4,115200n8 +boota=setenv bootpart 2; setenv rootfs rofs-a; run setmmcargs; ext4load mmc 0:${bootpart} ${loadaddr} fitImage && bootm; echo Error loading kernel FIT image +bootb=setenv bootpart 3; setenv rootfs rofs-b; run setmmcargs; ext4load mmc 0:${bootpart} ${loadaddr} fitImage && bootm; echo Error loading kernel FIT image +bootcmd=if test "${bootside}" = "b"; then run bootb; run boota; else run boota; run bootb; fi +bootdelay=2 +bootside=a +loadaddr=0x83000000 +rootfs=rofs-a +setmmcargs=setenv bootargs ${bootargs} rootwait root=PARTLABEL=${rootfs} diff --git a/meta-aspeed/recipes-bsp/u-boot/u-boot-aspeed-sdk_2019.04.bb b/meta-aspeed/recipes-bsp/u-boot/u-boot-aspeed-sdk_2019.04.bb index 3ecd17ce6f..99bcafc09a 100644 --- a/meta-aspeed/recipes-bsp/u-boot/u-boot-aspeed-sdk_2019.04.bb +++ b/meta-aspeed/recipes-bsp/u-boot/u-boot-aspeed-sdk_2019.04.bb @@ -6,3 +6,17 @@ require u-boot-aspeed.inc PROVIDES += "u-boot" DEPENDS += "bc-native dtc-native" + +SRC_URI_append_df-phosphor-mmc = " file://u-boot-env-ast2600.txt" + +UBOOT_ENV_SIZE_df-phosphor-mmc = "0x10000" +UBOOT_ENV_df-phosphor-mmc = "u-boot-env" +UBOOT_ENV_SUFFIX_df-phosphor-mmc = "bin" + +do_compile_append() { + if [ -n "${UBOOT_ENV}" ] + then + # Generate redundant environment image + ${B}/tools/mkenvimage -r -s ${UBOOT_ENV_SIZE} -o ${WORKDIR}/${UBOOT_ENV_BINARY} ${WORKDIR}/u-boot-env-ast2600.txt + fi +} diff --git a/meta-aspeed/wic/emmc-aspeed.wks.in b/meta-aspeed/wic/emmc-aspeed.wks.in index 816352176a..ace5f47af3 100644 --- a/meta-aspeed/wic/emmc-aspeed.wks.in +++ b/meta-aspeed/wic/emmc-aspeed.wks.in @@ -21,7 +21,7 @@ bootloader --ptable gpt -part --align 4 --fixed-size 1M --label u-boot-env +part --align 4 --fixed-size 1M --source rawcopy --sourceparams="file=${DEPLOY_DIR_IMAGE}/u-boot-env.bin" part --fstype=ext4 --fixed-size 64M --source bootimg-partition --label boot-a part --fstype=ext4 --fixed-size 64M --source bootimg-partition --label boot-b part --fstype=ext4 --fixed-size 1G --source rootfs --label rofs-a -- cgit v1.2.3