This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
subsystem:agl-sota:ostree [2016/10/06 12:44] oytis [Secure update] |
subsystem:agl-sota:ostree [2020/09/02 16:44] (current) jsmoeller [Building] |
||
---|---|---|---|
Line 14: | Line 14: | ||
===== SOTA client ===== | ===== SOTA client ===== | ||
Work in progress. | Work in progress. | ||
+ | |||
+ | ==== Download Master Branch ==== | ||
+ | The OTA feature is currently only available in the master branch of AGL. To fetch this branch run: | ||
+ | |||
+ | $ repo init -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo | ||
+ | $ repo sync | ||
+ | |||
===== Building ===== | ===== Building ===== | ||
- | To enable OTA feature just add **agl-ota** to the feature list when setting up your environment. | + | To enable OTA feature just add **agl-sota** to the feature list when setting up your environment. |
source meta-agl/scripts/aglsetup.sh -m qemux86-64 agl-demo agl-netboot agl-appfw-smack agl-sota | source meta-agl/scripts/aglsetup.sh -m qemux86-64 agl-demo agl-netboot agl-appfw-smack agl-sota | ||
You can then edit your local.conf | You can then edit your local.conf | ||
Line 30: | Line 37: | ||
- Live bootstrap image with the commited tree as the only [[https://ostree.readthedocs.io/en/latest/manual/deployment/|OSTree deployment]] ('*.otaimg' file). | - Live bootstrap image with the commited tree as the only [[https://ostree.readthedocs.io/en/latest/manual/deployment/|OSTree deployment]] ('*.otaimg' file). | ||
To boot into the resulting image, provided you've built it for QEMU run | To boot into the resulting image, provided you've built it for QEMU run | ||
- | ../meta-agl-extra/meta-sota/scripts/runqemu qemuparams="-vga std" tmp/deploy/images/qemux86-64/agl-demo-platform-qemux86-64.otaimg | + | qemu-system-x86_64 -bios tmp/deploy/images/qemux86-64/u-boot-qemux86-64.rom -drive file=tmp/deploy/images/qemux86-64/agl-demo-platform-qemux86-64.ota-ext4,if=ide,format=raw,snapshot=on -serial stdio -m 2G -object rng-random,id=rng0,filename=/dev/urandom -device virtio-rng-pci,rng=rng0 -net user,hostfwd=tcp:0.0.0.0:2222-:22,restrict=off -net nic,macaddr=ca:fe:85:b2:7b:b9 -usb -device usb-tablet -show-cursor -vnc :0 -cpu host -enable-kvm |
runqemu script from poky upstream is not able to work with OTA images at the moment. | runqemu script from poky upstream is not able to work with OTA images at the moment. | ||
Line 38: | Line 45: | ||
To expose your repo run ostree trivial-httpd using any free port. | To expose your repo run ostree trivial-httpd using any free port. | ||
- | ostree trivial-httpd tmp/deploy/images/qemux86-64/ostree_repo -P 57556 | + | cd tmp/deploy/images/qemux86-64/ostree_repo && python -m SimpleHTTPServer 57556 |
You can then run from inside your device or QEMU emulation, provided your network is set up correctly. | You can then run from inside your device or QEMU emulation, provided your network is set up correctly. | ||
Line 45: | Line 52: | ||
ostree remote add --no-gpg-verify agl-remote http://192.168.7.1:57556 agl-ota | ostree remote add --no-gpg-verify agl-remote http://192.168.7.1:57556 agl-ota | ||
| | ||
- | # agl-ota is a branch name in the remote repo, set in OSTREE_BRANCHNAME | + | # agl-otaq-emux86-64 is a branch name in the remote repo, set in OSTREE_BRANCHNAME |
- | ostree pull agl-remote agl-ota | + | # default value for OSTREE_BRANCHNAME is "${MACHINE}" |
+ | ostree pull agl-remote qemux86-64 | ||
| | ||
# agl is OS name as set in OSTREE_OSNAME | # agl is OS name as set in OSTREE_OSNAME | ||
- | ostree admin deploy --os=agl agl-remote:agl-ota | + | ostree admin deploy --os=poky agl-remote:qemux86-64 |
+ | |||
After restart you should boot into the newly deployed OS image. | After restart you should boot into the newly deployed OS image. | ||
+ | |||
+ | E.g. for the raspberrypi3 you can try this sequence: | ||
+ | # add remote | ||
+ | ostree remote add --no-gpg-verify agl-snapshot https://download.automotivelinux.org/AGL/snapshots/master/latest/raspberrypi3/deploy/images/raspberrypi3/ostree_repo/ agl-ota-raspberrypi3 | ||
+ | | ||
+ | # pull | ||
+ | ostree pull agl-snapshot agl-ota-raspberrypi3 | ||
+ | | ||
+ | # deploy | ||
+ | ostree admin deploy --os=agl agl-snapshot:agl-ota-raspberrypi3 | ||
+ | |||
+ | |||
===== Secure update ===== | ===== Secure update ===== | ||
Work in progress | Work in progress |