diff options
Diffstat (limited to 'classes/image_types_ota.bbclass')
-rw-r--r-- | classes/image_types_ota.bbclass | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/classes/image_types_ota.bbclass b/classes/image_types_ota.bbclass index 2cc8913..374ddc2 100644 --- a/classes/image_types_ota.bbclass +++ b/classes/image_types_ota.bbclass | |||
@@ -45,14 +45,17 @@ do_image_ota[cleandirs] = "${OTA_SYSROOT}" | |||
45 | do_image_ota[depends] = "${@'grub:do_populate_sysroot' if d.getVar('OSTREE_BOOTLOADER') == 'grub' else ''} \ | 45 | do_image_ota[depends] = "${@'grub:do_populate_sysroot' if d.getVar('OSTREE_BOOTLOADER') == 'grub' else ''} \ |
46 | ${@'virtual/bootloader:do_deploy' if d.getVar('OSTREE_BOOTLOADER') == 'u-boot' else ''}" | 46 | ${@'virtual/bootloader:do_deploy' if d.getVar('OSTREE_BOOTLOADER') == 'u-boot' else ''}" |
47 | IMAGE_CMD_ota () { | 47 | IMAGE_CMD_ota () { |
48 | export OSTREE_BOOT_PARTITION=${OSTREE_BOOT_PARTITION} | 48 | ostree admin --sysroot=${OTA_SYSROOT} init-fs --modern ${OTA_SYSROOT} |
49 | |||
50 | ostree admin --sysroot=${OTA_SYSROOT} init-fs ${OTA_SYSROOT} | ||
51 | ostree admin --sysroot=${OTA_SYSROOT} os-init ${OSTREE_OSNAME} | 49 | ostree admin --sysroot=${OTA_SYSROOT} os-init ${OSTREE_OSNAME} |
50 | |||
51 | # Preparation required to steer ostree bootloader detection | ||
52 | mkdir -p ${OTA_SYSROOT}/boot/loader.0 | 52 | mkdir -p ${OTA_SYSROOT}/boot/loader.0 |
53 | ln -s loader.0 ${OTA_SYSROOT}/boot/loader | 53 | ln -s loader.0 ${OTA_SYSROOT}/boot/loader |
54 | 54 | ||
55 | if [ "${OSTREE_BOOTLOADER}" = "grub" ]; then | 55 | if [ "${OSTREE_BOOTLOADER}" = "grub" ]; then |
56 | # Used by ostree-grub-generator called by the ostree binary | ||
57 | export OSTREE_BOOT_PARTITION=${OSTREE_BOOT_PARTITION} | ||
58 | |||
56 | mkdir -p ${OTA_SYSROOT}/boot/grub2 | 59 | mkdir -p ${OTA_SYSROOT}/boot/grub2 |
57 | ln -s ../loader/grub.cfg ${OTA_SYSROOT}/boot/grub2/grub.cfg | 60 | ln -s ../loader/grub.cfg ${OTA_SYSROOT}/boot/grub2/grub.cfg |
58 | elif [ "${OSTREE_BOOTLOADER}" = "u-boot" ]; then | 61 | elif [ "${OSTREE_BOOTLOADER}" = "u-boot" ]; then |
@@ -77,8 +80,11 @@ IMAGE_CMD_ota () { | |||
77 | # Ensure the permissions are correctly set | 80 | # Ensure the permissions are correctly set |
78 | chmod 700 ${OTA_SYSROOT}/ostree/deploy/${OSTREE_OSNAME}/var/sota | 81 | chmod 700 ${OTA_SYSROOT}/ostree/deploy/${OSTREE_OSNAME}/var/sota |
79 | 82 | ||
80 | cp -a ${OSTREE_ROOTFS}/var/local ${OTA_SYSROOT}/ostree/deploy/${OSTREE_OSNAME}/var/ || true | 83 | cp -a ${IMAGE_ROOTFS}/var/local ${OTA_SYSROOT}/ostree/deploy/${OSTREE_OSNAME}/var/ || true |
81 | cp -a ${OSTREE_ROOTFS}/usr/homedirs/home ${OTA_SYSROOT}/ || true | 84 | |
85 | mkdir -p ${OTA_SYSROOT}/ostree/deploy/${OSTREE_OSNAME}/var/rootdirs | ||
86 | cp -a ${IMAGE_ROOTFS}/home ${OTA_SYSROOT}/ostree/deploy/${OSTREE_OSNAME}/var/rootdirs/home || true | ||
87 | |||
82 | # Ensure that /var/local exists (AGL symlinks /usr/local to /var/local) | 88 | # Ensure that /var/local exists (AGL symlinks /usr/local to /var/local) |
83 | install -d ${OTA_SYSROOT}/ostree/deploy/${OSTREE_OSNAME}/var/local | 89 | install -d ${OTA_SYSROOT}/ostree/deploy/${OSTREE_OSNAME}/var/local |
84 | # Set package version for the first deployment | 90 | # Set package version for the first deployment |