diff options
-rw-r--r-- | README.adoc | 22 | ||||
-rw-r--r-- | recipes-sota/aktualizr/aktualizr-hsm-prov.bb (renamed from recipes-sota/aktualizr/aktualizr-hsm-test-prov.bb) | 2 | ||||
-rw-r--r-- | recipes-sota/aktualizr/aktualizr_git.bb | 4 |
3 files changed, 14 insertions, 14 deletions
diff --git a/README.adoc b/README.adoc index a85be18..403e0f8 100644 --- a/README.adoc +++ b/README.adoc | |||
@@ -79,7 +79,7 @@ Although we have used U-Boot so far, other boot loaders can be configured work w | |||
79 | * `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". | 79 | * `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". |
80 | * `OSTREE_INITRAMFS_IMAGE` - initramfs/initrd image that is used as a proxy while booting into OSTree deployment. Do not change this setting unless you are sure that your initramfs can serve as such a proxy. | 80 | * `OSTREE_INITRAMFS_IMAGE` - initramfs/initrd image that is used as a proxy while booting into OSTree deployment. Do not change this setting unless you are sure that your initramfs can serve as such a proxy. |
81 | * `SOTA_PACKED_CREDENTIALS` - when set, your ostree commit will be pushed to a remote repo as a bitbake step. This should be the path to a zipped credentials file in https://github.com/advancedtelematic/aktualizr/blob/master/docs/credentials.adoc[the format accepted by garage-push]. | 81 | * `SOTA_PACKED_CREDENTIALS` - when set, your ostree commit will be pushed to a remote repo as a bitbake step. This should be the path to a zipped credentials file in https://github.com/advancedtelematic/aktualizr/blob/master/docs/credentials.adoc[the format accepted by garage-push]. |
82 | * `SOTA_CLIENT_PROV` - which provisioning method to use. Valid options are https://github.com/advancedtelematic/aktualizr/blob/master/docs/automatic-provisioning.adoc[`aktualizr-auto-prov`], https://github.com/advancedtelematic/aktualizr/blob/master/docs/implicit-provisioning.adoc[`aktualizr-implicit-prov`], and `aktualizr-hsm-test-prov`. The default is `aktualizr-auto-prov`. This can also be set to an empty string to avoid using a provisioning recipe. | 82 | * `SOTA_CLIENT_PROV` - which provisioning method to use. Valid options are https://github.com/advancedtelematic/aktualizr/blob/master/docs/automatic-provisioning.adoc[`aktualizr-auto-prov`], https://github.com/advancedtelematic/aktualizr/blob/master/docs/implicit-provisioning.adoc[`aktualizr-implicit-prov`], and `aktualizr-hsm-prov`. The default is `aktualizr-auto-prov`. This can also be set to an empty string to avoid using a provisioning recipe. |
83 | * `SOTA_CLIENT_FEATURES` - extensions to aktualizr. Multiple can be specified if separated by spaces. Valid options are `hsm` (to build with HSM support) and `secondary-example` (to install an example https://github.com/advancedtelematic/aktualizr/blob/master/docs/legacysecondary.adoc[legacy secondary interface] in the image). | 83 | * `SOTA_CLIENT_FEATURES` - extensions to aktualizr. Multiple can be specified if separated by spaces. Valid options are `hsm` (to build with HSM support) and `secondary-example` (to install an example https://github.com/advancedtelematic/aktualizr/blob/master/docs/legacysecondary.adoc[legacy secondary interface] in the image). |
84 | * `SOTA_LEGACY_SECONDARY_INTERFACE` - path to a legacy secondary interface installed on the device. To use the example interface from the Aktualizr repo, use `/usr/bin/example-interface` and make sure `SOTA_CLIENT_FEATURES = "secondary-example"`. | 84 | * `SOTA_LEGACY_SECONDARY_INTERFACE` - path to a legacy secondary interface installed on the device. To use the example interface from the Aktualizr repo, use `/usr/bin/example-interface` and make sure `SOTA_CLIENT_FEATURES = "secondary-example"`. |
85 | * `SOTA_SECONDARY_ECUS` - a list of paths separated by spaces of JSON configuration files for virtual secondaries on the host. These will be installed into `/var/sota/ecus` on the device. | 85 | * `SOTA_SECONDARY_ECUS` - a list of paths separated by spaces of JSON configuration files for virtual secondaries on the host. These will be installed into `/var/sota/ecus` on the device. |
@@ -89,25 +89,25 @@ Although we have used U-Boot so far, other boot loaders can be configured work w | |||
89 | 89 | ||
90 | === OSTree | 90 | === OSTree |
91 | 91 | ||
92 | OSTree includes its own simple http server. It just exposes the whole OSTree repository to the network so that any remote device can pull data from it to device's local repository. To use the OSTree http server, you will need OSTree installed on your build machine. (Alternatively, you could run version built inside Yocto using bitbake's http://www.openembedded.org/wiki/Devshell[devshell].) | 92 | OSTree used to include a simple HTTP server as part of the ostree binary, but this has been removed in more recent versions. However, OSTree repositories are self-contained directories, and can be trivially served over the network using any HTTP server. For example, you could use Python's SimpleHTTPServer: |
93 | |||
94 | To expose your repo, run ostree trivial-httpd using any free port: | ||
95 | 93 | ||
96 | .... | 94 | .... |
97 | ostree trivial-httpd tmp/deploy/images/qemux86-64/ostree_repo -P 57556 | 95 | cd tmp/deploy/images/qemux86-64/ostree_repo |
96 | python -m SimpleHTTPServer <port> # port defaults to 8000 | ||
98 | .... | 97 | .... |
99 | 98 | ||
100 | You can then run ostree from inside your device by adding your repo: | 99 | You can then run ostree from inside your device by adding your repo: |
101 | 100 | ||
102 | .... | 101 | .... |
103 | # agl-remote identifies the remote server in your local repo | 102 | # This behaves like adding a Git remote; you can name it anything |
104 | ostree remote add --no-gpg-verify my-remote http://192.168.7.1:57556 ota | 103 | ostree remote add --no-gpg-verify my-remote http://<your-ip>:<port> |
105 | 104 | ||
106 | # ota is a branch name in the remote repo, set in OSTREE_BRANCHNAME | 105 | # If OSTREE_BRANCHNAME is set in local.conf, that will be the name of the |
107 | ostree pull my-remote ota | 106 | # branch. If not set, it defaults to the value of MACHINE (e.g. qemux86-64). |
107 | ostree pull my-remote <branch> | ||
108 | 108 | ||
109 | # poky is OS name as set in OSTREE_OSNAME | 109 | # poky is the OS name as set in OSTREE_OSNAME |
110 | ostree admin deploy --os=poky my-remote:ota | 110 | ostree admin deploy --os=poky my-remote:<branch> |
111 | .... | 111 | .... |
112 | 112 | ||
113 | After restarting, you will boot into the newly deployed OS image. | 113 | After restarting, you will boot into the newly deployed OS image. |
diff --git a/recipes-sota/aktualizr/aktualizr-hsm-test-prov.bb b/recipes-sota/aktualizr/aktualizr-hsm-prov.bb index 1e893fa..944607c 100644 --- a/recipes-sota/aktualizr/aktualizr-hsm-test-prov.bb +++ b/recipes-sota/aktualizr/aktualizr-hsm-prov.bb | |||
@@ -21,7 +21,7 @@ require credentials.inc | |||
21 | do_install() { | 21 | do_install() { |
22 | install -d ${D}${libdir}/sota | 22 | install -d ${D}${libdir}/sota |
23 | aktualizr_implicit_writer -c ${SOTA_PACKED_CREDENTIALS} --no-root-ca \ | 23 | aktualizr_implicit_writer -c ${SOTA_PACKED_CREDENTIALS} --no-root-ca \ |
24 | -i ${STAGING_DIR_NATIVE}${libdir}/sota/sota_hsm_test.toml -o ${D}${libdir}/sota/sota.toml -p ${D} | 24 | -i ${STAGING_DIR_NATIVE}${libdir}/sota/sota_hsm_prov.toml -o ${D}${libdir}/sota/sota.toml -p ${D} |
25 | } | 25 | } |
26 | 26 | ||
27 | FILES_${PN} = " \ | 27 | FILES_${PN} = " \ |
diff --git a/recipes-sota/aktualizr/aktualizr_git.bb b/recipes-sota/aktualizr/aktualizr_git.bb index 48ed652..872ae9a 100644 --- a/recipes-sota/aktualizr/aktualizr_git.bb +++ b/recipes-sota/aktualizr/aktualizr_git.bb | |||
@@ -21,7 +21,7 @@ SRC_URI = " \ | |||
21 | file://aktualizr.service \ | 21 | file://aktualizr.service \ |
22 | file://aktualizr-serialcan.service \ | 22 | file://aktualizr-serialcan.service \ |
23 | " | 23 | " |
24 | SRCREV = "e53f2a5747bba3e4f40609aa27f3d89e80c2d784" | 24 | SRCREV = "07d73645231681848bd943074498581e930d8582" |
25 | BRANCH ?= "master" | 25 | BRANCH ?= "master" |
26 | 26 | ||
27 | S = "${WORKDIR}/git" | 27 | S = "${WORKDIR}/git" |
@@ -55,7 +55,7 @@ do_install_append_class-native () { | |||
55 | rm -f ${D}${bindir}/example-interface | 55 | rm -f ${D}${bindir}/example-interface |
56 | install -d ${D}${libdir}/sota | 56 | install -d ${D}${libdir}/sota |
57 | install -m 0644 ${S}/config/sota_autoprov.toml ${D}/${libdir}/sota/sota_autoprov.toml | 57 | install -m 0644 ${S}/config/sota_autoprov.toml ${D}/${libdir}/sota/sota_autoprov.toml |
58 | install -m 0644 ${S}/config/sota_hsm_test.toml ${D}/${libdir}/sota/sota_hsm_test.toml | 58 | install -m 0644 ${S}/config/sota_hsm_prov.toml ${D}/${libdir}/sota/sota_hsm_prov.toml |
59 | install -m 0644 ${S}/config/sota_implicit_prov.toml ${D}/${libdir}/sota/sota_implicit_prov.toml | 59 | install -m 0644 ${S}/config/sota_implicit_prov.toml ${D}/${libdir}/sota/sota_implicit_prov.toml |
60 | 60 | ||
61 | install -m 0755 ${B}/src/sota_tools/garage-sign-prefix/src/garage-sign/bin/* ${D}${bindir} | 61 | install -m 0755 ${B}/src/sota_tools/garage-sign-prefix/src/garage-sign/bin/* ${D}${bindir} |