diff options
-rw-r--r-- | README.adoc | 1 | ||||
-rw-r--r-- | classes/image_types_ostree.bbclass | 12 | ||||
-rw-r--r-- | recipes-sota/ostree/ostree_git.bb | 5 |
3 files changed, 16 insertions, 2 deletions
diff --git a/README.adoc b/README.adoc index 994ad67..ea9bb21 100644 --- a/README.adoc +++ b/README.adoc | |||
@@ -88,6 +88,7 @@ Although we have used U-Boot so far, other boot loaders can be configured work w | |||
88 | * `SOTA_CLIENT_FEATURES` - extensions to aktualizr. The only valid options are `hsm` (to build with HSM support) and `secondary-network` (to set up a simulated 'in-vehicle' network with support for a primary node with a DHCP server and a secondary node with a DHCP client). | 88 | * `SOTA_CLIENT_FEATURES` - extensions to aktualizr. The only valid options are `hsm` (to build with HSM support) and `secondary-network` (to set up a simulated 'in-vehicle' network with support for a primary node with a DHCP server and a secondary node with a DHCP client). |
89 | * `SOTA_SECONDARY_CONFIG_DIR` - a directory containing JSON configuration files for virtual secondaries on the host. These will be installed into `/etc/sota/ecus` on the device and automatically provided to aktualizr. | 89 | * `SOTA_SECONDARY_CONFIG_DIR` - a directory containing JSON configuration files for virtual secondaries on the host. These will be installed into `/etc/sota/ecus` on the device and automatically provided to aktualizr. |
90 | * `SOTA_HARDWARE_ID` - a custom hardware ID that will be written to the aktualizr config. Defaults to MACHINE if not set. | 90 | * `SOTA_HARDWARE_ID` - a custom hardware ID that will be written to the aktualizr config. Defaults to MACHINE if not set. |
91 | * `OSTREE_DEPLOY_DEVICETREE` - Set this to '1' to include devicetree(s) to boot | ||
91 | 92 | ||
92 | == Usage | 93 | == Usage |
93 | 94 | ||
diff --git a/classes/image_types_ostree.bbclass b/classes/image_types_ostree.bbclass index 4095de0..5cb4d51 100644 --- a/classes/image_types_ostree.bbclass +++ b/classes/image_types_ostree.bbclass | |||
@@ -6,6 +6,7 @@ OSTREE_ROOTFS ??= "${WORKDIR}/ostree-rootfs" | |||
6 | OSTREE_COMMIT_SUBJECT ??= "Commit-id: ${IMAGE_NAME}" | 6 | OSTREE_COMMIT_SUBJECT ??= "Commit-id: ${IMAGE_NAME}" |
7 | OSTREE_COMMIT_BODY ??= "" | 7 | OSTREE_COMMIT_BODY ??= "" |
8 | OSTREE_UPDATE_SUMMARY ??= "0" | 8 | OSTREE_UPDATE_SUMMARY ??= "0" |
9 | OSTREE_DEPLOY_DEVICETREE ??= "0" | ||
9 | 10 | ||
10 | BUILD_OSTREE_TARBALL ??= "1" | 11 | BUILD_OSTREE_TARBALL ??= "1" |
11 | 12 | ||
@@ -113,6 +114,14 @@ IMAGE_CMD_ostree () { | |||
113 | touch boot/initramfs-${checksum} | 114 | touch boot/initramfs-${checksum} |
114 | else | 115 | else |
115 | cp ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.${INITRAMFS_FSTYPES} boot/initramfs-${checksum} | 116 | cp ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.${INITRAMFS_FSTYPES} boot/initramfs-${checksum} |
117 | if [ "${OSTREE_DEPLOY_DEVICETREE}" = "1" ]; then | ||
118 | if test -n "${KERNEL_DEVICETREE}"; then | ||
119 | for DTS_FILE in ${KERNEL_DEVICETREE}; do | ||
120 | DTS_FILE_BASENAME=$(basename ${DTS_FILE}) | ||
121 | cp ${DEPLOY_DIR_IMAGE}/${DTS_FILE_BASENAME} boot/devicetree-${DTS_FILE_BASENAME}-${checksum} | ||
122 | done | ||
123 | fi | ||
124 | fi | ||
116 | fi | 125 | fi |
117 | 126 | ||
118 | # Copy image manifest | 127 | # Copy image manifest |
@@ -160,6 +169,9 @@ IMAGE_CMD_ostreepush () { | |||
160 | 169 | ||
161 | IMAGE_TYPEDEP_garagesign = "ostreepush" | 170 | IMAGE_TYPEDEP_garagesign = "ostreepush" |
162 | do_image_garagesign[depends] += "unzip-native:do_populate_sysroot" | 171 | do_image_garagesign[depends] += "unzip-native:do_populate_sysroot" |
172 | # This lock solves OTA-1866, which is that removing GARAGE_SIGN_REPO while using | ||
173 | # garage-sign simultaneously for two images often causes problems. | ||
174 | do_image_garagesign[lockfiles] += "${DEPLOY_DIR_IMAGE}/garagesign.lock" | ||
163 | IMAGE_CMD_garagesign () { | 175 | IMAGE_CMD_garagesign () { |
164 | if [ -n "${SOTA_PACKED_CREDENTIALS}" ]; then | 176 | if [ -n "${SOTA_PACKED_CREDENTIALS}" ]; then |
165 | # if credentials are issued by a server that doesn't support offline signing, exit silently | 177 | # if credentials are issued by a server that doesn't support offline signing, exit silently |
diff --git a/recipes-sota/ostree/ostree_git.bb b/recipes-sota/ostree/ostree_git.bb index 3e3c951..93ae6e7 100644 --- a/recipes-sota/ostree/ostree_git.bb +++ b/recipes-sota/ostree/ostree_git.bb | |||
@@ -7,9 +7,9 @@ inherit autotools pkgconfig systemd bash-completion gobject-introspection | |||
7 | 7 | ||
8 | SRC_URI = "gitsm://github.com/ostreedev/ostree.git;branch=master" | 8 | SRC_URI = "gitsm://github.com/ostreedev/ostree.git;branch=master" |
9 | 9 | ||
10 | SRCREV="3e96ec9811b5cfc5481f8b6b06c8d34d9a35408e" | 10 | SRCREV = "f3eba6bcec39c163eb831c02c148ffa483292906" |
11 | 11 | ||
12 | PV = "v2018.7" | 12 | PV = "v2018.9" |
13 | 13 | ||
14 | S = "${WORKDIR}/git" | 14 | S = "${WORKDIR}/git" |
15 | 15 | ||
@@ -61,6 +61,7 @@ FILES_${PN} = "${bindir} \ | |||
61 | ${libdir}/ostree/ostree-remount \ | 61 | ${libdir}/ostree/ostree-remount \ |
62 | ${libdir}/girepository-1.0/* \ | 62 | ${libdir}/girepository-1.0/* \ |
63 | ${@bb.utils.contains('DISTRO_FEATURES','systemd','${libdir}/tmpfiles.d', '', d)} \ | 63 | ${@bb.utils.contains('DISTRO_FEATURES','systemd','${libdir}/tmpfiles.d', '', d)} \ |
64 | ${@bb.utils.contains('DISTRO_FEATURES','systemd','${systemd_unitdir}/system/*.path', '', d)} \ | ||
64 | ${@bb.utils.contains('DISTRO_FEATURES','systemd','${systemd_unitdir}/system-generators', '', d)} \ | 65 | ${@bb.utils.contains('DISTRO_FEATURES','systemd','${systemd_unitdir}/system-generators', '', d)} \ |
65 | " | 66 | " |
66 | FILES_${PN}-dev += " ${datadir}/gir-1.0" | 67 | FILES_${PN}-dev += " ${datadir}/gir-1.0" |