I have a couple of questions and confusions about the long-time maintenance of running OpenWrt on x86.
Situation: Let us assume the device in questions has SATA disk, and I have written generic-ext4-combined-efi.img
to its SATA-disk.
How do people upgrade their devices properly with minimal downtime, and at best without physical access?
Plug in i.e. a flash thumb drive with a live system, reboot, and writing a new .img
to disk, unplug the drive and reboot again, does not seam right to me.
Using pivot_root
?
Disclaimer: I have no real clue what I'm doing here, but copy/paste https://gist.github.com/TobleMiner/d85cc71709164b443cbbe42150875cde, remove set -x
, seams to work. I could boot. But this leave the boot partion untouched, which is also not cool, as in, then I need to ensure that it is up to date myself.
Just use dd
out of the running system to write to disk?
Again, I have no clue, why this could be a bad idea or what could possibly go wrong, but this worked without an issue (so far), too...
Currently my devices has no network connection and I'm only using the serial connection. Could it be a problem (writing a new .img
to disk) while dropbear has an active session or other services are running? For upgrade I could use the serial connection as this will be permanently plugged into computer next to the x86, to which I have local network access.
TL;DR; I'm looking for clues how to upgrade x86 with minimal downtime. I will only use disk-images build with image-builder if that matters.
PS: Using 2 openwrt root partions and having a really poor mans dual boot setup seams also broken to me. I need to manually ensure the correct openwrt version is booted, and write a second time to the "primary" partion to ensure that the device is boot safe without manual actions.