[Berlin-wireless] remote update

Edmund Stranzenbach stranzenbach
Fr Jun 4 18:57:30 CEST 2010


Hallo
Ich bin immer noch nicht dazu in der Lage auf einer Nanostation/Bullet ein
remote upgrade zu machen, aber ich hab was rausgefunden:

Man macht den Upgrade mit: sysupgrade .....combined.img. Sysupgrade ist ein
SH-Script. Es benutzt einige Funktionsdateien (/etc/functions.sh,
/lib/upgrade/commen.sh, /lib/upgrade/platform.sh ...).
Der Upgrade wird letztlich von einer Funktion platform_do_update
durchgeführt. Diese Funktion bemüht dem Befehl "mtd". Es wird ein neuer
Kernel und ein neues rootfs geflasht.
Mit "cat /proc/mtd" kann man sehen, welche Partitions vorhanden sind. Neben
kernel, rootfs sind da noch "RedBoot", "RedBoot config" und "FIS directory".
RedBoot beinhaltet den Boot, RedBoot config dessen Konfiguration. FIS
directory beinhaltet so etwas wie die "Partitionstabelle". Soweit ich da
verstanden habe wird FIS directory und RedBoot config teilweise überlappend
angelegt (oder befinden sich beide in einem 64K-Segment [1].
Macht man nun ein upgrade (z.B. von r18471 {z.Zt. Leipziger download} auf
r21435 {10.3 freifunk-backfire}), kann es vorkommen, das der Kernel und/oder
das rootfs eine andere Größe haben als das aktuelle ( obiges Beispiel:
kernel_blocks von 12 auf 14 {*64k}, oder root_blocks von 32 auf 34).
Dann versucht "mtd" die FIS directory zu ändern. Das führt zu einem Fehler:
"could not open mtd device: FIS direcrory"
Dieser upgrade misslingt, das Gerät wird unbrauchbar, bootet nicht mehr,
weil der RedBoot den Kernel und/oder das rootfs nicht mehr findet.
Eind Recovery über Reset-Knopf und tftp reaktiviert das Gerät, weil der
RedBoot das FIS directory ändern kann. Offensichtlich kann der Linux Kernel
das ncht! (siehe [1]).

Man stelle sich den Alptraum eine jeden Admin vom: Viele, viele Geräte
installiert uns alle müssen regelmäßig vom Dach. Welch ein Horror. Ist das
bei anderer Hardware (nicht Ubiquity) auch so?

Ich bin noch nicht so vertraut mit den Internas von mtd und den System calls
und rufe deshalb mal laut um Hilfe, Hilfe Hilfe!

Ich kann mir ein OpenWRT ohne funktionierendes Remote Upgrade einfach nicht
vorstellen.

Jeder Kommentar ist willkommen.

MFG Eddy


[1] http://www.ubnt.com/forum/showthread.php?t=9645
      such nach: "could not open mtd device: linux error"

-- 
Ing. E. STranzenbach, Görzkerstr. 23, 14827 Wiesenburg
Tel.: 03222 3333 499
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://lists.berlin.freifunk.net/pipermail/berlin/attachments/20100604/e80b9d66/attachment.html>



Mehr Informationen über die Mailingliste Berlin