Rozdzieliłem wątek z innego.
Dobra Panowie (i Panie), mam ogarniętą infrastrukturę. To znaczy że mam działający własny serwer do automatycznej aktualizacji który potrafi np. przez wywołanie owut'em zbudować online i dać obraz z pakietami jakie były zainstalowane w systemie, identycznie jak to robi OpenWrt. Brzmi pięknie, ale...
1. ASU działa tak sobie. Jest silnie uzależnione od OpenWrt (właściwie od serwerów z pakietami) i cyklicznie sobie aktualizuje dane. Jak nie ma serwera - leży całe ASU bo nie pobierze plików
2. ASU ma zgłoszoną bardzo dużą liczbę uwag i błędów - 299 w chwili gdy to piszę. Różne, od prostego że nie można zrobić obrazu do bardziej wymyślnych że coś się wysypało i ASU nie chce budować bo ma 600 kolejek. Więc patrz punkt 1 - ASU jest takie sobie.
3. Jest bardzo kiepsko udokumentowany. Spędziłem trochę czasu poprawiając projekt, wprowadzając zmiany które są w PR i issue i tak samo jak inni, zastanawiając się jakim cudem ASU od OpenWrt w ogóle działa. Chyba że nie wrzucili zmian na gita i coś ukrywają (mała teoria spiskowa)
4. Moje ASU korzysta z moich pakietów oraz pakietów OpenWrt. To znaczy że można zbudować obraz dla architektur które ja kompiluję i uzupełnić całość pakietami pochodzącymi z repo OpenWrt. Co ma też bezpośrednie przełożenie na stabilność systemu - o ile sam budowałem obrazy i w takim zakresie byłem w stanie je sprawdzić czy wszystko działa o tyle teraz jak ktoś zbuduje sobie coś z dowolnymi pakietami to już nawet nie mam pojęcia czy w ogóle się to uruchomi. Ale to już nie mój problem 
5. Podstawą składanych obrazów jest imagebuilder pochodzący z moich buildów. Ale pakiety pochodzą z bieżących wersji na moment składania obrazów, więc może się zdarzyć że mimo że nie skompilowałem nowych buiidów to pojawią się nowe pakiety np. LuCi pochodzące z OpenWrt. Może też zdarzyć się że chwilowo pakiet będzie miał błędy które zostaną poprawione za kilka dni i zbudowanie obrazu uda się dopiero za dzień/dwa/tydzień.
6. Z powodów bezpieczeństwa obrazy w ASU budowane są w kontenerze. Tzn np. owut zleca budowę, serwer pobiera (jak nie ma) 1GB obraz buildera bazującego na Debianie 11, uruchamia go, pobiera do niego imagebuildera, rozpakowywuje, weryfikuje zależności pakietów i ich obecność na serwerach na podstawie żądania które przyszło, buduje obraz i niszczy kontener. I tak w kółko dla każdego żądania. Oczywiście jest pewne cachowanie wyników i zbudowanych obrazów. Takie działanie może jest i fajne w punktu widzenia mechanizmów bezpieczeństwa (oddzielony system budowania od hosta, zawsze można zniszczyć obraz jak coś złego się dziej itd), ale czas potrzebny na zrobienie kontenera i zrobienie obrazów jest spory - u mnie na SG-2440 wykonuje się to ok 10 minut. Do samego uruchomienia ASU wystarczy więc coś małego, ale żeby to było wydajne i działało szybko z punktu widzenia użytkownika - potrzebna jest moc.
7. ASU po prostu składa obrazy z imagebuildera. Jeżeli coś się zmieni z wersji na wersje OpenWrt (np. ostatnia zmiana luci-app-opkg na luci-app-packagemaganer czy dawna wpad-basic-wolfssl na wpad-basic-mbedtls) to takie rzeczy trzeba po prostu wiedzieć i podczas aktualizacji powiedzieć które pakiety mają być usunięte a które dodane. Co prawda asu ma taki mechanizm zamiany pakietów, ale jest to wprowadzane ręcznie i czasami upływa parę dni zanim pojawi się w repo.
8. Z w/w powodu możliwe jest zbudowanie obrazu który nie będzie działał bo ktoś wywali z obrazu coś super ważnego. Ale jak pisałem - to już problem użytkownika.
9. ASU wykorzystuje imagebuildera do składania obrazu, a pakiety pobierane są online z repozytorium. Składany obraz będzie zawierał więc najnowsze dostępne pakiety na moment składania obrazów, ale może to być też problemem że zmieni się tzw ABI - czyli wersje kluczowych bibliotek (np. libuci, ubus/ubox). Wtedy trzeba będzie czekać aż w repozytoriach źródłowych pojawią się odpowiednio przekompilowane pakiety. Nie ma możliwości wyboru konkretnej wersji pakietów którą będziemy chcieli włożyć do obrazu.
10. Zbudowane obrazy są cachowane przez 24h, więc jeżeli zgłoszone zostanie żądanie budowy obrazu a lista pakietów i wersji programów będzie taka sama, to zostanie pobrany obraz z cache
Moje buildy udostępnione na dl.eko.one.pl domyślnie nie zawierają odwołania do mojego serwera ASU (zostało w nich "po staremu" - dl.eko.one.pl z którego pobierane są gotowe obrazy) ponieważ użyty przeze mnie sprzęt jest dość wolny i na złożenie obrazu można czekać i 10 minut (i to jak kogoś nie ma czekającego w kolejce na zbudowanie obrazu!). Jeżeli jednak ktoś chce przetestować działanie mechanizmu to należy zrobić ręcznie (tylko dla wydania 24.10-SNAPSHOT, moje 23.05-SNAPSHOT nie jest obsługiwane w ten sposób):
# opkg update
# opkg install owut
# uci set attendedsysupgrade.server.url='https://sysupgrade.eko.one.pl'
# uci commit
Jeżeli wszystko jest dobrze to można zrobić
# owut check
# owut download
# owut upgrade
Można też zrobić od razu owut upgrade, co kto lubi. Trochę więcej o owut jest tutaj.
Można także używać luci-app-attendedsysupgrade, czyli "Interaktywnej aktualizacji" z LuCI.
Na chwilę edycji tego posta moje ASU obsługuje:
- pakiety z repozytorium architektur które ja kompiluje: https://dl.eko.one.pl/openwrt-24.10/packages/
- pakiety z downloads.openwrt.org z tych samych architektur które ja kompiluję
- pakiety z repozytorium architektur specyficzne dla targetu/subtargetu które ja kompiluję oraz moduły kernela
- pakiety z repozytorium IceG: https://github.com/4IceG/Modem-extras/tree/main/myrepo
EDIT: 2025-02-07
Zamiany w pakietach:
Zastąpienie pakietów:
było: ekoonepl-luci-mbedtls, jest: ekoonepl-luci
było: ekooneplmonitoring-luci-mbedtls, jest: ekooneplmonitoring-luci
było: ekooneplnas-luci-mbedtls, jest: ekooneplnas-luci
było: ekooneplusb-luci-mbedtls, jest: ekooneplusb-luci
Pakiet ekoonepl-luci w ogóle jest zbędny i może być bezpiecznie odinstalowany. Należy upewnić się w że obrazie zostały pakiety luci-app-openvpn oraz openvpn-mbedtls
Nowy pakiet
repo-4iceg - dodający repozytorium https://github.com/4IceG/Modem-extras/tree/main/myrepo
Jeżeli ktoś buduje obrazy przy pomocy moje ASU to nich upewni się że odpowiednie zmiany są przekazane do owut'a.
EDIT: 2025-12-18
https://sysupgrade.eko.one.pl jest domyślnym serwerem ASU i nowe buildy dostępne na dl.eko.one.pl mają go już ustawionego.
Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.