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.

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. Der kurze [#debianinstaller Debian Installer Spaziergang] führt also momentan nicht an das gewünschte Ziel. Deswegen ist es günstiger die DebianSlug Firmware zu installieren und das Debian System via bootstrap auf das NSLU zu installieren. Dieser Weg wird im [#debianslug DebianSlug Spaziergang] beschrieben.

TableOfContents

Anchor(debianinstaller)

der Debian Installer Spaziergang, für die kurze 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 (DebianSlug) sparst du dir eine Menge Friemelarbeit. Du flashst einfach ein passendes Image in das NSLU2, bootest und der Debian Installer lässt sich wie gewohnt per ssh steuern. (Die Alternative wäre das !SlugOS Image, für das du aber eine Debianinstallation per Hand "debootsstrappen" musst. Das ist gut dokumentiert, siehe Quellen/Links. Schneller und unkomplizierter ist aber die Debian Installer Variante, die im folgenden beschrieben wird.)

Zum flashen kannst du das Debian Paket upslug2 benutzen.

apt-get install upslug2

Die Closed Source Netzwerktreiber von Intel bereiten hier 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. Willst du den intergrieten Netzwerkanschluß nutzen, musst du auf die [http://www.slug-firmware.net/ inoffiziellen Images] zurück greifen, die Intels proprietären Netzwerktreiber enthalten. Eine ausführlichere Anleitung (engl.), an die ich mich gehalten habe, kommt von [http://www.cyrius.com/debian/nslu2/ Martin Michlmayr].

Die Zipdatei (DebianSlug) von [http://www.slug-firmware.net/ www.slug-firmware.net] enthält zwei Images. Eins für die Installationsroutine und eins für den eigentlichen Betrieb des NSLU. Erstere Datei di-nslu2.bin wird jetzt gleich gebraucht.

upslug2 -i di-nslu2.bin

Wenn das Image korrekt geflasht wurde, bootet das NSLU2 erneut. In dem Moment kannst du die USB-Festplatte oder einen Stick anstöpseln und die Debian Installationsroutine auf dem NSLU2 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 via ssh durch die gewohnte Debian Installationsroutine. :)

ssh installer@192.168.1.77

upslug2 -i debian-sda1.bin

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 (little-endian, arm) auf die externe Platte des NSLU2 installiert. Einfacher geht's wohl kaum. Viel Spaß mit dem Gerät.


Anchor(debianslug)

der DebianSlug Spaziergang für die längere Siesta

Ziel: ein DebianSlug Image auf dem NSLU2 und ein installiertes Debian System auf einer externen Festplatte

Dies ist die deutsche Kurzfassung der engl. [http://www.nslu2-linux.org/wiki/DebianSlug/Bootstrap DebianSlug Bootstrap] Anleitung

upslug2 -i debianslug-3.10-beta.bin

mkfs.ext3 /dev/sda1 # ext3 is a safe choice
mkswap /dev/sda2
sync; sync; sync
swapon /dev/sda2

wget http://ftp.nl.debian.org/debian/pool/main/d/debootstrap/debootstrap-udeb_0.3.3_arm.udeb
ar -x debootstrap-udeb_0.3.3_arm.udeb
tar xzvf data.tar.gz
export DEBOOTSTRAP_DIR=`pwd`/usr/lib/debootstrap

./usr/sbin/debootstrap --arch arm sid /mnt/debinst http://ftp.nl.debian.org/debian

cp /etc/resolv.conf etc/resolv.conf
cp /etc/hosts etc/hosts
cp /etc/hostname etc/hostname
cp /etc/network/interfaces etc/network/interfaces

cp -a /lib/modules/* lib/modules 

mount -t proc proc /mnt/debinst

proc            /proc           proc    defaults        0  0
/dev/sda1       /               ext3    defaults        1  1
/dev/sda2       swap            swap    defaults        0  0

echo "ixp400_eth dev_max_count=1" >> /mnt/debinst/etc/modules

Jetzt hast du ein halbwegs brauchbares Minimal Debian auf deiner externen Platte/SD-Karte. Du kannst es mit "chroot" testen und darin weitere Pakete installieren. Wichtig ist das Paket: openssh-server. Anschließend kannst du das NSLU2 darauf vorbereiten, dass es demnächst von dem externen Medium bootet. Dazu alles von dem Medium umounten (proc nicht vergessen). Damit beim nächsten mount kein Dateisystemcheck abläuft hilft folgendes:

/sbin/tune2fs -c 0 -i 0 /dev/sda1

turnup disk /dev/sda1 -t ext3

Jetzt reboot und viel Spaß mit dem frischen Debian. Das NSLU2 bootet offensichtlich nur mit einem angestöpselten USB-Gerät (also das mit dem Debiansystem), ansonsten wird durch einige Pieptöne signalisert, dass nur vom internen Flashimage gebootet wird.


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

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

Intels IXP400 Software holen

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.

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

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 

Notes

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

Dank

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.


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