Unterschiede zwischen den Revisionen 55 und 56
Revision 55 vom 2007-02-16 04:34:40
Größe: 11040
Autor: anonym
Kommentar: neuer debian kernel II
Revision 56 vom 2007-02-16 07:28:09
Größe: 11035
Autor: anonym
Kommentar: hmm
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 65: Zeile 65:
   * der letzte Befehl braucht root-Rechte, deswegen sudo
Zeile 98: Zeile 97:
Zeile 99: Zeile 99:
 * http://www.nslu2-linux.org/wiki/Debian/HomePage

attachment:debian-baby.png

Hier wird die Debian Installation für ein Linksys NSLU2 (Network Storage Link USB 2.0) beschrieben. Dazu findet sich schon reichlich Doku (siehe [#quellen Quellen]). Insbesondere gibt es ein deutschsprachiges [http://nslu2-info.de/ Forum & Wiki (nslu2-info.d1. Dies sind eher kurze Schritt für Schritt Anleitungen, die evtl. bald in das nslu2-info.de Wiki übertragen werden.

Wenn du schnell und unkompliziert ein Debian GNU/Linux auf dem NSLU2 installieren willst, kannst du beim [wiki:DebianSlug/DebianInstaller DebianInstaller Spaziergang] (vor dem Frühstück) weiterlesen oder du wählst den etwas umfangreicheren [wiki:DebianSlug/DebianSlug DebianSlug Spaziergang] (für die ausgedehnte Siesta). Alternativ kannst du dich auch auf die [wiki:DebianSlug/LongTrail lange DebianSlug Wanderung] begeben, bei der du jedes auf dem Weg liegende Stückchen Quellcode einzeln bestaunen kannst.

Martin Michlmayr erwähnt in seinem [http://www.cyrius.com/debian/nslu2 Blog], dass die aktuelle Version (beta3) des Debian Installers nicht mit dem internen Netzwerkchip von Intel zusammen arbeitet. Deswegen führt der kurze Debian Installer Spaziergang momentan nicht an das gewünschte Ziel. Günstiger ist es, die DebianSlug Firmware zu installieren und das Debian System via bootstrap auf das NSLU2 zu installieren. Dieser Weg wird im [wiki:DebianSlug/DebianSlug DebianSlug Spaziergang] beschrieben.

Hier halte ich noch einige Punkte fest, die mir im Zusammenhang mit dem NSLU2 erwähnenswert erscheinen: TableOfContents

cryptsetup (dm-crypt) on NSLU2

Die aktuelle cryptsetup Version (1.0.4) aus dem Debian Archiv läuft nicht auf dem NSLU2. Dazu muss das Paket gepatcht werden. Das kannst du mit ein wenig Geduld direkt auf dem NSLU2 erledigen. Zuerst solltest du einen Eintrag in /etc/apt/sources.list in eine neue Zeile kopieren und dann änderst du deb in deb-src (z.B.: deb-src http://ftp2.de.debian.org/debian/ stable main).

apt-get update
apt-get source cryptsetup
sudo apt-get build-dep cryptsetup
sudo apt-get install automake1.9 autoconf
cd cryptsetup-1.0.4
patch -p1 < /PATH/TO/cryptsetup.patch
dpkg-buildpackage -rfakeroot -aarm
dpkg -i ../cryptsetup_1.0.4-3_arm.deb

Der erste Befehl aktualisiert die Paketliste, danach werden der Quellcode von cryptsetup herunter geladen. Der dritte & vierte Befehl benötigt Rootrechte (sudo) und bereitet die Entwicklungsumgebung vor. Anschließend wechselst du in das cryptsetup Verzeichnis und spielst den Patch ein. Mit der vorletzten Befehlszeile wird nun das cryptsetup Paket gebaut. Das dauert 23 Minuten ;). Anschließend wird es mit dpkg installiert.

Es gab einen [[http://thread.gmane.org/gmane.linux.debian.devel.kernel/25028/focus=25187 Fehler in cryptsetup], der jetzt behoben wurde allerdings hat der Linux Kernel auf der arm Architektur mit dm-crypt immernoch seine [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=406552 Probleme] unter Last. Deswegen solltest du vorerst kein dm-crypt zum Verschlüsseln von Partitionen benutzen. Ich werde hier den aktuellen Stand beschreiben, sobald ein Patch in Sicht ist.

Upgrade Modus (flashen)

Damit du dem NSLU2 ein neues Image aufdrücken kannst, musst du es zunächst in den Upgrade Modus bringen. Das geht so:

  • das Slug ausschalten
  • mit dem Netzwerk verbinden (ohne ist das NSLU2 praktisch nutzlos ;) )

  • alle USB Geräte entfernen!
  • Resetknopf drücken und gedrückt halten (mit einem spitzen Gegenstand)
  • Powerknopf drücken und wieder loslassen (dabei den Resetknopf immernoch gedrückt halten)
  • ca. 10Sek. warten, bis die Ready/Status LED ihre Farbe von orange zu rot wechselt, dann den Resetknopf loslassen
  • Ready/Status LED sollte jetzt rot-grün blinken, das Slug ist im Upgrade Modus.
  • mit upslug2 das neue Image flashen

weitere Hinweise:

  • Upslug2 braucht Rootrechte!
  • Das NSLU2 sollte direkt mit deinem Rechner verbunden sein (keine Router oder so dazwischen).
  • Hat dein Rechner mehrere Netzwerkkarten, dann starte upslug2 mit: "-d NETDEVICE", wobei NETDEVICE durch dein Netzwerkinterface ersetzt wird (z.B eth1).
  • Wenn du mehrere NSLU2 inerhalb eines Netzwerkes gleichzeitig im Upgrade Modus hast, dann starte upslug2 mit dem Parameter "-t MAC". Für MAC setzt du die Macdresse des gewünschten NSLU2 ein. Falls du diese nicht mittels arp herausfinden kannst, steht sie auch auf dem NSLU2 Gehäuse.

aktuellen Debian Kernel installieren

  • Zuerst steht wieder die lästige Vorbereitung an, damit die Intel Netzwerktreiber genutzt werden können (diese Schritte entfallen, wenn du eine USB Netzwerkkarte benutzt). Du kannst alles direkt auf dem Slug ausführen.
    • Lade das aktuelle [http://www.slug-firmware.net/d-dls.php Debian Installer image] herunter.

    • Jetzt packen wir den Netzwerkkarten Microcode aus, der im image liegt und bringen ihn in das richtige endian Format:

      apt-get install slugimage
      slugimage -u -i di-nslu2.bin
      apt-get install devio
      devio '<< ramdisk.gz; xp $ 4' > ramdisk-swap.gz
      mkdir initrd; cd initrd
      zcat ../ramdisk-swap.gz | cpio -i
      cp NPE-B.01000201 /lib/firmware/
      cd /lib/firmware
      sudo ln -s NPE-B.01000201 NPE-B
  • in /etc/kernel-img.conf folgendes schreiben (siehe [http://tech.groups.yahoo.com/group/nslu2-linux/message/15925 auch]):

    do_symlinks = yes
    relative_links = yes
    do_bootloader = no
    do_bootfloppy = no
    do_initrd = yes
    link_in_boot = yes
    postinst_hook = flash-kernel
  • jetzt die notwendigen Pakete installieren bzw. aktualisieren (aus testing oder unstable):

    apt-get update
    apt-get install flash-kernel apex-nslu2 nslu2-utils
    apt-get install linux-image-2.6-ixp4xx
    • Zum Schluß kommt eine Fehlermeldung Flashing kernel: devio: stdout: write error: No space left on device. Das ist okay, wir flashen jetzt im gleich.

  • Jetzt das neue [http://cyrius.com/debian/nslu2/files/sda1-2.6.18-3.bin Flash-Image] herunterladen (nicht auf's NSLU2)

  • das NSLU2 in den Upgrade Modus bringen und von einem anderen Rechner aus flashen:

    upslug2 -i sda1-2.6.18-3.bin
  • debian-etch-rc1-20061102 lädt die Module nicht automatisch also:

    if [ ! -e  /dev/ixp4xx_ucode ]; then
     mknod /dev/ixp4xx_ucode c 10 184
    fi
    for f in ixp4xx_mac ixp4xx_qmgr ixp4xx_npe; do modprobe $f;done
    cat /lib/firmware/NPE-B > /dev/ixp4xx_ucode
    ifup eth0
  • Nach erfolgreichem Reboot kann das alte Kernelpaket gelöscht werden:

    apt-get remove linux-image-2.6-nslu2
  • die [http://www.cyrius.com/debian/nslu2/upgrade.html Originalanleitung] (engl.)

  • http://www.nslu2-linux.org/wiki/Debian/HomePage

Übertakten

http://www.roh.de/openslug/OpenSlug-1-266MHz.png

Der [http://www.intel.com/design/network/products/npfamily/ixp420.htm Prozessor] des NSLU2 wird durch eine undokumentierte Schaltung runtergetaktet. Offiziell ist er von Intel für den Betrieb mit 266MHz vorgesehen und getestet. Warum Linksys die Taktrate halbiert hat ist ungewiss. Durch entfernen eines Widerstands lässt sich die Originalfrequenz wieder herstellen. Dabei erlischt allerdings die Garantie. Andere Nachteile entstehen dadurch jedoch nicht. Wie gesagt, wird der Prozessor als 266MHz Chip ausgeliefert. Evtl. entspricht die Stromversorgung für den USB-Port durch die höhere Leistungsaufnahme nicht mehr den Spezifikationen.

Update: Offensichtlich liefert Linksys seit Mai 02006 das NSLU2 mit einem Prozessortakt von 266MHz aus.

Das Gehäuse ist nicht verschraubt. Mit etwas Druck an den vorderen Seiten lässt es sich mühelos öffnen. Anschließend kann der kleine smd Widerstnad rausgelötet oder einfach mit einem spitzen Gegenstand rausgebrochen werden. [http://www.nslu2-linux.org/wiki/HowTo/OverClockTheSlug Bebilderte Anleitungen] dazu liefert dir jede Suchmaschine.

http://www.nslu2-linux.org/wiki/uploads/r83_location.jpg


Dank

  • ..geht an alle EntwicklerInnen bei nslu2-linux.org für die gut dokumentierte Arbeit am NSLU2 und die schnelle Hilfe

  • an das Debianteam für die geile Distro - DebianWorldDomination :)

  • und Martin Michlmayr für den passenden Installer zur ARM Architektur

Anchor(quellen)

Quellen/Links


FAQ

Bei Fragen bitte nicht "trivial changes" aktivieren, sonst könnte die Antwort etwas auf sich warten lassen.

little oder big endian?
  • Antwort: Der Prozessor des NSLU2 kann sowohl in big als auch in little endian arbeiten. DebianSlug ist die little endian Portierung für die ARM Architektur, OpenDebianSlug ist der big endian ARM Port. Die offizielle Debian Paketverwaltung unterstützt nur die little endian ARMs.

  • Swapdatei
  • Frage: Gibt es auch eine Möglichkeit, die SWAP auf eine Datei zu legen?
  • dd if=/dev/zero of=/media/hdd/swap bs=1024 count=8192
    mkswap /media/hdd/swap
    chmod 600 /media/hdd/swap
    swapon -a -v /media/hdd/swap
    Fehlermeldung :-( ---> swapon: /media/hdd/swap: Invalid argument

    Hintergrund: Festplatte ist leider ohne SWAP Partitioniert, doch theoretisch dürfte das auch gehen.

    • Antwort: Die von dir beschriebenen Schritte sehen korrekt aus. Wenn du eine Partition (z.B. /dev/hdd1) nach /media/hdd gemountet hast und diese ein Dateisystem besitzt, dürfte deine Variante funktionieren. Sollte es eine Ramdisk oder tmpfs oder so sein, musst du darin erst ein Dateisystem erstellen.


    ToDo

    einige Dinge, die ich noch nicht getestet hab - einfach ignorieren...

    DebianSlug (zuletzt geändert am 2012-06-13 21:26:19 durch anonym)


    Creative Commons Lizenzvertrag
    This page is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.