• Ich wollte das schon länger mal testen und hier festhalten. Dann heute mal ran.

    Teil 1

    Wie hier im Beitrag beschrieben OpenWrt neu kompilieren. Für die Faulen, hier die Schritte...

    git clone https://github.com/openwrt/openwrt.git
    cd openwrt
    git status
    git diff
    wget https://patch-diff.githubusercontent.com/raw/mj22226/openwrt/pull/2.patch
    git am 2.patch
    ./scripts/feeds update -a
    ./scripts/feeds install -a
    make menuconfig
    make -j 6
    

    Danach haben wir ein squashfs sysupgrade Image.

    openwrt-rockchip-armv8-friendlyarm_nanopi-r4s-squashfs-sysupgrade.img.gz
    

    !!Achtung!! Bitte vorher für eine Datensicherung sorgen, es kann ja auch mal was schief gehen 😉

    Dieses File können wir nun auf die bestehende Installation hochladen. Unter System / Backup/Flash Firmware die Datei auswählen. Danach auf Flash Image klicken! Danach etwas Geduld.

    20210524_085725.jpg

    Ihr seht, hierbei kann man die Settings beibehalten. Es gibt da aber ein kleines Problem. Mit Settings ist kein Webinterface und evt. Zusatzpakete gemeint. Das ist danach alles weg und man fängt von vorne an 😞 Der Flashvorgang sieht so aus.

    20210524_090344.jpg

    Nach einiger Zeit läuft die Kiste wieder, man bekommt wieder eine IP-Adresse usw. Aber. man kann das Webinterface nicht mehr erreichen, weil dieses schlicht nicht mehr installiert ist. Also, flott wieder nachinstallieren.

    opkg update
    opkg install luci
    

    Danach hat man wieder Zugriff aufs Webinterface. Version im Webinterface.

    795c8c39-a637-464b-894a-e49ff84f0632-grafik.png

    Beim Installieren von Luci kamen noch diese netten Meldungen

    Collected errors:
     * resolve_conffiles: Existing conffile /etc/config/uhttpd is different from the conffile in the new package. The new conffile will be placed at /etc/config/uhttpd-opkg.
     * resolve_conffiles: Existing conffile /etc/config/luci is different from the conffile in the new package. The new conffile will be placed at /etc/config/luci-opkg.
     * resolve_conffiles: Existing conffile /etc/config/ucitrack is different from the conffile in the new package. The new conffile will be placed at /etc/config/ucitrack-opkg.
    

    Ok, neue Config Files(?), muss ich mir noch ansehen......

    Hier die Anleitung von OpenWrt wie das ganze funktioniert und wie man auch seine Sachen sichern kann. Das teste ich dann im nächsten Schritt.


  • In der OpenWrt Anleitung findet man das hier

    Opkgscript
    Copy opkgscript to your router. Ideally in a directory which will be preserved after flashing so you don't have to copy it again. Make it executable:
    chmod +x /path/to/the/opkgscript.sh
    Create a snapshot of the installed packages:
    /path/to/the/opkgscript.sh -v write
    By default the script will save the list in /etc/config/opkg.installed, which is preserved over flashing. When you log back in after the upgrade configure the internet connectivity, run and wait until it finished with the installation:
    /path/to/the/opkgscript.sh -v install

    Das scheint eine sehr einfache Möglichkeit zu sein, die installierten Pakete zu erfassen und hinterher erneut zu installieren. Ich habe die zwei Dateien mal nach /etc/config geschrieben

    root@OpenWrt:/etc/config# ls -lha
    drwxr-xr-x    1 root     root        3.4K May 24 08:30 .
    drwxr-xr-x    1 root     root        3.4K May 24 08:27 ..
    -rw-------    1 root     root        4.3K Feb  4 07:26 collectd
    -rw-------    1 root     root        1.2K Jan 18  2013 dhcp
    -rw-------    1 root     root         134 Jan 31 08:18 dropbear
    -rw-------    1 root     root        3.0K Jan 18  2013 firewall
    -rw-r--r--    1 root     root         862 Feb  7 09:53 luci
    -rw-r--r--    1 root     root         687 May 19 13:17 luci-opkg
    -rw-r--r--    1 root     root        4.4K Feb 11 19:45 luci_statistics
    -rw-------    1 root     root         894 Jan 18  2013 network
    -rw-r--r--    1 root     root        3.4K May 24 08:30 opkg.installed
    -rwxr-xr-x    1 root     root        5.7K May 24 08:29 opkgscript.sh
    -rw-------    1 root     root         167 May 18 17:31 rpcd
    -rw-------    1 root     root         653 Jan 18  2013 system
    -rw-r--r--    1 root     root         910 Feb 10 16:41 ucitrack
    -rw-r--r--    1 root     root         788 May 19 13:17 ucitrack-opkg
    -rw-------    1 root     root         783 Feb  7 09:53 uhttpd
    -rw-------    1 root     root        4.1K Mar 21 21:34 uhttpd-opkg
    

    Ein Ausschnitt aus der opkg.installed

    luci-lib-ip - git-20.250.76529-62505bd
    luci-lib-jsonc - git-19.317.29469-8da8f38
    luci-lib-nixio - git-20.234.06894-c4a4e43
    luci-mod-admin-full - git-19.253.48496-3f93650
    luci-mod-network - git-21.140.43486-398932f
    luci-mod-status - git-21.132.35841-3c66c5b
    luci-mod-system - git-21.105.64372-8c6a29a
    luci-proto-ipv6 - git-21.074.38504-171ef77
    luci-proto-ppp - git-21.088.74146-7d49508
    luci-theme-bootstrap - git-20.363.32570-6ffd159
    mkf2fs - 1.14.0-1
    mtd - 26
    nano - 5.7-1
    

    Luci und Nano sind kein Standard und müssen somit nach einem Sysupgrade neu installiert werden. Das sollte mit dem Script sehr einfach zu realisieren sein. Ein erster Versuch war erfolgreich, ich werde das aber noch ein wenig testen.

    Script -> https://github.com/richb-hanover/OpenWrtScripts/blob/master/opkgscript.sh


  • Mir war gerade aufgefallen, das ich kein Wireguard installieren konnte. Ok, kurz nachdenken, das Kernel Modul fehlt vermutlich. Also

    make menuconfig
    

    aufrufen. Dann Kernel modules / Network Support auswählen. Dort findet man ganz unten

    kmod-wireguard
    

    67ac6dbd-6c66-4742-8548-67f94e5892cb-grafik.png

    Danach den Kernel neugebaut und das Image geflasht. Danach war wieder alles weg. Und dann schnell das Script aufgerufen

    /etc/config/./opkgscript.sh install
    

    Jetzt kommt ein Fehler, weil wir erst mal alle Daten holen müssen. Also VORHER das hier

    opkg update
    

    Danach installiert das Script alles was fehlt. Und meine Wireguard Installation ging auch.

    root@OpenWrt:/etc/config# opkg install wireguard-tools
    Installing wireguard-tools (1.0.20210223-2) to root...
    Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_generic/base/wireguard-tools_1.0.20210223-2_aarch64_generic.ipk
    Configuring wireguard-tools.
    

    Für die Wireguard Installation fehlten noch zwei Pakete.

    root@OpenWrt:~# opkg install luci-proto-wireguard
    Installing luci-proto-wireguard (git-21.074.38504-171ef77) to root...
    Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_generic/luci/luci-proto-wireguard_git-21.074.38504-171ef77_all.ipk
    Configuring luci-proto-wireguard.
    root@OpenWrt:~# opkg install luci-app-wireguard
    Installing luci-app-wireguard (git-21.058.18697-98c3d36) to root...
    Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_generic/luci/luci-app-wireguard_git-21.058.18697-98c3d36_all.ipk
    Configuring luci-app-wireguard.
    

    Nach einem Reboot ist dann auch alles vorhanden. Somit kann man Wireguard auch über Luci administrieren. Ich komme ein wenig vom Thema ab 😉

    Damit das Ganze beim nächsten Upgrade auch noch vorhanden ist, eine kurze Sicherung.

    root@OpenWrt:~# /etc/config/./opkgscript.sh write
    

    Das habe ich bisher auf meinem zweiten NanoPi R4S ausprobiert, genau dafür ist er da :), jetzt das Ganze mal auf meinem NanoPi R4S ausprobieren, der mir als Firewall hinter meiner Fritzbox dient. Der macht hier schon monatelang seinen Dienst, ohne einen Fehler. Zocken mit Playstation, TV streamen, alles störungsfrei 😎


  • Ich schrieb ja oben über Daten Sichern bevor man was macht......

    Ok, danach war die Installation lauffähig, aber das Webinterface kaputt. Kryptische Fehlermeldung, die ich auch mit Google nicht fixen konnte. Naja, es war nicht so schwer da ich ja noch einen R4S mit identischer Konfiguration hatte. SD_Karte getauscht und weiter geht's....

    Aber!! Warum? Ich musste ganz schön lange suchen, bis ich heraus fand das es mittlerweile eine neue Version als Release Candidate gibt.

    https://openwrt.org/releases/21.02/notes-21.02.0-rc1

    Diese Version habe ich dann installiert und das Upgrade ist gescheitert. Da ich auf der alten Installation auch schon eine ganze Menge getestet hatte und es evt. auch vermurkst hatte, war es ja nicht so verkehrt mal was frisches aufzusetzen.

    Kurz meine Konfigurationsdateien kontrolliert und nach kleineren Korrekturen und Reboot lief alles wieder wie vorher.

    Diesmal habe ich mir die SD-Karte als Image gesichert. Nur für den Fall, das ich das mal dringend brauche.

    Es bleibt weiterhin nicht ganz einfach eine OpenWrt Installation aktuell zu halten. Aber so einmal im Jahr kann man sich ja die Arbeit machen.....