diff options
| author | Patrick Vacek <patrickvacek@gmail.com> | 2020-06-22 09:39:49 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-06-22 09:39:49 +0200 |
| commit | cd27c8baa28c406e456c5d1dba2d790e414066bb (patch) | |
| tree | 2d758548dfacf0f1f4935549a94b2cb186c9c1ee /classes | |
| parent | bed1238b211417fa68bd8fcb301ce7d112da6ef1 (diff) | |
| parent | 6eecf1593d31dc04566c646717f248b3fb0aa40d (diff) | |
| download | meta-updater-cd27c8baa28c406e456c5d1dba2d790e414066bb.tar.gz | |
Merge pull request #681 from liuming50/introduce-ostree-kernel-initramfs
Introduce ostree kernel initramfs
Diffstat (limited to 'classes')
| -rw-r--r-- | classes/image_types_ostree.bbclass | 24 | ||||
| -rw-r--r-- | classes/sota.bbclass | 8 |
2 files changed, 7 insertions, 25 deletions
diff --git a/classes/image_types_ostree.bbclass b/classes/image_types_ostree.bbclass index 051dcf9..0b928a3 100644 --- a/classes/image_types_ostree.bbclass +++ b/classes/image_types_ostree.bbclass | |||
| @@ -3,14 +3,11 @@ inherit features_check | |||
| 3 | 3 | ||
| 4 | REQUIRED_DISTRO_FEATURES = "usrmerge" | 4 | REQUIRED_DISTRO_FEATURES = "usrmerge" |
| 5 | 5 | ||
| 6 | OSTREE_KERNEL ??= "${KERNEL_IMAGETYPE}" | ||
| 7 | OSTREE_ROOTFS ??= "${WORKDIR}/ostree-rootfs" | 6 | OSTREE_ROOTFS ??= "${WORKDIR}/ostree-rootfs" |
| 8 | OSTREE_COMMIT_SUBJECT ??= "Commit-id: ${IMAGE_NAME}" | 7 | OSTREE_COMMIT_SUBJECT ??= "Commit-id: ${IMAGE_NAME}" |
| 9 | OSTREE_COMMIT_BODY ??= "" | 8 | OSTREE_COMMIT_BODY ??= "" |
| 10 | OSTREE_COMMIT_VERSION ??= "${DISTRO_VERSION}" | 9 | OSTREE_COMMIT_VERSION ??= "${DISTRO_VERSION}" |
| 11 | OSTREE_UPDATE_SUMMARY ??= "0" | 10 | OSTREE_UPDATE_SUMMARY ??= "0" |
| 12 | OSTREE_DEPLOY_DEVICETREE ??= "0" | ||
| 13 | OSTREE_DEVICETREE ??= "${KERNEL_DEVICETREE}" | ||
| 14 | 11 | ||
| 15 | BUILD_OSTREE_TARBALL ??= "1" | 12 | BUILD_OSTREE_TARBALL ??= "1" |
| 16 | 13 | ||
| @@ -135,27 +132,6 @@ IMAGE_CMD_ostree () { | |||
| 135 | 132 | ||
| 136 | ln -sf ../var/usrlocal usr/local | 133 | ln -sf ../var/usrlocal usr/local |
| 137 | 134 | ||
| 138 | if [ "${KERNEL_IMAGETYPE}" = "fitImage" ]; then | ||
| 139 | # this is a hack for ostree not to override init= in kernel cmdline - | ||
| 140 | # make it think that the initramfs is present (while it is in FIT image) | ||
| 141 | # since initramfs is fake file, it does not need to be included in checksum | ||
| 142 | checksum=$(sha256sum ${DEPLOY_DIR_IMAGE}/${OSTREE_KERNEL} | cut -f 1 -d " ") | ||
| 143 | touch boot/initramfs-${checksum} | ||
| 144 | else | ||
| 145 | if [ ${@ oe.types.boolean('${OSTREE_DEPLOY_DEVICETREE}')} = True ] && [ -n "${OSTREE_DEVICETREE}" ]; then | ||
| 146 | checksum=$(cat ${DEPLOY_DIR_IMAGE}/${OSTREE_KERNEL} ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.${INITRAMFS_FSTYPES} ${OSTREE_DEVICETREE} | sha256sum | cut -f 1 -d " ") | ||
| 147 | for DTS_FILE in ${OSTREE_DEVICETREE}; do | ||
| 148 | DTS_FILE_BASENAME=$(basename ${DTS_FILE}) | ||
| 149 | cp ${DEPLOY_DIR_IMAGE}/${DTS_FILE_BASENAME} boot/devicetree-${DTS_FILE_BASENAME}-${checksum} | ||
| 150 | done | ||
| 151 | else | ||
| 152 | checksum=$(cat ${DEPLOY_DIR_IMAGE}/${OSTREE_KERNEL} ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.${INITRAMFS_FSTYPES} | sha256sum | cut -f 1 -d " ") | ||
| 153 | fi | ||
| 154 | cp ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.${INITRAMFS_FSTYPES} boot/initramfs-${checksum} | ||
| 155 | fi | ||
| 156 | |||
| 157 | cp ${DEPLOY_DIR_IMAGE}/${OSTREE_KERNEL} boot/vmlinuz-${checksum} | ||
| 158 | |||
| 159 | # Copy image manifest | 135 | # Copy image manifest |
| 160 | cat ${IMAGE_MANIFEST} | cut -d " " -f1,3 > usr/package.manifest | 136 | cat ${IMAGE_MANIFEST} | cut -d " " -f1,3 > usr/package.manifest |
| 161 | } | 137 | } |
diff --git a/classes/sota.bbclass b/classes/sota.bbclass index 71bd303..dc18cbc 100644 --- a/classes/sota.bbclass +++ b/classes/sota.bbclass | |||
| @@ -5,8 +5,11 @@ SOTA_CLIENT_PROV ??= "aktualizr-shared-prov" | |||
| 5 | SOTA_DEPLOY_CREDENTIALS ?= "1" | 5 | SOTA_DEPLOY_CREDENTIALS ?= "1" |
| 6 | SOTA_HARDWARE_ID ??= "${MACHINE}" | 6 | SOTA_HARDWARE_ID ??= "${MACHINE}" |
| 7 | 7 | ||
| 8 | IMAGE_INSTALL_append_sota = " ostree os-release ${SOTA_CLIENT} ${SOTA_CLIENT_PROV}" | ||
| 9 | IMAGE_CLASSES += " image_types_ostree image_types_ota image_repo_manifest" | 8 | IMAGE_CLASSES += " image_types_ostree image_types_ota image_repo_manifest" |
| 9 | IMAGE_INSTALL_append_sota = " ${SOTA_CLIENT} ${SOTA_CLIENT_PROV} \ | ||
| 10 | ostree os-release ostree-kernel \ | ||
| 11 | ${@'ostree-initramfs' if d.getVar('KERNEL_IMAGETYPE') != 'fitImage' else ''} \ | ||
| 12 | ${@'ostree-devicetrees' if oe.types.boolean('${OSTREE_DEPLOY_DEVICETREE}') else ''}" | ||
| 10 | 13 | ||
| 11 | IMAGE_FSTYPES += "${@bb.utils.contains('DISTRO_FEATURES', 'sota', 'ostreepush garagesign garagecheck ota-ext4 wic', ' ', d)}" | 14 | IMAGE_FSTYPES += "${@bb.utils.contains('DISTRO_FEATURES', 'sota', 'ostreepush garagesign garagecheck ota-ext4 wic', ' ', d)}" |
| 12 | IMAGE_FSTYPES += "${@bb.utils.contains('BUILD_OSTREE_TARBALL', '1', 'ostree.tar.bz2', ' ', d)}" | 15 | IMAGE_FSTYPES += "${@bb.utils.contains('BUILD_OSTREE_TARBALL', '1', 'ostree.tar.bz2', ' ', d)}" |
| @@ -27,6 +30,9 @@ OSTREE_BRANCHNAME ?= "${SOTA_HARDWARE_ID}" | |||
| 27 | OSTREE_OSNAME ?= "poky" | 30 | OSTREE_OSNAME ?= "poky" |
| 28 | OSTREE_BOOTLOADER ??= 'u-boot' | 31 | OSTREE_BOOTLOADER ??= 'u-boot' |
| 29 | OSTREE_BOOT_PARTITION ??= "/boot" | 32 | OSTREE_BOOT_PARTITION ??= "/boot" |
| 33 | OSTREE_KERNEL ??= "${KERNEL_IMAGETYPE}" | ||
| 34 | OSTREE_DEPLOY_DEVICETREE ??= "0" | ||
| 35 | OSTREE_DEVICETREE ??= "${KERNEL_DEVICETREE}" | ||
| 30 | 36 | ||
| 31 | INITRAMFS_IMAGE ?= "initramfs-ostree-image" | 37 | INITRAMFS_IMAGE ?= "initramfs-ostree-image" |
| 32 | 38 | ||
