summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* aktualizr: Bump to latest and install headers in dev package.feat/dunfell/headersPatrick Vacek2020-08-111-2/+4
| | | | Signed-off-by: Patrick Vacek <patrickvacek@gmail.com>
* Merge pull request #763 from liuming50/cherry-pick-nfs-utils-fixes-to-dunfellPatrick Vacek2020-08-112-0/+38
|\ | | | | Cherry pick nfs utils fixes to dunfell
| * nfs-utils: don't add nfs-home-mount.service without sota enabledMartin Jansa2020-08-111-4/+4
| | | | | | | | | | | | | | | | | | | | | | * nfs-home-mount.service is installed by do_install_append_sota, so only when sota is enabled but it was always added to SYSTEMD_SERVICE_ even when sota wasn't enabled resulting in do_patch failure: nfs-utils-2.5.1-r0 do_package: SYSTEMD_SERVICE_nfs-utils value nfs-home-mount.service does not exist * use sota override everywhere Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
| * nfs-utils: fix nfs systemd daemons runtime issuesMing Liu2020-08-112-0/+38
|/ | | | | | | | | | | | | | | | nfs-mountd.service and nfs-statd.service rely on /var/lib/nfs to be present in rootfs, or else they would run into problems for some files missing in it. But a ostree/ota rootfs does not have that directory (removed during do_image), to fix that, we now copy them to /var/local/lib/nfs and mount it to /var/lib/nfs at runtime, which is done in nfs-home-mount.service. nfs-mountd.service and nfs-statd.service need run after nfs-home-mount.service. Signed-off-by: Ming Liu <ming.liu@toradex.com>
* Merge pull request #761 from psaavedra/dunfellPatrick Vacek2020-08-102-60/+0
|\ | | | | Remove boost 1.72 bbappend
| * Remove boost 1.72 bbappendLaurent Bonnans2020-08-102-60/+0
|/ | | | | | poky switched to 1.73 which includes this patch Signed-off-by: Laurent Bonnans <laurent.bonnans@here.com>
* Merge pull request #758 from advancedtelematic/fix/rpi-bootfiles-pathPatrick Vacek2020-08-041-2/+3
|\ | | | | sota_raspberrypi: Use new variable for bootfiles path.
| * sota_raspberrypi: Use new variable for bootfiles path.fix/rpi-bootfiles-pathPatrick Vacek2020-08-041-2/+3
|/ | | | | | | | This was changed in a907c3261ef583f898803706cd596d372c6644cb of meta-raspberrypi. This also requires 0b5292d13692ba074dc85227233e3a819d944204 in meta-updater-raspberrypi. Signed-off-by: Patrick Vacek <patrickvacek@gmail.com>
* Merge pull request #749 from advancedtelematic/feat/dunfell/2020.8Patrick Vacek2020-07-1421-54/+122
|\ | | | | Feat/dunfell/2020.8
| * aktualizr: Bump to 2020.8 release.feat/dunfell/2020.8Patrick Vacek2020-07-091-4/+4
| | | | | | | | Signed-off-by: Patrick Vacek <patrickvacek@gmail.com>
| * ostree-kernel-initramfs: fix devicetree deploymentantznin2020-07-081-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following the changes in ostree's deployment of the kernel, initramfs and devicetree in /lib/modules/$kver, the deployment method of the device tree also changed. Instead of picking the first device tree it finds at a given location, ostree looks at a file named devicetree, next to kernel and initramfs in /lib/modules/$kver. This commit modifies ostree-kernel-initramfs to deploy the devicetree from the sota-defined variable OSTREE_DEVICETREE. It will pick the first one from the list of device trees that OSTREE_DEVICETREE defines, and copy it to /lib/modules/$kver. Note that since OSTREE_DEVICETREE equals to KERNEL_DEVICETREE when it isn't explicitly defined, it could indeed be a list of device trees. Signed-off-by: antznin <agodard@witekio.com>
| * image_types_ota.bbclass: change IMAGE_BASENAME to PNMing Liu2020-07-081-1/+1
| | | | | | | | | | | | | | | | | | When setting intertask dependencies, we should use PN instead of IMAGE_BASENAME to refer to a image recipe, since PN is generated from recipe file name, while IMAGE_BASENAME is a variable that could be changed, it's not guaranteed to always equal to PN. Signed-off-by: Ming Liu <ming.liu@toradex.com>
| * ostree-kernel-initramfs: skip recipe when OSTREE_KERNEL is not definedMartin Jansa2020-07-081-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * otherwise it fails with useless error: ostree-kernel-initramfs/0.0.1-r0/temp/run.do_install.3011' failed with exit code 1: cp: -r not specified; omitting directory 'tmp-glibc/deploy/images/qemux86/' WARNING: exit code 1 from a shell command. because of cp ${DEPLOY_DIR_IMAGE}/${OSTREE_KERNEL} $kerneldir/vmlinuz in do_install will try to copy whole ${DEPLOY_DIR_IMAGE}/ when ${OSTREE_KERNEL} is empty as reported in: https://github.com/advancedtelematic/meta-updater/pull/740#issuecomment-651952735 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
| * ostree-kernel-initramfs: deploy dtbs from OSTREE_DEVICETREEantznin2020-07-081-1/+1
| | | | | | | | Signed-off-by: antznin <agodard@witekio.com>
| * ostree-kernel-initramfs: fix parsing for MACHINEs which don't define ↵Martin Jansa2020-07-081-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>
| * 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: introduce ostree-kernel-initramfs recipeMing Liu2020-07-084-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>
| * 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>
| * aktualizr: make use of boot-complete.targetStefan Agner2020-07-081-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>
| * Add recipe to build images with binary primariesLaurent Bonnans2020-07-082-0/+23
| | | | | | | | Signed-off-by: Laurent Bonnans <laurent.bonnans@here.com>
| * image_types_ostree: allow specifying a device tree to deployantznin2020-07-081-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 #731 from advancedtelematic/feat/dunfell/2020.7lbonn2020-06-039-54/+110
|\ | | | | 2020.7 on dunfell
| * Update garage-push invocation for new clifeat/dunfell/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 #718 from advancedtelematic/feat/dunfell/2020.6Patrick Vacek2020-05-052-4/+5
|\ | | | | Feat/dunfell/2020.6
| * aktualizr: Update to 2020.6 release and garage-sign 0.7.1.feat/dunfell/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>
* Refactor CI scripts for dunfell support.Patrick Vacek2020-04-067-223/+28
| | | | Signed-off-by: Patrick Vacek <patrickvacek@gmail.com>
* Merge pull request #710 from advancedtelematic/fix/envsetup-zshlbonn2020-04-031-10/+22
|\ | | | | Fix envsetup when run in zsh
| * Fix envsetup when run in zshfix/envsetup-zshLaurent Bonnans2020-04-031-10/+22
|/ | | | | | Now also works with zsh < 5.5 Signed-off-by: Laurent Bonnans <laurent.bonnans@here.com>
* Merge pull request #705 from advancedtelematic/feat/tuf-cli-aws-bucketPatrick Vacek2020-04-021-5/+5
|\ | | | | aktualizr: Get garage-sign from the new AWS bucket.
| * aktualizr: Bump to latest and get garage-sign from the new AWS bucket.feat/tuf-cli-aws-bucketPatrick 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 #704 from shr-project/jansa/dunfellPatrick Vacek2020-03-251-1/+1
|\ | | | | layer.conf: update LAYERSERIES_COMPAT for dunfell
| * layer.conf: update LAYERSERIES_COMPAT for dunfellMartin Jansa2020-03-251-1/+1
| | | | | | | | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* | Merge pull request #699 from advancedtelematic/feat/2020.4Patrick Vacek2020-03-252-6/+6
|\ \ | |/ |/| aktualizr: Bump to latest along with garage-sign.
| * Fix oe-selftest log message casefeat/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>
* Merge pull request #697 from ↵Patrick Vacek2020-03-162-2/+4
|\ | | | | | | | | advancedtelematic/fix/primary-secondary-communication/wait-till-network-up fix: run aktualizr service after network is online
| * fix: run aktualizr service after network is onlinefix/primary-secondary-communication/wait-till-network-upMykhaylo Sul2020-03-122-2/+4
|/ | | | Signed-off-by: Mykhaylo Sul <ext-mykhaylo.sul@here.com>