Debian 6 und 7 auf der NSLU2

Aus MySlug
Zur Navigation springen Zur Suche springen

Vorwort

Debbislug6

Schnegge still alive

Wer glaubt, dass mit dem Debian 5 das Ende der Fahnenstange erreicht ist, der täuscht sich ... zum Glück. Denn langweilig wird es einem mit der NSLU2 sicherlich nicht.

Allerdings wird es schwieriger, die NSLU2 mit einer aktuellen UNSLUNG Version zu versorgen, so wird wohl mehr und mehr Debian das bevorzugte OS auf der NSLU2 bleiben. Das zumindest für mich. Ich selbst hatte gedacht, dass mit Debian 5 auch der Support für die NSLU2 seitens der Community eingestellt wird, aber auch hier habe ich mich Gott sei Dank getäuscht. Ein User aus meinem Forum hat hierbei bemerkt, dass es auch für Debian 6 oder auch Debian 7 weiterhin die Möglichkeit gibt, die Schnecke mit einem Debian Linux zu versorgen. Eine grundlegende englische Anleitung findet Ihr unter folgender URL: http://www.cyrius.com/debian/nslu2/unpack.html

Stefan aus meinem Forum hat sich dann daran gesetzt, ein deutsches Tutorial zu verfassen, was wir dann zusammen ausgebaut haben. Diese umfassende deutsche Anleitung stelle ich hier nun auf MYSLUG in meine Tutorial Sammlung. An dieser Stelle auch noch einen herzlichen Dank an Stefan für seine prima Arbeit!

Wichtige Links
DEBIAN: http://www.debian.org
CYRIUS TUTORIAL: http://www.cyrius.com/debian/nslu2/unpack.html
GARGI.ORG TUTORIAL: http://www.gargi.org/showthread.php?4124-Debian-6-Squeeze-auf-einer-NSLU2-installieren

HINWEIS: Bitte achtet wie immer darauf, dass Ihr Euch beim Eingeben der folgenden Befehle nicht vertippt. Die NSLU2 wird in dem Tutorial geflasht. Hierbei übernehme ich keine Haftung für Schäden, die eventuell an der Hardware passieren können. Während des Flashvorgangs darf die Stromzufuhr oder die Netzwerkverbindung nicht unterbrochen werden. Wartet hier immer ab, bis der jeweilige Arbeitsschritt beendet ist. Nicht alle USB Sticks oder USB Festplatten sind für die NSLU2 geeignet. Eine Kompatibilitätsliste kann ich hierbei nicht zur Verfügung stellen und gebe auch keine Kaufempfehlung ab. Nehmt Euch für das Tutorial Ruhe und Zeit. Der Hersteller wird hierfür keinen Support geben.

Stick/HDD erstellen

Festplatte mittels fdisk (distributionsübergreifend) einrichten: An der Konsole könnt Ihr auf allen Linuxdistributionen via fdisk Eure Platte partitionieren. Steckt dazu Eure Festplatte an einen USB Port Eures Linuxrechners und stellt fest, welches Device die Platte ist. Dann sehen wir uns erstmal die Platte mittels folgendem Befehl an:

#fdisk -l /dev/sde

Disk /dev/sde: 60.0 GB, 60011642880 bytes
64 Köpfe, 32 Sektoren/Spur, 57231 Zylinder, zusammen 117210240 Sektoren
Einheiten = Sektoren von 1 × 512 = 512 Bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x1e585210

Gerät  boot.     Anfang        Ende     Blöcke   Id  System

Wir haben hier eine 60GB Platte in unserem Beispiel. Die werden wir wie folgt einrichten:

1GB für Swap (Auslagerungspartition)
20GB für /
~40GB (den Rest) für /home

Dazu starten wir den fdisk und geben ein n für eine neue Partition ein:

# fdisk /dev/sde
Welcome to fdisk (util-linux 2.21.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Befehl (m für Hilfe): n

Danach ein p für eine primäre Partition:

Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   Erweiterte
Select (default p):p

Übernehmt die 1 für die erste Partition:

Partitionsnummer (1-4, Vorgabe: 1): 1

Den nächsten Wert nur mit Enter übernehmen:

Erster Sektor (2048-117210239, Vorgabe: 2048):

Danach legen wir 1GB an. Diese wird unsere Swap Partition:

Last Sektor, +Sektoren or +size{K,M,G} (2048-117210239, Vorgabe: 117210239): +1G

Perfekt, die korrekte Größe ist gesetzt:

Partition 1 of type Linux and of size 1 GiB is set

Dann die nächste Partition mit den gleichen Schritten wie oben anlegen. Root Partition:

Last Sektor, +Sektoren or +size{K,M,G} (2099200-117210239, Vorgabe: 117210239): +20G
Partition 2 of type Linux and of size 20 GiB is set

Bei der letzten Partition für Home dann einfach den Rest in meinem Beispiel übernehmen. Danach geben wir t ein, damit wir die Disk ID der ersten Partition verändern. Diese muss als eine SWAP Partition eingerichtet werden. Dazu t auswählen:

Benutze den Standardwert 117210239
Partition 3 of type Linux and of size 34,9 GiB is set

Befehl (m für Hilfe): t

Hier die erste Partition mit 1 auswählen und die Disk ID auf 82 setzen. Dann a auswählen und die 2. Partition. Das setzt hier den Bootflagg.
Danach übernehmen wir alle Änderungen mit w.

Wir sehen uns das Ergebnis erstmal an:

# fdisk -l /dev/sde

Disk /dev/sde: 60.0 GB, 60011642880 bytes
64 Köpfe, 32 Sektoren/Spur, 57231 Zylinder, zusammen 117210240 Sektoren
Einheiten = Sektoren von 1 × 512 = 512 Bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x1e585210

      Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sde1            2048     2099199     1048576   82  Linux Swap / Solaris
/dev/sde2   *     2099200    44042239    20971520   83  Linux
/dev/sde3        44042240   117210239    36584000   83  Linux

Mit folgendem Befehl bereiten wir die SWAP dann vor:

#mkswap /dev/sde1
Swapbereich Version 1 wird angelegt, Größe = 1048572 KiB
kein Label, UUID=8ddf3269-9c3c-4229-9847-587ef1d36a1d

Die restlichen beiden Partitionen formatieren wir mit dem Ext3 Dateisystem:

mke2fs /dev/sde2
tune2fs -O has_journal -o journal_data /dev/sde2
tune2fs -O dir_index /dev/sde2

Ein kurzer Check:

e2fsck -D -f /dev/sde2

Da wir mit Ext3 ein journaling system verwenden deaktivieren wir boot time checks:

tune2fs -c 0 -i 0 /dev/sde2

Das bitte dann auch für Eure /dev/sde3 durchführen. Danach fahren wir wie folgt durch:

Wir mounten die Platte, wechseln auf die root Partition und holen uns das Image für die Debian Platte und entpacken die Debiandateien auf die Platte:

# sudo su
# mount /dev/sde2 /mnt
# mkdir /mnt/boot
# cd /mnt

Debian 6 Squeeze downloaden:

# wget http://people.debian.org/~tbm/nslu2/squeeze/base.tar.bz2

ODER Debian 7 Wheezy downloaden:

# wget http://people.debian.org/~tbm/nslu2/wheezy/base.tar.bz2

Danach das Image entpacken:

# tar -xjvf base.tar.bz2

Jetzt die FSTAB auf Eure Partitionen einstellen:

# nano /mnt/etc/fstab

(in unserem Beispiel sieht diese wie folgt aus, ggf anpassen!):

# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc              proc    defaults        0       0
/dev/sda1       none            swap    sw              0       0
/dev/sda2       /                 ext3    errors=remount-ro 0       1
/dev/sda3       /home          ext3    defaults        0       2

Gegebenfalls die resolf.conf ändern:

# nano /mnt/etc/resolv.conf

Hier könnt Ihr die Netzwerkadresse bereits an der Stelle von einer dynamischen IP auf eine feste umstellen. Andernfalls wird sich via DHCP die Adresse automatisch gezogen:

# nano /mnt/etc/network/interfaces

Beispiel:
iface eth0 inet static
address 192.168.0.4
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1

Jetzt hängen wir die Platte wieder sauber aus:

# cd /
# umount /mnt



Upslug2 installieren und Image flashen

Unter den Linuxdistributionen kann man sich das Programm Upslug2 recht schnell selbst kompilieren. Zunächst benötigt man das Programm upslug2. Dieses kompilieren wir selbst nachdem wir uns das Quellpaket besorgt haben:

svn co http://svn.nslu2-linux.org/svnroot/upslug2/trunk upslug2

Das erzeugt ein neues Unterverzeichnis upslug2. In dies wechseln wir dann:

cd upslug2

Danach starten wir den Kompile mit folgenden Befehlen:

autoreconf -i
./configure
make

Debbislug6_1

Zum Flashen muss sie nicht geöffnet werden...


Jetzt liegt das Programm upslug2 im Buildverzeichnis. Kopiert nun die aktuelle Firmware in das gleiche Verzeichnis.


Nun stellt Euer Netzwerk auf folgende IP um:


192.168.0.xxx

D.h. : Die NSLU2 wird wieder die IP 192.168.0.1 verwenden, somit muss der Linuxrechner eine andere Endnummer bekommen.


Jetzt versetzen wir die NSLU2 mit einem einfachen Trick in den Redboot- Modus: Schalte die Slug aus und nehmt eine Büroklammer zur Hand. Drückt damit auf der Rückseite des Gerätes den Reset-Button. Diesen haltet dann fest und drückt vorne auf den Einschaltknopf. Den Einschaltkopf lasst los und haltet hinten noch den Reset-Knopf gedrückt. Dann beobachtet die obere LED. Diese wird zuerst orange und nach ca. 10 Sekunden rot. Jetzt den Reset-Knopf loslassen! Wenn nun die LED Rot-Grün blinkt, dann ist diese bereit für den Flashvorgang.

Setzt Euch nun an Euren Linuxrechner und holt Euch an der Konsole root-Rechte:

su

[PASSWORT EINGEBEN]

Wechselt mit cd in Euer upslug Verzeichnis und holt Euch das Image zum Flashen:

Debian 6 Squeeze:

wget http://www.cyrius.com/debian/nslu2/files/armel/sda2-2.6.32-5

ODER Debian 7 Wheezy:

wget http://www.cyrius.com/debian/nslu2/files/armel/sda2-3.2.0-4

Nun startet das upslug2 Programm aus Eurem Buildverzeichnis heraus für Debian 6 mit folgendem Befehl:

./upslug2 --image="sda2-2.6.32-5"

Für Debian 7:

./upslug2 --image="sda2-3.2.0-4"

Wenn Ihr mehrere NSLU2 im Netz hängen habt, muss die MAC Adresse angegeben werden:

./upslug2 --target="xx:xx:xx:xx:xx:xx" --image="sda2..."

(xx:xx:xx:xx:xx:xx = MAC Adresse der zu flashenden NSLU2) Ein Output, der auf das erfolgreiche Flashen hindeutet sieht in etwa so aus:

./upslug2 --image="di-nslu2.bin"
LKG7E985E 00:0f:66:7e:98:5e Product ID: 1 Protocol ID:0 Firmware Version: R23V63 [0x2363]
Upgrading LKG7E985E 00:0f:66:7e:98:5e
    . 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 occurred         + sequence error detected

  7fffff+000000 ...VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
Rebooting... done

Solltet Ihr später das Debian nicht mehr weiter verwenden und lieber wieder mit der unslung arbeiten wollen, dann könnt Ihr die Unslung Firmware genau auf diese Art und Weise wieder aufkopieren, denn spätestens jetzt habt Ihr keinen Webadmin mehr zur Verfügung über den Ihr das auch lösen könntet

Nach dem Flashen startet die Slug wieder neu. Steckt dabei Eure vorbereitete Festplatte an den Anschluss Disk 1 an und lasst das Gerät durchbooten. Es ist durchaus möglich, dass der erste Bootvorgang länger dauert, weil möglicherweise ein Plattencheck durchgeführt wird. Dies kann unter Umständen mehrere Minuten dauern. Euren Linux Rechner, von dem Ihr aus geflasht habt müsst Ihr dann wieder für Euer Netzwerk entsprechend umstellen.

Debian konfigurieren und aktualisieren

Soweit so gut. Wir können jetzt direkt per SSH auf die NSLU2 (im Router nach IP sehen, falls nicht fest vergeben) ab hier kann auch wieder mit Windows und z.B. Putty gearbeitet werden.

# ssh root@IP_DER_NSLU2

Passwort ist root

Root-Passwort ändern

# passwd

Erste wichtige Tools installieren:

apt-get install mc nano htop

Weitere Benutzer anlegen, falls gewünscht

# adduser USERNAME

Eigene SSH-Schlüssel erstellen

# rm /etc/ssh/ssh_host*
# dpkg-reconfigure openssh-server

"uk" änderen wir nach "de" ab

# nano /etc/apt/sources.list

Zeit einstellen "lassen"

# ntpdate pool.ntp.org

System auf aktuellen Stand bringen

# apt-get update
# apt-get dist-upgrade

Zeitzone einstellen

# dpkg-reconfigure tzdata

Deutsche Sprache einstellen (UTF-8)

# dpkg-reconfigure locales

Die zwei untersten Zeilen auskommentieren, damit der User Root auch alles deutsch angezeigt bekommt

# nano /root/.profile

Einstellungen nach Eurem Gusto

# nano /etc/hostname
# nano /etc/hosts

Ich installiere noch psmisc, da sonst mein geliebter killall-Befehl nicht funktioniert:

# apt-get install psmisc

Das war es dann. Jetzt ein letzter Reboot:

# reboot



Viel Spaß!

Euer
Pierre "Gargi" Kretschmer

Vielen Dank an der Stelle nochmal an Stefan für seine Mitarbeit!