instant-thinking.de

just enough to get you started and leave you confused

Debian auf der NSLU2 - revisited

| Kommentare

Debian-BabyIch hatte vor einiger Zeit ein HowTo geposted wie man Debian auf einer NSLU2 installieren kann. Das ganze erforderte ziemlich viel chrooten und anderen komplizierten Kram den man ab sofort vergessen kann. Ich vermute das wird einige der Probleme die mir per Mail mitgeteilt wurden viel leichter lösen als meine Vorschläge… Trotzdem hier noch mal Danke für alle Rückmeldungen.

Seit der Beta2 gibt es den offiziellen Debian “Etch” Installer auch mit NSLU2 Unterstützung. Man sollte zwar keine Wunder erwarten und etwas Handarbeit ist nach wie vor nötig, aber es ist wirklich viel leichter als vorher.

Ich habe mich ausserdem dazu entschlossen nicht das original Debian-Image zu verwenden, sondern ein Image mit Intels IXP4xx Treiber. Dieser Treiber liegt nicht als Open Source vor und kann daher nicht mit Debian zusammen angeboten werden. Ohne diesen Treiber benötigt man einen unterstützen USB-Netzwerkadapter und muss während der Installation das Kabel ein paar mal wechseln… Da ich weder einen USB-Adapter noch große Lust hatte das Kabel hin und her zu stöpseln hatte ich auch keine große Wahl.

Was man braucht

  1. Ungefähr 2 Stunden Zeit
  2. Eine NSLU2 ;)
  3. Eine USB-Platte (oder einen großen Stick) ohne wichtige Daten drauf, die Platte wird neu formatiert(!), am besten leer…
  4. Das aktuelle DebianSlug Binaries-Paket von slug-firmware.net (Hier: debian-etch-beta2-20060311.zip)
  5. Eine Programm um das Image auf die NSLU2 zu flashen. (Hier: UpSlug2 unter Mac OS X, funktionieren müssten wohl auch das Original Linksys-Webinterface oder dieses Windows Tool)
  6. Eine Internetverbindung
  7. Eine Büroklammer

Alles da? Kaffee steht bereit? Dann gehts los…

Wie mans macht

Die NSLU2 in den Upgrade Modus bringen:

  1. NSLU2 abschalten
  2. Eventuell vorhandene Platten abstöpseln
  3. Reset-Button drücken und halten (Büroklammer durch das kleine Loch an der Rückseite)
  4. Power-Button drücken und loslassen
  5. Status LED beobachten
  6. Nach ca. 10 Sekunden wechselt das orange auf rot. Dann sofort den Reset-Button loslassen
  7. Die LED wechselt jetzt zwischen rot und grün, die NSLU2 ist im Upgrade Modus

Das Debian-Installer-Image flashen:

  1. Auf dem Mac root werden
  2. Weil eth0 die Default-Einstellung ist muss man unter Mac OS X mit upslug2 --device en0 die NSLU2 suchen
  3. Die NSLU2 updaten: upslug2 --device en0 --target=00:11:22:33:44:55 --image=/path/to/di-nslu2.bin MAC und Pfad bitte anpassen
  4. Zugucken und Daumen drücken

    Upgrading LKG123456 00:11:22:33:44:55
        . original flash contents  * packet timed out
        ! being erased             - erased
        u being upgraded           U upgraded
        v being verified           V verified
    
    
      Display:
        <status> <address completed>+<bytes transmitted but not completed>
      Status:
        * timeout occured          + sequence error detected
    
    
      2401ff+000000 ...UUUUUUUUUUUUUUUu------------------
    

Wenn das Image geflasht ist, wird die NSLU2 automatisch neu gestartet. An diesem Punkt kann man ihr einfach den Netzstecker ziehen, die Platte (auf der nichts wichtiges drauf ist) anstöpseln und die NSLU2 wieder einschalten.

Da die NSLU2 keine Anschlussmöglichkeit für Tastatur und Monitor hat, erfolgt die Installation per SSH. Das Debian-Installer Image braucht ca. 5 Minuten um das Netzwerk hoch zu bringen und den SSH-Server zu starten. In einer zukünftigen Version soll die Slug piepen wenn sie soweit ist aber bis dahin bleibt nur der Blick auf die Uhr…

Die Netzwerkeinstellungen kamen bei mir direkt von einem DHCP-Server, wenn die NSLU2 vorher noch mit dem Original-Linksys Webinterface konfiguriert wurde, werden die Einstellung von dort übernommen und ansonsten kommt die Standard-IP 192.168.1.77 zum Zuge.

Debian installieren:

Jetzt kann man sich mit dem User installer und dem Passwort install per SSH an der NSLU2 anmelden: ssh installer@123.456.789.100 Die IP ist dabei natürlich anzupassen.

Di-Partman3 Ab hier befindet man sich in dem vertrauten Debian-Installer und kann sich wie gewohnt durch die Menüs hangeln. Zu beachten ist eigentlich nur, dass die Root-Partition an erster Stelle kommen muss (sda1) und mit ext2 oder ext3 formatiert wird. Die LVM-Option funktioniert übrigens ebenfalls nicht. In einem späteren Release sollen diese beiden Restriktionen wegfallen. Die Festplatte sollte nach der Partitionierung ungefähr so ausschauen wie auf dem Bild rechts.

Gegen Ende der Installation erhält man noch die Meldung das kein Boot-Loader installiert ist. Das ist ein anderer Punkt an dem zur Zeit noch gearbeitet wird. Wir werden den Boot-Loader gleich mit dem zweiten Image aus dem DebianSlug Binaries-Paket von Hand flashen und bestätigen diese Warnung daher einfach mit <continue>.

Nach ca. 2 Stunden ist die Installation beendet, die OpenSSH Session terminiert und die NSLU2 startet neu. Geradewegs in den Debian-Installer, was jetzt gerade nicht unbedingt das ist was wir wollen…

InitramFS und BootLoader flashen:

Um das gerade installierte Debian auch booten zu können, muss nun das zweite Image auf die NSLU2 geflasht werden. Die NSLU2 also wie oben in den Upgrade Modus bringen und per upslug2 --device en0 --target=00:11:22:33:44:55 --image=/path/to/debian-sda1.bin mit dem endgültigen Image flashen.

Wenn der Vorgang beendet ist und man den Netzstecker wie (oben) abgezogen hat, kann die Platte wieder angestöpselt werden und einen weiteren Reboot später steht einem Login auf dem neuen ARM basierten Debian-System nichts mehr im Wege.

Da der Kernel wegen der fehlenden RTC Unterstützung denkt es wäre Neujahr 1970, verlangt er als erstes eine Passwortänderung. Nachdem das erledigt ist sollte man ntpdate installieren um die Uhr mit dem Rest der Welt auf einen Stand zu bringen und zu halten…

Ab hier ist die NSLU2 ein vollwertiges, Debian-System und die gesamte *.deb-Welt an Paketen steht ihr offen…

Pläne für die Zukunft:

Der Debian-Installer für die NSLU2 wird in Zukunft noch komfortabler werden. Piepen der NSLU2 wenn man sich einloggen kann, Real Time Clock Support, LED-Ansteuerungsmöglichkeiten und natürlich bequemere und vielseitigere Partitionierung sind die kurzfristigen Ziele. Als Langzeitziele stehen z.B. ein generisches ixp4xx-Image und ein Open Source Ethernet-Treiber auf dem Programm.

Abschliessend möchte ich mich bei Martin Michlmayr bedanken, dessen Debian on NSLU2 HowTo die Basis für meine bescheidene Abschrift ist.

Comments