diff options
author | Adriana Kobylak <anoo@us.ibm.com> | 2020-07-12 23:12:36 +0300 |
---|---|---|
committer | Andrew Geissler <geissonator@yahoo.com> | 2020-07-17 23:22:12 +0300 |
commit | 81846a208da1e8ea27914181fb27cc0c61731306 (patch) | |
tree | e49c894a8c3cf1d7bbf19bc735ad8b1e0c341721 | |
parent | 8d6b91c51d315883c446d4d11f538baeacb0bed7 (diff) | |
download | openbmc-81846a208da1e8ea27914181fb27cc0c61731306.tar.xz |
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 <anoo@us.ibm.com>
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
-rw-r--r-- | meta-phosphor/classes/image_types_phosphor.bbclass | 13 | ||||
-rw-r--r-- | meta-phosphor/recipes-phosphor/flash/phosphor-hostfw-image.bb | 31 |
2 files changed, 42 insertions, 2 deletions
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 |