You've already forked LLM_buildroot-external-m5stack
mirror of
https://github.com/m5stack/LLM_buildroot-external-m5stack.git
synced 2026-05-20 11:34:12 -07:00
127 lines
3.6 KiB
Markdown
127 lines
3.6 KiB
Markdown
# RAUC OTA support
|
|
|
|
Applicable platforms: STM32MP157-DK1, STM32MP157-DK2, STM32MP135-DK
|
|
|
|
OTA support is only enabled in the *demo* configurations.
|
|
|
|
RAUC is configured to use symmetric with two rootfs.0 and rootfs.1
|
|
partition.
|
|
|
|
|
|
Use `rauc status` command to see the current boot state.
|
|
```
|
|
# rauc status
|
|
=== System Info ===
|
|
Compatible: stm32mp157d-dk1-mx
|
|
Variant:
|
|
Booted from: rootfs.0 (A)
|
|
|
|
=== Bootloader ===
|
|
Activated: rootfs.0 (A)
|
|
zsh:1: command not found: :w
|
|
=== Slot States ===
|
|
o [rootfs.1] (/dev/mmcblk0p6, raw, inactive)
|
|
bootname: B
|
|
boot status: good
|
|
|
|
x [rootfs.0] (/dev/mmcblk0p5, raw, booted)
|
|
bootname: A
|
|
boot status: good
|
|
|
|
```
|
|
|
|
Buildroot generates an update bundle in the image directory:
|
|
`output/images/rootfs.raucb`.
|
|
To deploy this RAUC update bundle onto the target board, employ
|
|
connectivity options such as WiFi, USB, or any applicable method.
|
|
Once transferred, utilize the `rauc info` command to glean information from
|
|
the update bundle, like its content and configuration.
|
|
|
|
```
|
|
# rauc info /mnt/rootfs.raucb
|
|
rauc-Message: 00:01:12.201: Config option 'statusfile=<path>/per-slot' unset, falling back to per-slot status
|
|
rauc-Message: 00:01:12.202: Using per-slot statusfile
|
|
rauc-Message: 00:01:12.203: valid /etc/rauc/system.conf found, using it
|
|
rauc-Message: 00:01:12.203: Reading bundle: /mnt/rootfs.raucb
|
|
rauc-Message: 00:01:12.252: Verifying bundle signature...
|
|
rauc-Message: 00:01:12.547: Verified inline signature by 'O = Bootlin, CN = rauc-demo'
|
|
Compatible: 'stm32mp157d-dk1-mx'
|
|
Version: '2023.02.6-3-gae4a6e0c24'
|
|
Description: '(null)'
|
|
Build: '(null)'
|
|
Hooks: ''
|
|
Bundle Format: verity
|
|
Verity Salt: 'c88b391fa796abe2911e30fc66faa45189693d486f48001351be619d83bcc1c6'
|
|
Verity Hash: 'b861d8c44839515de6ca2cb0411810f6bfc2638c31437b471f743287b53a8bc7'
|
|
Verity Size: 397312
|
|
|
|
1 Image:
|
|
[rootfs]
|
|
Filename: rootfs.squashfs
|
|
Checksum: e098279524c721c1365b84084251c0fc54959e2dac17719282027d929bcc3def
|
|
Size: 50573312
|
|
Hooks:
|
|
|
|
Certificate Chain:
|
|
0 Subject: O = Bootlin, CN = rauc-demo
|
|
Issuer: O = Bootlin, CN = rauc-demo
|
|
SPKI sha256: F3:02:8A:1A:92:B2:8C:66:E4:64:D8:7B:70:6C:61:71:EA:73:31:D7:B0:84:D2:D8:64:1C:63:20:3F:5A:B8:6C
|
|
Not Before: Dec 6 10:49:57 2023 GMT
|
|
Not After: Dec 5 10:49:57 2027 GMT
|
|
|
|
```
|
|
|
|
Use `rauc install` command to install the new rootfs and reboot.
|
|
```
|
|
# rauc install /mnt/rootfs.raucb
|
|
installing
|
|
0% Installing
|
|
0% Determining slot states
|
|
20% Determining slot states done.
|
|
20% Checking bundle
|
|
20% Verifying signature
|
|
40% Verifying signature done.
|
|
[ 562.642672] loop0: detected capacity change from 0 to 98716
|
|
40% Checking bundle done.
|
|
[ 562.688265] loop0: detected capacity change from 98716 to 98712
|
|
40% Checking manifest contents
|
|
60% Checking manifest contents done.
|
|
[ 562.746322] device-mapper: verity: sha256 using implementation "stm32-sha256"
|
|
60% Determining target install group
|
|
80% Determining target install group done.
|
|
80% Updating slots
|
|
80% Checking slot rootfs.1
|
|
90% Checking slot rootfs.1 done.
|
|
90% Copying image to rootfs.1
|
|
99% Copying image to rootfs.1 done.
|
|
99% Updating slots done.
|
|
100% Installing done.
|
|
idle
|
|
Installing `/mnt/rootfs.raucb` succeeded
|
|
# reboot
|
|
```
|
|
|
|
Then use `rauc status` command to verify the boot partition.
|
|
```
|
|
# rauc status
|
|
=== System Info ===
|
|
Compatible: stm32mp157d-dk1-mx
|
|
Variant:
|
|
Booted from: rootfs.1 (B)
|
|
|
|
=== Bootloader ===
|
|
Activated: rootfs.1 (B)
|
|
|
|
=== Slot States ===
|
|
x [rootfs.1] (/dev/mmcblk0p6, raw, booted)
|
|
bootname: B
|
|
boot status: good
|
|
|
|
o [rootfs.0] (/dev/mmcblk0p5, raw, inactive)
|
|
bootname: A
|
|
boot status: good
|
|
```
|
|
|
|
You can look at the [Rauc documentation](https://rauc.readthedocs.io/en/latest/index.html)
|
|
to discover all the update features offered by RAUC.
|