« Die Eisenzeit in der … | home | Straflose sexuelle Au… »
21 views
12. Feb 2015

Server im neuen Gewand

dist-upgrade mit Debian

Teile meiner Webseite habe angefangen zu meckern, dass die PHP-Version langsam ein wenig zu alt wird und das Risiko von kritischen Lücken immer größer wird. Dies und das Versprechen, das PHP 5.4 deutlich schneller als 5.3 sein soll ließ den Leidensdruck dann doch so steigen, dass ich heute den Schritt gewagt habe.
Lange Zeit habe ich mich darum gedrückt, weil ich nicht mehr zusammenbekam wie genau ich den Kernel in das NAND des Testrechners - wie der eigentliche Server eine Marvell Sheeva - hineinbekomme.

Wie genau das zu machen wäre habe ich vor Jahren mal irgendwo im Netz gefunden und im Forum von www.sheevaplug.de niedergeschrieben. Leider existiert diese Seite nicht mehr, und ich habe sonst keinerlei Aufzeichnungen mehr dazu gefunden.
Vor ein paar Tagen dann bin ich auf meinem Desktoprechner über eine alte Datei gestolpert die genau diese Befehlsfolge enthielt :-) Ich konnte mich also ans Werk machen.

Meine Anleitung für das Upgrade waren Martin Michlmayrs Seiten 'Debian 7' und 'Upgrade U-Boot'. Außerdem sind natürlich bei einem apt-get dist-upgrade die Release-Notes Pflichtlektüre.

Zuerst war also der Testrechner dran, kali mit Namen. Das U-Boot auf eine neue Version zu bringen war mittels atftpd nicht wirklich ein Problem, und erfreulicherweise startet das U-Boot den kernel im NAND out of the box. Nach dem üblichen anpassen von /etc/apt/sources.list und einem beherzten apt-get update, apt-egt upgrade und apt-get dist-upgrade als root war alles problemfrei auf dem "neuesten" Stand, der bei Debian momentan wheezy heißt. Lediglich der kernel ließ sich nicht installieren, weil angeblich das rootfs nicht verfügbar sei. Nun ja, ich habe in /etc/fstab folgende Zeile hinzugefügt:

/dev/ubi0    /    ubifs    rw    0    0

Danach ließ sich der neue kernel fehlerfrei installieren und uImage und uInitrd waren bereit. Jetzt den kernel - also uImage - in das Nand schreiben:

# cd /boot/
# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00080000 00020000 "uboot"
mtd1: 00400000 00020000 "uImage"
mtd2: 1fb00000 00020000 "rootfs"
# flash-kernel
# flash_eraseall /dev/mtd1
# nandwrite -p /dev/mtd1 uImage
# reboot

Bingo, alles gut. Rechner läuft. Nächster, bitte.

Also jetzt der eigentliche Server, sheeva. Das Upgrade vom U-Boot lief wieder völlig problemlos, allerdings ging danach nichts mehr, weil die Einstellungen der alten Version beim Upgrade verloren gehen und ein Boot von SD-Karte nicht vorgesehen ist. Mit ein bisschen vorsichtigem Rumgefrickel bin ich dann auch hinter die richtigen Einstellungen gekommen. Die entscheidenden Befehle:

setenv bootcmd_mmc 'mmc init; ext2load  mmc 0 0x0800000 /uInitrd; \
mmc init; ext2load mmc 0 0x400000 /uImage'
setenv x_bootargs_root root=/dev/mmcblk0p2
setenv bootcmd 'setenv bootargs ${x_bootargs} ${x_bootargs_root}; \
run bootcmd_mmc; bootm 0x400000 0x800000'
saveenv
boot

Danach wurden kernel und initrd geladen und gestartet. Jetzt wieder die Debian typischen upgrade Anpassungen und Befehle: /etc/apt/sources.list ändern, danach apt-get update, apt-get upgrade und apt-get dist-upgrade. Da wurde eine Menge Zeugs erneuert, eben fast alles, was auf dem Rechner installiert ist. Und als alles erledigt war gab es nicht ein einziges Problem beim Neustart des Systems.

Ich hatte mit mehr Aufwand gerechnet, mit mehr Problemen. Aber nix da, Debian eben. Nicht immer so ganz aktuell, aber stabil wie ein Panzer.

Das Upgrade auf Jessie, die nächste stabile Version von Debian, werde ich nicht so lange schleifen lassen.

sechs Kommentare

Einer oder mehrere Kommentare sind noch nicht freigeschaltet.


(optionales Feld)
(optionales Feld)
Es wird nach dem Rechenergebnis gefragt, um Spammern das Leben schwerer zu machen.

Auf dieser Seite werden die Kommentare moderiert.
Das bedeutet, dass die Kommentare erst dann veröffentlicht werden, wenn sie freigeschaltet wurden.

Persönliche Informationen speichern?
Hinweis: Alle HTML-Tags außer <b> und <i> werden aus Deinem Kommentar entfernt. URLs oder Mailadressen werden automatisch umgewandelt.