-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix the dtb handling during A/B update #23
Comments
On the Raspberry Pi 4 the MAX_RESTARTS option might be useful. This option helps e.g. if an invalid |
The following
The kernel command line under
|
Mender u-boot interactions: rollback:
install update:
commit:
|
Manual interaction example:
|
The implementation details can be found here: |
I just spotted this, in-case it helps anyone there are some extensions in the latest firmware/bootloader that should make A/B booting a bit easier. |
Many thanks for letting us know! This new feature can indeed make the A/B booting slightly easier and a bit more robust. Considering the implementation within edi-pi I would have to figure out how I could do this transition without breaking existing installations. As a general remark: tryboot really works great. I have done plenty of A/B updates over the past 12 months and I never had an issue! |
Problem Description
The README of the edi-pi project describes the issue:
Possible Solutions
Dave Jones pointed out some possible solutions: Groovy Boot Modes
Many thanks!
Additional Information
The kernel commit for the new tryboot.txt feature: firmware: raspberrypi: Add support for tryonce reboot flag
The upstream_kernel flag: Firmware handling of upstream kernel and Device Tree files
Handling of *_prefix and upstream_kernel: Boot options in config.txt
A related thread on the Raspberry Pi forum: Dual boot with automatic revert to old partition for system upgrades via image?
Partition switching implemented by Rauc: Update Boot Partition in MBR
A Mender related post: Updating Raspberry Pi boot firmware files using Yocto Project and Mender
Possible Way Forward
The new tryboot.txt feature could eventually remove the need of U-Boot. A Mender state script would then copy the relevant files (dtb/kernel/initrd) to a location on the boot partition. Further modifications would be needed to make Mender interact with the tryboot.txt feature instead of U-Boot.
As an alternative U-Boot could remain in place and do a transparent handling of the tryboot.txt feature for Mender.
The text was updated successfully, but these errors were encountered: