From 81846a208da1e8ea27914181fb27cc0c61731306 Mon Sep 17 00:00:00 2001 From: Adriana Kobylak Date: Sun, 12 Jul 2020 15:12:36 -0500 Subject: phosphor-hostfw-image: Create recipe Create a recipe to add host firmware files to the BMC image files. Via a bbappend, this recipe provides a mechanism to have content be added to a flashable BMC image and an image file to be added to the code update tarball to be updated during a firmware update. (From meta-phosphor rev: 39b1ff0dcd12f15dc651aa20cb85cdec903cb5de) Change-Id: I12b3ced57a6446fd1fc046324ee13e4701581336 Signed-off-by: Adriana Kobylak Signed-off-by: Andrew Geissler --- meta-phosphor/classes/image_types_phosphor.bbclass | 13 +++++++-- .../flash/phosphor-hostfw-image.bb | 31 ++++++++++++++++++++++ 2 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 meta-phosphor/recipes-phosphor/flash/phosphor-hostfw-image.bb diff --git a/meta-phosphor/classes/image_types_phosphor.bbclass b/meta-phosphor/classes/image_types_phosphor.bbclass index e12cabd67..0ee77d4c3 100644 --- a/meta-phosphor/classes/image_types_phosphor.bbclass +++ b/meta-phosphor/classes/image_types_phosphor.bbclass @@ -536,8 +536,16 @@ do_generate_ext4_tar() { ln -sf ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.rwfs.${FLASH_EXT4_OVERLAY_BASETYPE} image-rwfs ln -sf ${S}/MANIFEST MANIFEST ln -sf ${S}/publickey publickey - make_signatures image-u-boot image-kernel image-rofs image-rwfs MANIFEST publickey - make_tar_of_images ext4.mmc MANIFEST publickey ${signature_files} + + hostfw_update_file="${DEPLOY_DIR_IMAGE}/hostfw/update/image-hostfw" + if [ -e "${hostfw_update_file}" ]; then + ln -sf "${hostfw_update_file}" image-hostfw + make_signatures image-u-boot image-kernel image-rofs image-rwfs MANIFEST publickey image-hostfw + make_tar_of_images ext4.mmc MANIFEST publickey ${signature_files} image-hostfw + else + make_signatures image-u-boot image-kernel image-rofs image-rwfs MANIFEST publickey + make_tar_of_images ext4.mmc MANIFEST publickey ${signature_files} + fi } do_generate_ext4_tar[dirs] = " ${S}/ext4" do_generate_ext4_tar[depends] += " \ @@ -548,6 +556,7 @@ do_generate_ext4_tar[depends] += " \ openssl-native:do_populate_sysroot \ ${SIGNING_KEY_DEPENDS} \ ${PN}:do_copy_signing_pubkey \ + phosphor-hostfw-image:do_populate_sysroot \ " def get_pubkey_basedir(d): diff --git a/meta-phosphor/recipes-phosphor/flash/phosphor-hostfw-image.bb b/meta-phosphor/recipes-phosphor/flash/phosphor-hostfw-image.bb new file mode 100644 index 000000000..5663771d0 --- /dev/null +++ b/meta-phosphor/recipes-phosphor/flash/phosphor-hostfw-image.bb @@ -0,0 +1,31 @@ +SUMMARY = "Provides a host firmware image" +DESCRIPTION = "Use a bbappend to add the image files" +PR = "r1" + +inherit allarch +inherit deploy + +HOSTFW_LICENSE ?= "Apache-2.0" +HOSTFW_LIC_FILES_CHKSUM ?= "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +LICENSE = "${HOSTFW_LICENSE}" +LIC_FILES_CHKSUM = "${HOSTFW_LIC_FILES_CHKSUM}" + +do_compile_prepend() { + # The image directory can be used as the source to create a filesystem to + # add to the BMC image. + install -d ${B}/image + + # Install an image-hostfw file in the update directory to be included in + # the code update tarball. + install -d ${B}/update +} + +do_deploy() { + install -d ${DEPLOYDIR}/hostfw/image + install -d ${DEPLOYDIR}/hostfw/update + cp -R --no-dereference --preserve=mode,links ${B}/image/ ${DEPLOYDIR}/hostfw/image/ + cp -R --no-dereference --preserve=mode,links ${B}/update/ ${DEPLOYDIR}/hostfw/update/ +} + +addtask deploy before do_build after do_compile -- cgit v1.2.3