summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--classes/override_live-vm-common.inc2
-rw-r--r--images/enea-nfv-access-host-common.inc18
2 files changed, 19 insertions, 1 deletions
diff --git a/classes/override_live-vm-common.inc b/classes/override_live-vm-common.inc
index 6fabbf0..3ac92b9 100644
--- a/classes/override_live-vm-common.inc
+++ b/classes/override_live-vm-common.inc
@@ -15,7 +15,7 @@ efi_populate_common() {
15 15
16 ## ENEA_start ## 16 ## ENEA_start ##
17 # Install EFI binaries 17 # Install EFI binaries
18 install -m 0644 ${IMAGE_ROOTFS}${EFI_FILES_PATH}/*.* ${DEST}${EFIDIR} 18 install -m 0644 ${DEPLOY_DIR_IMAGE}/${SBFOLDER}/*.efi ${DEST}${EFIDIR}
19 19
20 # Install kernel and initramfs sig 20 # Install kernel and initramfs sig
21 install -m 0644 ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${SB_FILE_EXT} ${DEST}/${KERNEL_IMAGETYPE}${SB_FILE_EXT} 21 install -m 0644 ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${SB_FILE_EXT} ${DEST}/${KERNEL_IMAGETYPE}${SB_FILE_EXT}
diff --git a/images/enea-nfv-access-host-common.inc b/images/enea-nfv-access-host-common.inc
index 8d1a5ff..a8c984f 100644
--- a/images/enea-nfv-access-host-common.inc
+++ b/images/enea-nfv-access-host-common.inc
@@ -30,12 +30,15 @@ AUTO_SYSLINUXMENU_x86-64 = "0"
30# If building with sota enabled, build the otaimg before the hddimg, because 30# If building with sota enabled, build the otaimg before the hddimg, because
31# the hddimg needs it as a base image 31# the hddimg needs it as a base image
32python __anonymous() { 32python __anonymous() {
33 ## ENEA_start ##
33 if bb.utils.contains('DISTRO_FEATURES', 'sota', True, False, d): 34 if bb.utils.contains('DISTRO_FEATURES', 'sota', True, False, d):
34 d.appendVarFlag("do_bootimg", "depends", " %s:do_image_ota_ext4" % d.getVar("IMAGE_BASENAME", True)) 35 d.appendVarFlag("do_bootimg", "depends", " %s:do_image_ota_ext4" % d.getVar("IMAGE_BASENAME", True))
36 ## ENEA_end ##
35} 37}
36 38
37# Append OSTree specific parameters to the kernel command line before creating the live image 39# Append OSTree specific parameters to the kernel command line before creating the live image
38python do_bootimg_prepend () { 40python do_bootimg_prepend () {
41 ## ENEA_start ##
39 if bb.utils.contains('DISTRO_FEATURES', 'sota', True, False, d): 42 if bb.utils.contains('DISTRO_FEATURES', 'sota', True, False, d):
40 ostree_osname = d.getVar('OSTREE_OSNAME') 43 ostree_osname = d.getVar('OSTREE_OSNAME')
41 checksum = bb.utils.sha256_file(d.getVar('DEPLOY_DIR_IMAGE') + "/" + d.getVar('OSTREE_KERNEL')) 44 checksum = bb.utils.sha256_file(d.getVar('DEPLOY_DIR_IMAGE') + "/" + d.getVar('OSTREE_KERNEL'))
@@ -44,18 +47,32 @@ python do_bootimg_prepend () {
44 ostree_params = " ostree=/ostree/boot.1/" + ostree_osname + "/" + checksum + "/0" 47 ostree_params = " ostree=/ostree/boot.1/" + ostree_osname + "/" + checksum + "/0"
45 48
46 d.setVar("APPEND", d.getVar("APPEND") + ostree_params) 49 d.setVar("APPEND", d.getVar("APPEND") + ostree_params)
50 ## ENEA_end ##
47} 51}
48 52
49# Before building the OSTree image, move DPKG data to /usr/dpkg, because 53# Before building the OSTree image, move DPKG data to /usr/dpkg, because
50# OSTree does not preserve the contents of /var 54# OSTree does not preserve the contents of /var
51IMAGE_CMD_ostree_prepend () { 55IMAGE_CMD_ostree_prepend () {
56 ## ENEA_start ##
57 # Note: We do configure DPKG admindir at build time, but we can't do the same for APT since
58 # yocto hardcodes /var/lib/dpkg paths in various places in OE-core, which we can't override,
59 # so instead we move the contents to their expected location here and configure apt at runtime
60 # via a configuration fragment to use the new location.
52 mkdir -p usr/dpkg/lib/dpkg 61 mkdir -p usr/dpkg/lib/dpkg
53 if [ "$(ls -A var/lib/dpkg)" ]; then 62 if [ "$(ls -A var/lib/dpkg)" ]; then
54 mv var/lib/dpkg/* usr/dpkg/lib/dpkg/ 63 mv var/lib/dpkg/* usr/dpkg/lib/dpkg/
55 fi 64 fi
65 # In Enea Edge, the EFI binaries (shim, seloader etc.) are copied from the yocto deploy dir to
66 # the installation image (hddimg) - see "classes/override_live-vm-common.inc" in this repo;
67 # and during Enea Edge installation (via utils.sh) from hddimg to the destination disk.
68 # Files installed by the package manager end up under OSTree /boot hardlink tree, but are
69 # never actually used. To avoid confusion and save some resources, clean them up.
70 rm -rf boot/*
71 ## ENEA_end ##
56} 72}
57 73
58IMAGE_CMD_ota_prepend () { 74IMAGE_CMD_ota_prepend () {
75 ## ENEA_start ##
59 if [ "${OSTREE_BOOTLOADER}" = "grub" ]; then 76 if [ "${OSTREE_BOOTLOADER}" = "grub" ]; then
60 # Upstream bbclass creates /boot/grub2, complement it with /boot/grub 77 # Upstream bbclass creates /boot/grub2, complement it with /boot/grub
61 # Note: /boot/grub2 is a dir with /boot/grub2/grub.cfg -> ../loader/grub.cfg symlink 78 # Note: /boot/grub2 is a dir with /boot/grub2/grub.cfg -> ../loader/grub.cfg symlink
@@ -63,4 +80,5 @@ IMAGE_CMD_ota_prepend () {
63 mkdir -p ${OTA_SYSROOT}/boot 80 mkdir -p ${OTA_SYSROOT}/boot
64 ln -s loader ${OTA_SYSROOT}/boot/grub 81 ln -s loader ${OTA_SYSROOT}/boot/grub
65 fi 82 fi
83 ## ENEA_end ##
66} 84}