summaryrefslogtreecommitdiff
path: root/meta-phosphor/classes
diff options
context:
space:
mode:
authorWilliam A. Kennington III <wak@google.com>2019-09-17 04:29:53 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2019-09-25 03:03:03 +0300
commit7a6b143d9b30f8f4a24cf7cd17b2cb1df39002a2 (patch)
tree6468ae94f3c1f8c377f16a33c82564077cd16598 /meta-phosphor/classes
parent727155e89fd50393b6444d182ac8fab4309e6b2a (diff)
downloadopenbmc-7a6b143d9b30f8f4a24cf7cd17b2cb1df39002a2.tar.xz
nuvoton: Apply image overrides to all image types
Right now, nuvoton overrides needed for generating and applying the bootblock are not applied to images other than obmc-phosphor-image. This means that core-image-minimal is unbootable on nuvoton platforms. This change makes the nuvoton overrides apply globally to all images. (From meta-phosphor rev: 9819cb9533f430797d47dadff558cf4462670976) Change-Id: If4bef5f8106278fa6ebeb2198bc43fdd2b70a641 Signed-off-by: William A. Kennington III <wak@google.com> Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'meta-phosphor/classes')
-rw-r--r--meta-phosphor/classes/image_types_phosphor_nuvoton.bbclass46
1 files changed, 46 insertions, 0 deletions
diff --git a/meta-phosphor/classes/image_types_phosphor_nuvoton.bbclass b/meta-phosphor/classes/image_types_phosphor_nuvoton.bbclass
new file mode 100644
index 0000000000..16112e6386
--- /dev/null
+++ b/meta-phosphor/classes/image_types_phosphor_nuvoton.bbclass
@@ -0,0 +1,46 @@
+UBOOT_BINARY := "u-boot.${UBOOT_SUFFIX}"
+BOOTBLOCK = "Poleg_bootblock.bin"
+FULL_SUFFIX = "full"
+MERGED_SUFFIX = "merged"
+UBOOT_SUFFIX_append = ".${MERGED_SUFFIX}"
+
+# Prepare the Bootblock and U-Boot images using npcm7xx-bingo
+do_prepare_bootloaders() {
+ local olddir="$(pwd)"
+ cd ${DEPLOY_DIR_IMAGE}
+ bingo ${STAGING_DIR_NATIVE}/${bindir}/BootBlockAndHeader_EB.xml \
+ -o ${DEPLOY_DIR_IMAGE}/${BOOTBLOCK}.${FULL_SUFFIX}
+
+ bingo ${STAGING_DIR_NATIVE}/${bindir}/UbootHeader_EB.xml \
+ -o ${DEPLOY_DIR_IMAGE}/${UBOOT_BINARY}.${FULL_SUFFIX}
+
+ bingo ${STAGING_DIR_NATIVE}/${bindir}/mergedBootBlockAndUboot.xml \
+ -o ${DEPLOY_DIR_IMAGE}/${UBOOT_BINARY}.${MERGED_SUFFIX}
+ cd "$olddir"
+}
+
+do_prepare_bootloaders[depends] += " \
+ npcm7xx-bootblock:do_deploy \
+ npcm7xx-bingo-native:do_populate_sysroot \
+ "
+
+addtask do_prepare_bootloaders before do_generate_static after do_generate_rwfs_static
+
+# Include the full bootblock and u-boot in the final static image
+python do_generate_static_append() {
+ _append_image(os.path.join(d.getVar('DEPLOY_DIR_IMAGE', True),
+ 'u-boot.%s' % d.getVar('UBOOT_SUFFIX',True)),
+ int(d.getVar('FLASH_UBOOT_OFFSET', True)),
+ int(d.getVar('FLASH_KERNEL_OFFSET', True)))
+}
+
+do_make_ubi_append() {
+ # Concatenate the uboot and ubi partitions
+ dd bs=1k conv=notrunc seek=${FLASH_UBOOT_OFFSET} \
+ if=${DEPLOY_DIR_IMAGE}/u-boot.${UBOOT_SUFFIX} \
+ of=${IMGDEPLOYDIR}/${IMAGE_NAME}.ubi.mtd
+}
+
+do_make_ubi[depends] += "${PN}:do_prepare_bootloaders"
+do_generate_ubi_tar[depends] += "${PN}:do_prepare_bootloaders"
+do_generate_static_tar[depends] += "${PN}:do_prepare_bootloaders"