この方法は絶対に正しくないと思うので冗談半分で参考にして下さい。
事の発端
「25.12.0出たんか…せや!メインのBPI-R4にowutで入れたろ!」
手順
失敗1
「とりあえずowut upgrade --version-to 25.12叩けばなんとかなるやろ」
ERROR: Update checks reveal package downgrades
失敗2
「あら、ダウングレードしてるパッケージがあるんか…、見た感じ問題ないやつだし--forceつけて叩けばなんとかなるやろ」
Image saved : /tmp/firmware.bin
Manifest : /tmp/firmware-manifest.json
Verifying : /tmp/firmware.bin (32244305 bytes) against /tmp/firmware.sha256sums
Saved sha256 matches
ERROR: sysupgrade validation failed:
stderr =
Wed Mar 11 18:23:37 JST 2026 upgrade: The device is supported, but the config is incompatible to the new image (1.0->1.1). Please upgrade without keeping config (sysupgrade -n).
Wed Mar 11 18:23:37 JST 2026 upgrade: The non-switch ports were renamed to match the board/case labels
Image check failed.
「ほう、インターフェイス名が変わったからコンフィグが引き継げないと。ほなsysupgrade -nでデータを引き継がずに起動してみるか…」
失敗3
「とりあえず/tmp/firmware.binにイメージ出来てるっぽいしsysupgrade叩くべ」
sysupgrade -n /tmp/
.uci/ dnsmasq.cfg01411c.d/ lock/ overlay/ softethervpn/ wireguard/
.ujailnoafile etc/ log/ resolv.conf state/
.unicode_cache_7d13f231.dat firmware-manifest.json luci-indexcache.247e5283.json resolv.conf.d/ sysinfo/
TZ firmware.sha256sums map-wan4map.rules rrd/ sysupgrade.meta
collectd.conf hosts/ odhcpd-piofolder/ run/ tmp/
dhcp.leases lib/ opkg-lists/ shm/ usr/
「無いやんけ!!!!!!!!!!!!!」
ようやく成功
「なんかオプション調べたら--keepってのをつけたらええらしい」
owut download --verbose --version-to 25.12 --force --keep
<中略>
ERROR: sysupgrade validation failed:
stderr =
Wed Mar 11 18:30:23 JST 2026 upgrade: The device is supported, but the config is incompatible to the new image (1.0->1.1). Please upgrade without keeping config (sysupgrade -n).
Wed Mar 11 18:30:23 JST 2026 upgrade: The non-switch ports were renamed to match the board/case labels
Image check failed.
「エラーは出たけどちゃんと残ってるかな~?」
ls /tmp
TZ firmware.sha256sums odhcpd-piofolder owut-failures-telephony.html resolv.conf sysinfo
collectd.conf hosts opkg-lists owut-failures-video.html resolv.conf.d sysupgrade.meta
dhcp.leases lib overlay owut-overview.json rrd tmp
dnsmasq.cfg01411c.d lock owut-build-request.json owut-packages-arch.json run usr
etc log owut-build-response.json owut-packages-plat.json shm wireguard
firmware-manifest.json luci-indexcache.247e5283.json owut-failures-feeds.html owut-platform.json softethervpn
firmware.bin map-wan4map.rules owut-failures-packages.html owut-rsp-header.txt state
「あるやんけ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!」
「ほなsysupgradeしますか」
sysupgrade -n /tmp/firmware.bin
「…再起動したら予想通りまっさらな状態の25.12.0が立ち上がってきたわ」
「ほな適当にバックアップコンフィグ入れてみましょ!www」
「…DHCP割り振りされなくなりましたわ、おぉ~んめんどくさいけどシリアル繋いでuci弄るかぁ」
「なんかシリアル繋いだら1回起動後に再起動走ってその後起動に失敗してるっぽいな?」
「よくわからんけどブートローダーからリセットしたろ!」
「なんかリセットしたのにコンフィグ残ってるし起動するようになった…」
「とりあえず今のうちに名前が変わったインターフェイスをチェックするで」
「SFP+ポートのeth0(wan)、eth1(lan)がそれぞれsfp-wan、sfp-lanにリネームされたのか、Eじゃん」
「とりあえずコンフィグをちょちょっと直してservice restart networkっとな」
「ちゃんと全部通信できるようになったしCloudflaredとかも設定そのままで動いてるしヨシ!(現場猫)」
結論
- ちゃんとバックアップするべし
- いざというときのためのシリアルコンソールは重要
- 適当にコンフィグ流しこんでも良いことはない(ちゃんと事前に編集しておけばOKだった案件)
- 多分SFP+インターフェイスを事前にブリッジから外しとけば問題にならなかったと思います