diff options
-rw-r--r-- | CONTRIBUTING.adoc | 1 | ||||
-rw-r--r-- | README.adoc | 36 | ||||
-rw-r--r-- | classes/sota_freedom-u540.bbclass | 8 | ||||
-rw-r--r-- | conf/local.conf.sample.append | 2 |
4 files changed, 34 insertions, 13 deletions
diff --git a/CONTRIBUTING.adoc b/CONTRIBUTING.adoc index 0b40438..d7dc1fa 100644 --- a/CONTRIBUTING.adoc +++ b/CONTRIBUTING.adoc | |||
@@ -2,6 +2,7 @@ | |||
2 | 2 | ||
3 | We welcome pull requests from anyone. The master branch is the primary branch for development, and if you wish to add new functionality, it probably belongs there. We attempt to maintain recent previous branches and welcome bug fixes and backports for those. Currently, the actively maintained branches are: | 3 | We welcome pull requests from anyone. The master branch is the primary branch for development, and if you wish to add new functionality, it probably belongs there. We attempt to maintain recent previous branches and welcome bug fixes and backports for those. Currently, the actively maintained branches are: |
4 | 4 | ||
5 | * warrior | ||
5 | * thud | 6 | * thud |
6 | * sumo | 7 | * sumo |
7 | * rocko | 8 | * rocko |
diff --git a/README.adoc b/README.adoc index b047f91..dd07425 100644 --- a/README.adoc +++ b/README.adoc | |||
@@ -61,7 +61,7 @@ and get as a result an `ostree_repo` folder in your images directory (`tmp/deplo | |||
61 | 61 | ||
62 | * your OSTree repository, with the rootfs committed as an OSTree deployment, | 62 | * your OSTree repository, with the rootfs committed as an OSTree deployment, |
63 | * an `ota-ext4` bootstrap image, which is an OSTree physical sysroot as a burnable filesystem image, and optionally | 63 | * an `ota-ext4` bootstrap image, which is an OSTree physical sysroot as a burnable filesystem image, and optionally |
64 | * some machine-dependent live images (e.g. `.wic` for Raspberry Pi or `.porter-sdimg-ota` Renesas Porter board). | 64 | * some machine-dependent live images (e.g. `.wic` for Raspberry Pi or `.porter-sdimg-ota` for Renesas Porter board). |
65 | 65 | ||
66 | Although `aglsetup.sh` hooks provide reasonable defaults for SOTA-related variables, you may want to tune some of them. | 66 | Although `aglsetup.sh` hooks provide reasonable defaults for SOTA-related variables, you may want to tune some of them. |
67 | 67 | ||
@@ -71,11 +71,18 @@ Ubuntu users that encounter an error due to missing `Python.h` should install `l | |||
71 | 71 | ||
72 | == Supported boards | 72 | == Supported boards |
73 | 73 | ||
74 | Currently supported platforms are | 74 | Currently supported platforms are: |
75 | 75 | ||
76 | * https://github.com/advancedtelematic/meta-updater-raspberrypi[Raspberry Pi3] | 76 | * https://github.com/advancedtelematic/meta-updater-raspberrypi[Raspberry Pi 2 and 3] |
77 | * https://github.com/advancedtelematic/meta-updater-minnowboard[Minnowboard] | 77 | * https://github.com/advancedtelematic/meta-updater-minnowboard[Intel Minnowboard] |
78 | * https://github.com/advancedtelematic/meta-updater-qemux86-64[Native QEMU emulation] | 78 | * https://github.com/advancedtelematic/meta-updater-qemux86-64[Native QEMU emulation] |
79 | * Renesas R-Car H3 and M3 | ||
80 | * https://github.com/advancedtelematic/meta-updater-ti/[TI BeagleBone Black] (rocko only, using TI SDK 05.03) | ||
81 | * https://github.com/advancedtelematic/meta-updater-ti/[TI AM65x industrial development kit] (rocko only, using TI SDK 05.03) | ||
82 | |||
83 | Additionally, there is community support for https://github.com/ricardosalveti/meta-updater-riscv[RISC-V] boards, in particular the Freedom U540. | ||
84 | |||
85 | We also historically supported the https://github.com/advancedtelematic/meta-updater-porter[Renesas Porter] board. | ||
79 | 86 | ||
80 | === Adding support for your board | 87 | === Adding support for your board |
81 | 88 | ||
@@ -92,6 +99,7 @@ Your images will also need network connectivity to be able to reach an actual OT | |||
92 | 99 | ||
93 | == SOTA-related variables in local.conf | 100 | == SOTA-related variables in local.conf |
94 | 101 | ||
102 | * `OSTREE_BRANCHNAME` - OSTree branch name. Defaults to `${SOTA_HARDWARE_ID}`. Particularly useful for grouping similar images. | ||
95 | * `OSTREE_REPO` - path to your OSTree repository. Defaults to `$\{DEPLOY_DIR_IMAGE}/ostree_repo` | 103 | * `OSTREE_REPO` - path to your OSTree repository. Defaults to `$\{DEPLOY_DIR_IMAGE}/ostree_repo` |
96 | * `OSTREE_OSNAME` - OS deployment name on your target device. For more information about deployments and osnames see the https://ostree.readthedocs.io/en/latest/manual/deployment/[OSTree documentation]. Defaults to "poky". | 104 | * `OSTREE_OSNAME` - OS deployment name on your target device. For more information about deployments and osnames see the https://ostree.readthedocs.io/en/latest/manual/deployment/[OSTree documentation]. Defaults to "poky". |
97 | * `OSTREE_COMMIT_BODY` - Message attached to OSTree commit. Empty by default. | 105 | * `OSTREE_COMMIT_BODY` - Message attached to OSTree commit. Empty by default. |
@@ -110,7 +118,7 @@ Your images will also need network connectivity to be able to reach an actual OT | |||
110 | * `SOTA_DT_OVERLAYS` - whitespace-separated list of used device tree overlays for FIT image. This list is OSTree-updateable as well. | 118 | * `SOTA_DT_OVERLAYS` - whitespace-separated list of used device tree overlays for FIT image. This list is OSTree-updateable as well. |
111 | * `SOTA_EXTRA_CONF_FRAGS` - extra https://lxr.missinglinkelectronics.com/uboot/doc/uImage.FIT/overlay-fdt-boot.txt[configuration fragments] for FIT image. | 119 | * `SOTA_EXTRA_CONF_FRAGS` - extra https://lxr.missinglinkelectronics.com/uboot/doc/uImage.FIT/overlay-fdt-boot.txt[configuration fragments] for FIT image. |
112 | * `RESOURCE_xxx_pn-aktualizr` - controls maximum resource usage of the aktualizr service, when `aktualizr-resource-control` is installed on the image. See <<aktualizr service resource control>> for details. | 120 | * `RESOURCE_xxx_pn-aktualizr` - controls maximum resource usage of the aktualizr service, when `aktualizr-resource-control` is installed on the image. See <<aktualizr service resource control>> for details. |
113 | * `SOTA_POLLING_SEC` - sets polling interval for aktualizr to check for updates if aktualizr-polling-sec is included in the image. | 121 | * `SOTA_POLLING_SEC` - sets polling interval for aktualizr to check for updates if aktualizr-polling-interval is included in the image. |
114 | 122 | ||
115 | == Usage | 123 | == Usage |
116 | 124 | ||
@@ -191,7 +199,23 @@ RESOURCE_CPU_WEIGHT_pn-aktualizr = "50" | |||
191 | 199 | ||
192 | == Development configuration | 200 | == Development configuration |
193 | 201 | ||
194 | There are a few settings that can be controlled in `local.conf` to simplify the development process: | 202 | === Logging |
203 | |||
204 | To troubleshoot problems that you might encounter during development, we recommend that you enable persistent `systemd` logging. This setting is enabled by default for newly configured environments (see link:conf/local.conf.sample.append[]). To enable it manually, put this to your `local.conf`: | ||
205 | |||
206 | .... | ||
207 | IMAGE_INSTALL_append += " systemd-journald-persistent" | ||
208 | .... | ||
209 | |||
210 | It may also be helpful to run with debug logging enabled in aktualizr. To do so, add this to your `local.conf`: | ||
211 | |||
212 | .... | ||
213 | IMAGE_INSTALL_append += " aktualizr-log-debug" | ||
214 | .... | ||
215 | |||
216 | === Custom aktualizr versions | ||
217 | |||
218 | You can override the version of aktualizr included in your image. This requires that the version you wish to run is pushed to the https://github.com/advancedtelematic/aktualizr[aktualizr github repo]. You can then use these settings in your `local.conf` to simplify the development process: | ||
195 | 219 | ||
196 | [options="header"] | 220 | [options="header"] |
197 | |====================== | 221 | |====================== |
diff --git a/classes/sota_freedom-u540.bbclass b/classes/sota_freedom-u540.bbclass index 90d11c2..c287154 100644 --- a/classes/sota_freedom-u540.bbclass +++ b/classes/sota_freedom-u540.bbclass | |||
@@ -1,15 +1,11 @@ | |||
1 | # Support fitImage by default | ||
2 | KERNEL_CLASSES_sota = " kernel-fitimage " | ||
3 | KERNEL_IMAGETYPE_sota = "fitImage" | ||
4 | KERNEL_IMAGETYPES_remove_sota = "uImage" | ||
5 | OSTREE_KERNEL = "${KERNEL_IMAGETYPE}-${INITRAMFS_IMAGE}-${MACHINE}-${MACHINE}" | 1 | OSTREE_KERNEL = "${KERNEL_IMAGETYPE}-${INITRAMFS_IMAGE}-${MACHINE}-${MACHINE}" |
6 | 2 | ||
7 | OSTREE_BOOTLOADER ?= "u-boot" | 3 | OSTREE_BOOTLOADER ?= "u-boot" |
8 | INITRAMFS_FSTYPES = "cpio.gz" | 4 | INITRAMFS_FSTYPES = "cpio.gz" |
9 | PREFERRED_PROVIDER_virtual/bootloader_sota ?= "u-boot" | 5 | PREFERRED_PROVIDER_virtual/bootloader_sota ?= "u-boot" |
10 | 6 | ||
11 | IMAGE_BOOT_FILES_sota ?= "fw_payload.bin boot.scr uEnv.txt" | 7 | IMAGE_BOOT_FILES += "uEnv.txt" |
12 | KERNEL_DEVICETREE_sota ?= "sifive/${RISCV_SBI_FDT}" | 8 | IMAGE_BOOT_FILES_remove = "fitImage" |
13 | 9 | ||
14 | OSTREE_KERNEL_ARGS_sota ?= "earlycon=sbi console=ttySIF0 ramdisk_size=16384 root=/dev/ram0 rw rootfstype=ext4 rootwait rootdelay=2 ostree_root=/dev/mmcblk0p3" | 10 | OSTREE_KERNEL_ARGS_sota ?= "earlycon=sbi console=ttySIF0 ramdisk_size=16384 root=/dev/ram0 rw rootfstype=ext4 rootwait rootdelay=2 ostree_root=/dev/mmcblk0p3" |
15 | 11 | ||
diff --git a/conf/local.conf.sample.append b/conf/local.conf.sample.append index 4588ec3..fc565f8 100644 --- a/conf/local.conf.sample.append +++ b/conf/local.conf.sample.append | |||
@@ -8,7 +8,7 @@ MACHINE = "##MACHINE##" | |||
8 | DISTRO = "poky-sota-systemd" | 8 | DISTRO = "poky-sota-systemd" |
9 | 9 | ||
10 | # General SOTA setup | 10 | # General SOTA setup |
11 | #SOTA_CLIENT_PROV = "aktualizr-auto-prov" | 11 | #SOTA_CLIENT_PROV = "aktualizr-shared-prov" |
12 | #SOTA_PACKED_CREDENTIALS = "/path/to/credentials.zip" | 12 | #SOTA_PACKED_CREDENTIALS = "/path/to/credentials.zip" |
13 | 13 | ||
14 | # Uncomment this line to start an ssh server at boot automatically | 14 | # Uncomment this line to start an ssh server at boot automatically |