So, anyone who wants to update the bootloader, can get relevant info here → Omnia - Turris Documentation
This is also relevant for situation something borked and you need to resurrect the dead Omnia (like power outage during the bootloader update).
To update the bootloader, you can use the tftp
method described in the manual, but there is much more! You can upload the new bootloader via serial, or use the USB stick.
In case you made a decision to use the USB stick, here is the process:
- get the u-boot binary
- store it on the USB drive, formatted to ext/btrfs/fat FS
- connect to Omnia over serial
- break the bootloader by pressing
any
key - plug the USB stick
- start the USB system by typing
usb start
- load the u-boot binary to memory by
load usb 0 ${kernel_addr_r} name-of-uboot-binary
- initialize the SPI flash memory by
sf probe
- update the u-boot by
sf update ${kernel_addr_r} 0 ${filesize}
- jump into new u-boot by typing
reset
As an alternative, you can update it from the running system by installing the turris-nor-update
package and issuing the nor-update -d
for developer version of u-boot or just nor-update
command to install the stable version.
The experimental/developer u-boot for Omnia with features like boot from the SATA driver card, boot from NVMe, support for GPT formatted drives, and much more, is located here → https://repo.turris.cz/hbl/omnia/packages/turrispackages/omnia-uboot_2022.04-1-ddr_arm_cortex-a9_vfpv3-d16.ipk