Unterschiede zwischen den Revisionen 34 und 35
Revision 34 vom 2006-10-10 19:03:28
Größe: 14484
Autor: anonym
Kommentar: ergänzungen
Revision 35 vom 2006-10-12 08:49:55
Größe: 14587
Autor: anonym
Kommentar: install
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 24: Zeile 24:
Wenn das Image korrekt geflasht wurde, bootet das NSLU2. In dem Moment kannst du die USB-Festplatte oder einen Stick anstöpseln und die Installationsroutine beginnt. Anschließend hangelst du dich per ssh durch die gewohnte Debian Installationsroutine. :) Der Loginname ist ''installer'' und das Passwort ''install''. Die IP-Adresse deines NSLU2 ist entweder, deine zuvor vergebene (bei einer anderen Installation) oder wenn du das nicht getan hast eine per DHCP bezogene und ansonsten die Standardadresse 192.168.1.77.

  * Es dauert
ca. 10 Minuten, bis das NSLU2 nach dem ersten Neustart mit dem Debian Installer Image wieder per ssh erreichbar ist. (Die ssh Key Generierung ist ein wenig antsrengend für den kleinen Prozessor.)
  * Evtl. musst du vorm flashen noch das !RedBoot aufräumen:
Wenn das Image korrekt geflasht wurde, bootet das NSLU2. In dem Moment kannst du die USB-Festplatte oder einen Stick anstöpseln und die Installationsroutine beginnt. (Falls du die Installation zu einem anderen Zeitpunkt starten möchtest, kannst du das NSLU2 einfach vom Stromnetz trennen und später zusammen mit dem USB-Medium erneut starten.) Die IP-Adresse deines NSLU2 ist entweder, deine zuvor vergebene (bei einer anderen Installation) oder wenn du das nicht getan hast eine per DHCP bezogene und ansonsten die Standardadresse 192.168.1.77. Jetzt hangelst du dich per ssh durch die gewohnte Debian Installationsroutine. :)
Zeile 29: Zeile 26:
fis erase -f 0x50040000 -l 0x20000 ssh installer@192.168.1.77
Zeile 31: Zeile 28:
 * ssh:
  * Loginname: ''installer''
  * Passwort: ''install''
 * Es dauert ca. 10 Minuten, bis das NSLU2 nach dem ersten Neustart mit dem Debian Installer Image wieder per ssh erreichbar ist. (Die ssh Key Generierung ist ein wenig antsrengend für den kleinen Prozessor.)

attachment:debian-baby.png

Hier wird die Debian Installation für ein Linksys NLSU2 beschrieben. Dazu findet sich schon reichlich Doku (siehe [#quellen Quellen]), dies ist eher eine kurze deutschsprachige Schritt für Schritt Anleitung. Wenn du schnell und unkompliziert ein Debian GNU/Linux auf dem NSLU2 installieren willst, kannst du den ersten Teil überspringen und gleich beim [#debianinstaller Debian Installer Spaziergang] weiterlesen. Ansonsten fängste mit der etwas [#langewanderung längeren Wanderung] an, bei der du jedes auf dem Weg liegende Stückchen Quellcode einzeln bestaunen kannst. TableOfContents

Anchor(debianinstaller)

der kurze Debian Installer Spaziergang, für die Mittagspause

Ziel: Ein fertiges Debian Image auf dem NSLU2 und eine Standard Debian Installation auf einer externe Festplatte/USB-Stick.

Mit dem neuen Debian Installer sparst du dir eine Menge Friemelarbeit. Du flashst einfach ein passendes Image in das NSLU2, bootest und der Installer läuft automatisch ab. Dazu kannst du das Debian Paket upslug2 benutzen. Aber auch hier bereiten die Closed Source Netzwerktreiber von Intel wieder Probleme, weswegen das [http://ftp.de.debian.org/debian/dists/testing/main/installer-arm/current/images/ Standard Installer Image] dir nur hilft, wenn du das NSLU2 über einen USB Adpater ans Netzwerk angeschlossen hast. Ansonsten musst du auf die [http://www.slug-firmware.net/ inoffiziellen Images] zurück greifen, die Intels Netzwerktreiber enthalten. Eine ausführliche Anleitung (engl.) kommt von [http://www.cyrius.com/debian/nslu2/ Martin Michlmayr]. Die Zipdatei enthält zwei Images. Die Datei di-nslu2.bin wird jetzt gleich gebraucht.

apt-get install upslug2
upslug2 -i di-nslu2.bin
  • Bevor du das zweite Kommando startest, muss das NSLU2 in den Upgrade Modus gebracht werden. Das geht so:
    • das Slug ausschalten
    • alle USB Geräte entfernen, nur die Netzwerkverbindung dran lassen
    • Resetknopf gedrückt halten (mit einem spitzen Gegenstand)
    • den Powerknopf drücken und wieder loslassen (dabei den Resetknopf gedrückt halten)
    • ca. 10Sek. warten, bis die Ready/Status LED von orange zu rot wechselt und den Resetknopf loslassen
    • Jetzt sollte die Ready/Status LED rot-grün blinken, das Slug ist im Upgrade Modus.
  • Evtl. wird für upslug2 wird noch "-t MAC_Adresse" gebraucht, wenn du mehrere NSLU2 inerhalb eines Netzwerkes gleichzeitig im Upgrade Modus hast.

Wenn das Image korrekt geflasht wurde, bootet das NSLU2. In dem Moment kannst du die USB-Festplatte oder einen Stick anstöpseln und die Installationsroutine beginnt. (Falls du die Installation zu einem anderen Zeitpunkt starten möchtest, kannst du das NSLU2 einfach vom Stromnetz trennen und später zusammen mit dem USB-Medium erneut starten.) Die IP-Adresse deines NSLU2 ist entweder, deine zuvor vergebene (bei einer anderen Installation) oder wenn du das nicht getan hast eine per DHCP bezogene und ansonsten die Standardadresse 192.168.1.77. Jetzt hangelst du dich per ssh durch die gewohnte Debian Installationsroutine. :)

ssh installer@192.168.1.77
  • ssh:
    • Loginname: installer

    • Passwort: install

  • Es dauert ca. 10 Minuten, bis das NSLU2 nach dem ersten Neustart mit dem Debian Installer Image wieder per ssh erreichbar ist. (Die ssh Key Generierung ist ein wenig antsrengend für den kleinen Prozessor.)
  • Das Debian Installer Image startet automatisch /sbin/debian-installer-startup und /sbin/debian-installer.
  • Die Installation dauert bei einer schnellen Internetverbindung knapp zwei Stunden.
  • Am Ende der Installation wird noch kein korrektes initramfs ins Flash geschrieben. (Stattdessen erscheint ein Warnhinweis, dass kein Bootloader installiert wurde). Du schaltest also das NSLU2 aus und bringst es wieder in den Flashmodus (ohne USB Festplatte).
  • Dann kommt das zweite Image: debian-sda1.bin drauf.

upslug2 -i debian-sda1.bin
  • Wenn der Flashvorgang fertig ist und die Kiste neu startet kannst du die USB Platte wieder anstecken und schon bootet das neue System davon. Bis das NSLU2 wieder per ssh erreichbar ist können wieder einige Minuten vergehen. Jedenfalls sollten nach einiger Zeit Zugriffe auf die Platte stattfinden.

Abschließend kannst du noch alle Debian Pakete aktualisieren und die [http://www.kitenet.net/~joey/code/nslu2-utils.html NSLU2-utils] installieren:

apt-get update
apt-get dist-upgrade
apt-get install nslu2-utils

So, jetzt hast du mit wenigen Handgriffen ein Debian auf die externe Platte des NSLU2 installiert. Einfacher geht's wohl kaum. Viel Spaß mit dem Gerät.

Anchor(langewanderung)

die tatenreiche Wanderung mit ihren Sehenswürdikeiten

Ziel: Ein selbstgebautes Bootimage auf dem NSLU2 und eine vollwertige DebianSlug Installation auf einer externen Platte.

Dies ist eine Kurzfassung der [http://www.nslu2-linux.org/wiki/Development/MasterMakefile Originalanleitung], um aus dem Master Makefile einen Debian Linuxkernel für das NSLU2 zu bauen und anschließend zu flashen. Betrachte diesen Vorgang als Hardcore Möglichkeit, der dir sämtliche Möglichkeiten im Umgang mit den Quellen offen hält. Als Buildsystem kommt hier ebenfalls ein Debian GNU/Linux zum Einsatz, prinzipiell sollte aber jede Linux Distro funktionieren, sowie einige BSDs.

die DebianSlug Entwicklungsumgebung einrichten

  • aus Etch (also momentan testing) monotone >= 0.24 installieren

    • monotone ist ein distributed version control system
    • Alle anderen notwendigen Tools der Entwicklungsumgebung werden später mit make setup-host-debian installiert.

  • Ich hab mir für die folgenden Schritte einen neuen Benutzer slug angelegt.

  • Abschließend alle notwendigen Compilern/Bibliotheken in deinem System einrichten. Dazu werden ein paar größere Pakete aus dem Internet heruntergeladen.

su
apt-get install monotone
su slug
mkdir -p ~/slug
cd ~/slug
wget --cache=off http://www.nslu2-linux.org/Makefile
su
make setup-host-debian

den Slug Kernel bauen

make update
make debianslug-image
  • In diesem Fall ist debianslug-image das buildtarget, andere Ziele stehen im Makefile (falls du einen anderen Slug Kernel bauen lassen möchtest)

  • Dies auf keinen Fall als root tun!
  • Eine Internetverbindung wird beim make benötigt, da Quellen nachgeladen werden.
  • Jetzt ist eine gute Gelegenheit, etwas sinnvolles zu tun - jonglieren z.B..
    • Ich hatte zwischendurch Probleme beim make debianslug-image. Zu der Zeit wurde gerade aktiv am Repository geschrieben. Wenn du mysteriöses Verhalten beim make feststellst, zöger nicht, die EntwicklerInnen per irc zu kontaktieren.

  • In einer FOSS freundlicheren Welt, würdest du den nächsten Schritt überspringen können - kannste aber nicht :(

Intels IXP400 Software holen

  • Irgendwann wird diese Meldung auftauchen: "NOTE: fetch http://www.intel.com/Please-Read-The-BB-File/IPL_ixp400AccessLibrary-2_1.zip"

    • Ein einfaches wget wäre schön, Intel verlangt aber vorher eine Registrierung.
  • Lies dir ~/slug/debianslug/openembedded/packages/ixp4xx/ixp-osal-2.1-r3.bb durch.
  • Letztlich steht da, dass du zwei Dateien runterladen und zusammen mit deren md5 Summen in ~/slug/downloads kopieren musst.
    • IPL_ixp400AccessLibrary-2_1.zip IPL_ixp400AccessLibrary-2_1.zip.md5
    • IPL_ixp400NpeLibrary-2_1.zip IPL_ixp400NpeLibrary-2_1.zip.md5

den Kernel mit ''upslug'' auf's NSLU2 hochladen (Upgrade-Modus)

Wenn du bisher alle Anweisungen erfolgreich ausführen konntest. Dann wurde der neue Kernel für das NSLU2 gebaut und den kannst du jetzt hochladen.

  • Nach dem Build liegt der Kernel hier:
    • ~/slug/debianslug/tmp/deploy/images/debianslug-nslu2-<date>.flashdisk.img

  • Mit upslug2 kannst du auf ein jungfräuliches NSLU2 den Linuxkernel flashen.

    • Das Programm liegt nach dem make hier: ~/slug/debianslug/tmp/staging/uname -m-linux/bin/upslug2

    • Alternativ kannst du das Debianpaket upslug2 per apt-get installieren.

    • Upslug2 braucht Rootrechte.
    • Das NSLU2 sollte direkt mit deinem Rechner verbunden sein (keine Router oder so dazwischen).
  • Zur Installation muss das NSLU2 in den Upgrade Modus gebracht werden:
    • Slug ausschalten
    • Resetknopf gedrückt halten
    • Den Powerknopf drücken und wieder loslassen (dabei den Resetknopf gedrückt halten)
    • ca. 10Sek. warten, bis die Ready/Status LED von orange zu rot wechselt und den Resetknopf loslassen
    • Jetzt sollte die Ready/Status LED rot-grün blinken, das Slug ist im Upgrade Modus.
  • Du brauchst die MAC-Adresse des Slug, die ist auf der Geräteunterseite aufgeklebt
    • ansonsten ist arp dein Freund (default IP ist 192.168.1.77 außer du hast einen DHCP-Server im Netz)

  • jetzt endlich flashen:

upslug2 --target=MAC --image=~/slug/debianslug/tmp/deploy/images/debianslug-nslu2-<date>.flashdisk.img --rootfs=~/slug/debianslug/tmp/deploy/images/debianslug-nslu2-<date>.rootfs.jffs2
  • Wenn du bereits ein OpenSlug System auf dem NSLU2 laufen hast, kannst du jetzt den neuen Kernel installieren

reflash -i ~/slug/debianslug/tmp/deploy/images/debianslug-nslu2-<date>.flashdisk.img

das neue System booten

Wenn du das neue Kernelimage + Root Dateisystem im Flashspeicher installiert hast, kannst du das NSLU2 booten und Debian installieren. (Was bedeuten die [http://www.nslu2-linux.org/wiki/OpenSlug/OpenSlugLEDsDuringBoot blinkenden LEDs] beim booten?) Nach ca. einer Minute kannst du dich per ssh anmelden, das default root Passwort ist opeNSLUg. Du kannst den Hostname,IP usw. per Hand anpassen oder das turnup Script benutzen.

turnup init
reboot

Debian bootstrappen

Jetzt fängt die eigentliche Debian Installation erst an. Nach dem Neustart kannst du die externe Platte anschließen. Auf der wird jetzt das Debiansystem installiert.

fdisk /dev/sda
mkfs.ext3 /dev/sda1
mkdir /mnt/debian
mount /dev/sda1 /mnt/debian
mkswap /dev/sda2
swapon /dev/sda2
mkdir /mnt/debian/bootstrap
cd /mnt/debian/bootstrap
wget http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap-udeb_0.3.3_arm.udeb
ar -x debootstrap-udeb_0.3.3_arm.udeb
zcat data.tar.gz | tar xv
export DEBOOTSTRAP_DIR=/mnt/debian/bootstrap/usr/lib/debootstrap
./usr/sbin/debootstrap --arch arm sid /mnt/debian http://ftp.debian.org/
...
turnup disk /dev/sda1 -t ext3 
  • Vor dem turnup müssen noch ein paar Dateien kopiert werden. Das ist zeitaufwendige Bastelarbeit, die in den obigen Links beschrieben wird. Ich kann dir nur empfehlen, den Debian Installer (also Variante 2) zu benutzen. Der ist zwar noch blutjung, macht aber schon einen stabilen Eindruck.

Notes

  • 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.

  • Wann immer ein Buildvorgang seltsam abbricht säubere die Verzeichnisse, mach ein update und versuch's nochmal - das kann dir eine Menge wirrer Fehler ersparen.
  • schau ins http://ibot.rikers.org/%23nslu2-linux/ IRC Archiv - dort findest du haufenweise undokumentiertes Metawissen & Neuigkeiten

  • Hier ein paar praktische Geschwindigkeitswerte: SlugPerformance

Dank

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

  • und an das Debianteam & Martin Michlmayr für die geile Distro und den passenden Installer zur ARM Architektur. DebianWorldDomination :)

Übertakten

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.

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. Bebilderte Anleitungen dazu liefert dir jede Suchmaschine.

Anchor(quellen)

Quellen/Links


Diskussion

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

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. Was genau liegt denn in /media/hdd? 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.

    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.