summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Put aktualizr-info in a separate package and use it in Secondaries.Patrick Vacek2020-07-083-9/+9
| | | | | | | | | We did the work a while ago to make aktualizr-info work for Secondaries, but until now we weren't putting the tool into the secondary-image we use for testing. Now it's there. Actually, it's in every image that inherits from sota.bbclass, which is probably a good thing. Signed-off-by: Patrick Vacek <patrickvacek@gmail.com>
* meta: change virtual/network-configuration to network-configurationMing Liu2020-07-0812-15/+15
| | | | | | | | | | The name 'virtual' is a recipe specific concept but not a package specific one, it's confusing that a package provides 'virtual/' names. Let's drop 'virtual/' from network-configuration, to keep consistent with yocto naming styles. Signed-off-by: Ming Liu <ming.liu@toradex.com>
* Add recipe to build images with binary primariesLaurent Bonnans2020-07-082-0/+23
| | | | Signed-off-by: Laurent Bonnans <laurent.bonnans@here.com>
* Merge pull request #743 from ↵Patrick Vacek2020-06-301-1/+1
|\ | | | | | | | | liuming50/cherry-pick-a-ostree-kernel-initramfs-fix-from-master ostree-kernel-initramfs: deploy dtbs from OSTREE_DEVICETREE
| * ostree-kernel-initramfs: deploy dtbs from OSTREE_DEVICETREEantznin2020-06-301-1/+1
|/ | | | Signed-off-by: antznin <agodard@witekio.com>
* Merge pull request #740 from ↵Patrick Vacek2020-06-305-26/+63
|\ | | | | | | | | liuming50/cherry-pick-several-patches-from-master-to-zeus Cherry pick several patches from master to zeus
| * ostree-kernel-initramfs: fix parsing for MACHINEs which don't define ↵Martin Jansa2020-06-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | INITRAMFS_IMAGE * when INITRAMFS_IMAGE isn't defined at all, the "d.getVar('INITRAMFS_IMAGE') == ''" part doesn't do anything useful, because the unexpanded version of this ends in do_install[depends] variable and breaks parsing: meta-updater/recipes-sota/ostree-kernel-initramfs/ostree-kernel-initramfs_0.0.1.bb:do_install[depends], dependency ''][d.getVar('INITRAMFS_IMAGE') in 'virtual/kernel:do_deploy ${@['${INITRAMFS_IMAGE}:do_image_complete', ''][d.getVar('INITRAMFS_IMAGE') == '']} virtual/fakeroot-native:do_populate_sysroot' does not contain exactly one ':' character. Task 'depends' should be specified in the form 'packagename:task' Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
| * aktualizr: make use of boot-complete.targetStefan Agner2020-06-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From the systemd.special(7) man page section boot-complete.target: This target is intended as generic synchronization point for services that shall determine or act on whether the boot process completed successfully. Let's make use of the target. Since aktualizr by default marks a boot as successful, we consider aktualizr.service a service which needs to be executed on successful boot (hence after the boot-complete.target). This allows to declare a service as crucial by simply ordering it before the boot-complete.target. The systemd example service systemd-boot-check-no-failures.service can serve as an example. This change does not add any service dependency by default as boot-complete.target by default does not has any extra dependencies. Note that rebooting in the failure case is not handled by this mechanism. This can be added by using FailureAction. Boot assessement infrastructure got introduced with systemd 240. See also: https://systemd.io/AUTOMATIC_BOOT_ASSESSMENT/ Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
| * meta: introduce ostree-kernel-initramfs recipeMing Liu2020-06-274-26/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We package kernel image, devicetrees, initramfs and install them to /usr/lib/modules/${KERNEL_VERSION}, which is the preferred location according to ostree's new implementation, this could simplify the deployment. Reference: https://github.com/ostreedev/ostree/commit/3ab0d5e6644885440bac6abd17b6d2637df5435f To let initramfs-ostree-image be able to be depended by ostree-kernel-initramfs, it must inherit nopackages to avoid a annoying QA warning like the follows: | WARNING: initramfs-ostree-image-0.0.1-r0 do_package: Manifest ...initramfs-ostree-image.packagedata | not found in colibri_imx6 armv7ahf-neon-imx armv7at2hf-neon-imx armv7at2hf-neon armv7ahf-neon armv7at2hf-vfp | armv7ahf-vfp armv6thf-vfp armv6hf-vfp armv5tehf-vfp armv5ehf-vfp armv5thf-vfp armv5hf-vfp allarch | x86_64_x86_64-nativesdk (variant '')? Also we need define OSTREE_KERNEL, OSTREE_DEPLOY_DEVICETREE and OSTREE_DEVICETREE in sota.bbclass so they could be accessed in other recipes as well as in image recipes. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Signed-off-by: Ming Liu <ming.liu@toradex.com>
| * image_types_ostree: allow specifying a device tree to deployantznin2020-06-271-3/+4
|/ | | | | | | | | | | When setting `OSTREE_DEPLOY_DEVICETREE` to 1, it will by default deploy all the device tree blobs present in `KERNEL_DEVICETREE`. Adding `OSTREE_DEVICETREE` would allow specifying a specific device tree blob (or several dtbs), thus resulting in only the specified ones in the image. This is particularely useful because ostree selects the first device tree it finds in /boot, and discards the remaining ones. Signed-off-by: antznin <agodard@witekio.com>
* Merge pull request #732 from advancedtelematic/feat/zeus/2020.7lbonn2020-06-039-54/+110
|\ | | | | 2020.7 on zeus
| * Update garage-push invocation for new clifeat/zeus/2020.7Laurent Bonnans2020-06-021-1/+1
| | | | | | | | Signed-off-by: Laurent Bonnans <laurent.bonnans@here.com>
| * Bump aktualizr to 2020.7 revisionLaurent Bonnans2020-06-021-4/+4
| | | | | | | | | | | | And garage-sign to 0.7.1-4 Signed-off-by: Laurent Bonnans <laurent.bonnans@here.com>
| * image_types_ostree: allow to add layer specific OSTree commit argumentsStefan Agner2020-06-021-1/+2
| | | | | | | | | | | | | | | | | | | | The OSTree commit command allows to add metadata to the commit. This might be customized in a distro layer for distribution specific needs. Allow to pass extra arguments using EXTRA_OSTREE_COMMIT variable (using a variable named similar to EXTRA_OEMAKE used to pass extra make arguments). Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
| * Adding collectd coniguration for aktualizrLaurent Bonnans2020-06-023-0/+35
| | | | | | | | Signed-off-by: Laurent Bonnans <laurent.bonnans@here.com>
| * image_types_ota: use named referenceStefan Agner2020-06-021-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use named reference when deploying the device tree. This makes sure that this reference will end up in the deployments .origin file, which will be visible by the user in ostree admin status. This reference will also be used when running ostree admin upgrade. This is not really required when using aktualizr, but can be useful during test/debugging when using pure OSTree updates. Make sure to make ${OSTREE_REPO} accessible via http and add a remote on the device called ${OSTREE_OSNAME} pointing to the http exposed archive OSTree. With that ostree admin upgrade should work. Note: We could use the name reference in ostree pull-local already, but this is potentially racy if multiple builds are committing to the same branch. Use the OSTree commit hash to get the actual commit and recreate a local reference to this commit. This makes absolutely sure that we use the same OSTree commit this bitbake execution committed during the do_image_ostreecommit task. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
| * image_types_ostree/ota: use hash from ostree commitStefan Agner2020-06-022-13/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Relying on a OSTree branch reference has been problematic in the past and addressed by adding more attributes to it in commit 202a8c70ba8c ("image_types_ostree: Add a unique ref to fix simultaneous bitbaking."). However, depening on what kind of OpenEmbedded builds are running in parallel, even more attributes would need to be taken into account. Instead of relying on a reference, store the exact ostree commit hash in a manifest file and reuse it in the do_image_ota deploy task. This guarantees that the correct reference gets picked even when two builds with the exact same machine/image name run in parallel. Note: This gets rid of the second branch name again. If the branch name with image name is preferred, the variable OSTREE_BRANCHNAME can be used: OSTREE_BRANCHNAME = "${SOTA_HARDWARE_ID}-${IMAGE_BASENAME}" Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
| * initramfs-ostree-image: drop qemuboot from IMAGE_CLASSESMing Liu2020-06-021-1/+1
| | | | | | | | | | | | | | To avoid generating a qemuboot.conf for qemu machines, it's useless for a initramfs image. Signed-off-by: Ming Liu <ming.liu@toradex.com>
| * sota_sanity.bbclass: introduce sota_check_boolean_variableMing Liu2020-06-024-13/+20
| | | | | | | | | | | | | | | | | | | | The current sanity check are too strict for some boolean variables, introduce sota_check_boolean_variable to allow a boolean value to be set like yes/y/true/t/1 or no/n/false/f/0. Also change to use oe.types.boolean to check their values. Signed-off-by: Ming Liu <ming.liu@toradex.com>
| * image_types_ostree/ota: move home physically to /var/rootdirs/homeStefan Agner2020-06-022-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of using the double indirection mode /home -> /var/rootdirs/home -> /sysroot/home move the home directory physically into /var/rootdirs. This allows to use the --modern flag when initializing the file system. The "old" style is still supported, and does make sense in case the home directories need to be shared between multiple deployments. Since multiple deployments is not a use case in meta-updater use the /var approach. See also: https://github.com/ostreedev/ostree/issues/2085. The modern flag also gets rid of dev, proc, root, run, sys and tmp. All of them have been empty and unused. Note: This change cannot be pushed through updates as this is an initial deployment setting. Only devices provisioned with images built with this change applied will use the new layout. Updates will continue to work on both systems as the symlink from the deployment stays the same (first indirection is still /home -> /var/rootdirs/home). Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
| * image_types_ostree/ota: do not commit homes to the OSTreeStefan Agner2020-06-022-9/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The home directory currently are commited to the OSTree, presumably to then use it for the deployment. However, we do have access to the original rootfs in the OSTree deployment tasks (do_image_ota) hence transferring the files "via OSTree" is not necessary. We do already carry over some files from the original OE rootfs to /var/sota. Follow this approach for /var/local and /home as well. The home will still be stored in the sysroot as documented in https://ostree.readthedocs.io/en/latest/manual/adapting-existing/. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
| * image_types_ostree: use hardlink treeStefan Agner2020-06-021-5/+15
| | | | | | | | | | | | | | | | | | | | | | Instead of copying the files to be commited to the ostree just use a hardlink tree. This improves performance and wasts less diskspace. When using this method the root directory has already the correct permission bits set. Also get rid of the unnecessary sync. This halfs the execution time of the do_image_ostree tasks in my measurments. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
| * image_types_ostree: drop unnecessary tmp handlingStefan Agner2020-06-021-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | The current code clears tmp and then creates a symlink inside it to /sysroot/tmp: tmp └── tmp -> sysroot/tmp This is likely a mistake and the root tmp should have pointed to sysroot/tmp. However, since /tmp is mounted as a tmpfs anyways, we can get rid of all this logic. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
| * image_types_ota: export OSTREE_BOOT_PARTITION when neededStefan Agner2020-06-021-2/+5
|/ | | | | | | | The environment variable OSTREE_BOOT_PARTITION is only used when using GRUB. Move the export into the if statement. Also add a comment why manually adding /boot/loader{.0} directory is necessary. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
* Merge pull request #719 from advancedtelematic/feat/zeus/2020.6Patrick Vacek2020-05-053-14/+27
|\ | | | | Feat/zeus/2020.6
| * aktualizr: Update to 2020.6 release and garage-sign 0.7.1.feat/zeus/2020.6Patrick Vacek2020-04-301-4/+4
| | | | | | | | Signed-off-by: Patrick Vacek <patrickvacek@gmail.com>
| * aktualizr: Use systemd IP accounting.Patrick Vacek2020-04-291-0/+1
| | | | | | | | | | | | | | This allows you to see how much bandwidth was used with `systemd status aktualizr`. Signed-off-by: Patrick Vacek <patrickvacek@gmail.com>
| * Fix envsetup when run in zshLaurent Bonnans2020-04-291-10/+22
|/ | | | | | Now also works with zsh < 5.5 Signed-off-by: Laurent Bonnans <laurent.bonnans@here.com>
* Merge pull request #707 from advancedtelematic/feat/zeus/2020.5Patrick Vacek2020-04-021-5/+5
|\ | | | | aktualizr: Bump to 2020.5 and get garage-sign from the new AWS bucket.
| * aktualizr: Bump to 2020.5 and get garage-sign from the new AWS bucket.feat/zeus/2020.5Patrick Vacek2020-04-021-5/+5
|/ | | | | | | Also bump the garage-sign version. New version includes fixes for supporting targets > 2 GB. Signed-off-by: Patrick Vacek <patrickvacek@gmail.com>
* Merge pull request #700 from advancedtelematic/feat/zeus/2020.4Patrick Vacek2020-03-266-14/+17
|\ | | | | Feat/zeus/2020.4
| * Fix oe-selftest log message casefeat/zeus/2020.4Laurent Bonnans2020-03-251-2/+2
| | | | | | | | | | | | Was changed recently Signed-off-by: Laurent Bonnans <laurent.bonnans@here.com>
| * aktualizr: Bump to 2020.4 and latest garage-sign.Patrick Vacek2020-03-241-4/+4
| | | | | | | | Signed-off-by: Patrick Vacek <patrickvacek@gmail.com>
| * fix: run aktualizr service after network is onlineMykhaylo Sul2020-03-242-2/+4
| | | | | | | | Signed-off-by: Mykhaylo Sul <ext-mykhaylo.sul@here.com>
| * Properly track SOTA_SECONDARY_CONFIG dependencyLaurent Bonnans2020-03-241-0/+1
| | | | | | | | Signed-off-by: Laurent Bonnans <laurent.bonnans@here.com>
| * Fix aktualizr-ptest shlib yocto errorsLaurent Bonnans2020-03-241-0/+2
| | | | | | | | Signed-off-by: Laurent Bonnans <laurent.bonnans@here.com>
| * Rename defconfig and bootfilesMinori Yasumura2020-03-241-3/+4
| | | | | | | | | | | | The file name of sota has been changed in AGL, so change it to apply. Signed-off-by: Minori Yasumura <minori@witz-inc.co.jp>
| * aktualizr: remove unnecessary rm.Patrick Vacek2020-03-241-3/+0
|/ | | | | | | libuptiny (the "partial" subdirectory) and its dependencies were removed from the aktualizr repo a while ago. Signed-off-by: Patrick Vacek <patrickvacek@gmail.com>
* Merge pull request #691 from advancedtelematic/feat/zeus/2020.3Patrick Vacek2020-03-0326-224/+74
|\ | | | | Feat/zeus/2020.3
| * aktualizr: Update to 2020.3 release.feat/zeus/2020.3Patrick Vacek2020-02-281-4/+4
| | | | | | | | | | | | Update garage-sign to the latest as well. Signed-off-by: Patrick Vacek <patrickvacek@gmail.com>
| * Remove CI files not used outside of master.Patrick Vacek2020-02-286-193/+0
| | | | | | | | Signed-off-by: Patrick Vacek <patrickvacek@gmail.com>
| * oe-selftest.sh: This also now requires setting git identity.Patrick Vacek2020-02-281-0/+4
| | | | | | | | | | | | Not sure why this only started cropping up now. Signed-off-by: Patrick Vacek <patrickvacek@gmail.com>
| * sota_bleeding: Also set aktualizr-native to the latest.Patrick Vacek2020-02-281-0/+1
| | | | | | | | | | | | I'm a bit surprised we never noticed this was missing! Signed-off-by: Patrick Vacek <patrickvacek@gmail.com>
| * Update aktualizr recipe to use new .so namesLaurent Bonnans2020-02-281-7/+7
| | | | | | | | | | | | Aktualizr and garage-sign are also bumped in the process. Signed-off-by: Laurent Bonnans <laurent.bonnans@here.com>
| * image_types_ostree: update doc link.Patrick Vacek2020-02-281-2/+2
| | | | | | | | | | | | | | Most of the README content has been moved to the docs portal, so provide the direct link. Signed-off-by: Patrick Vacek <patrickvacek@gmail.com>
| * test: shared cred provisioning for non-ostree caseKostiantyn Bushko2020-02-283-0/+28
| | | | | | | | Signed-off-by: Kostiantyn Bushko <kbushko@intellias.com>
| * fix: make secondaries' network less intrusiveMykhaylo Sul2020-02-284-6/+6
| | | | | | | | Signed-off-by: Mykhaylo Sul <ext-mykhaylo.sul@here.com>
| * Remove a debug print in qemucommand.pyLaurent Bonnans2020-02-281-1/+0
| | | | | | | | | | | | Was missed during review Signed-off-by: Laurent Bonnans <laurent.bonnans@here.com>
| * Get the second IP from DHCP to access InetMykhaylo Sul2020-02-281-1/+1
| | | | | | | | Signed-off-by: Mykhaylo Sul <ext-mykhaylo.sul@here.com>
| * OTA-4388: Conf variable to specify an update type for secondaryMykhaylo Sul2020-02-283-5/+21
| | | | | | | | Signed-off-by: Mykhaylo Sul <ext-mykhaylo.sul@here.com>