summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdriana Kobylak <anoo@us.ibm.com>2020-07-12 23:12:36 +0300
committerAndrew Geissler <geissonator@yahoo.com>2020-07-17 23:22:12 +0300
commit81846a208da1e8ea27914181fb27cc0c61731306 (patch)
treee49c894a8c3cf1d7bbf19bc735ad8b1e0c341721
parent8d6b91c51d315883c446d4d11f538baeacb0bed7 (diff)
downloadopenbmc-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.bbclass13
-rw-r--r--meta-phosphor/recipes-phosphor/flash/phosphor-hostfw-image.bb31
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