Debian Lenny auf dem DNS-323
Freitag, 07. August 2009 um 17:12 Uhr Christian

Wie die meisten Leser meines Blogs wohl wissen werden, ich bin kein Freund von Debian. Aber in der Not frisst der Teufel fliegen. Debian ist wohl die einzige general purpose Distribution die armv5tel als Architektur offiziell unterstützt.
Seit mittlerweile einem Jahr habe ein D-Link DNS-323 NAS Gerät [0]. Soweit war ich auch immer mehr oder weniger zufrieden. Dank fun_plug konnte man eigene Software installieren und war soweit recht flexibel. In meinem Fall handelte es sich dabei insbesondere um mediatomb und cups. Ein paar Sachen waren aber doch störend. Der von der Original Firmware benutzter Kernel beherrschte kein inotify (doof für mediatomb), die Partitionierung war sehr eingeschränkt und erlaubte nur ext2 als Dateisystem. smartmon funktionierte leider auch nicht.
Vor kurzem habe ich aber dann erfahren dass Martin Michlmayr [1] ein Debian Installer für den DNS-323 entwickelt hat. Bei der Installation wird die Firmware temporär durch ein netboot Image des Debian Installer ersetzt der dann am Ende der Installation Debian Kernel und initrd in den Flash ROM speichert.
Ich hatte doch etwas Bauchweh bei dem Gedanken daran die Originial Firmware komplett zu ersetzen, außerdem war in der Anleitung [2] davon die Rede dass die Platten bei der Installation formatiert würden, was ich vermeiden wollte, knapp 500 GB Daten sind nicht so leicht zu sichern. Nach einer Rückfrage wie es mit einer Installation auf einem USB Stick aussieht (hatte meine fun_plug Software bis jetzt auch auf nem USB-Stick, damit der HD Spindown klappt) bekam ich als Antwort dass ich doch bitte während der Installation die Platten entfernen sollte und nach der Installation wieder einbauen. Damit hätte sich auch das Problem mit der Formatierung erledigt. Ich vermute, dass hätte ich mir auch sparen können, da die Experteninstallation genügend Optionen hinsichtlich Partitionierung bot. Anderseits habe ich nicht die geringste Idee wie der Bootloader funktioniert. Der Installer empfahl bei einem 4 GB USB Stick nur 172 MB Swap. Das kam mir etwas wenig vor, aber es reicht. Ansonsten hätte ich halt händisch ein Swapfile angelegt.
Aber Hauptsache alles lief glatt. Auch wenn ich sehr lange Zeit kein Debian mehr installiert hatte, machte mir die Experten Installation keinerlei Probleme und lies keine Fragen offen. Nur sehr lange hatte es gedauert, ca 3 Stunden. Aber kein Wunder bei DSL2000, 64 MB Ram und 500 Mhz. Schlussendlich stand mir aber trotzdem wirklich der Schweiß auf der Stirn ob das System nun bootet, aber es lief einwandfrei. siehe:
oxygen-nas:~# cat /etc/debian_version 5.0.2 oxygen-nas:~# uname -a Linux oxygen-nas 2.6.30-1-orion5x #1 Sun Jul 19 01:26:48 UTC 2009 armv5tel GNU/Linux oxygen-nas:~# cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sdc1[1] sdb1[0] 732571904 blocks [2/2] [UU] unused devices: <none> oxygen-nas:~# # df -h -t ext3 Dateisystem Größe Benut Verf Ben% Eingehängt auf /dev/sda2 3,4G 1,3G 2,0G 40% / /dev/md0 688G 468G 221G 68% /storage
Selbst die RAID Konfiguration der beiden Platten wurde nach dem Einbau und der Installation von mdadm direkt erkannt und übernommen. Leider hatte ich das zu spät gemerkt und eine Platte bereits neupartitioniert. Aber meine Daten sind natürlich noch da, ich habe dann einfach die ursprüngliche RAID1 Partition gemountet und die Daten auf die neupartitionierte Platte kopiert. Auch das hat wieder sehr lange gedauert. 5 Stunden würde ich schätzen. Nachdem ich dann auch die 2 Platte gemountet hatte, konnte ich das RAID1 dann zusammen fügen (vgl [3]). Die RAID Recovery hat interessanterweise viel weniger Zeit in Anspruch genommen, nur knapp eine Stunde.
Zusätzliche habe ich noch den aktualisierten Kernel [4] installiert. Auch hier beim Flashen und anschließendem Reboot wieder Schweißperlen auf der Stirn. Aber apt / dpkg haben gute Arbeit geleistet, alles lief perfekt.
Zur Sicherheit habe ich mir direkt ein Backup vom USB-Stick angelegt, den ohne bootet das System nun gar nicht mehr. Sonderlich zuverlässig sind die heute allesamt nicht mehr. Sonst hätte ich nur noch einen ziemlich teuren Briefbeschwerer. Eine Rettung wäre zwar theoretisch über ein spezielles Konsolenkabel [5] möglich, jedoch habe ich nicht die Möglichkeit ein solches herzustellen und kenne auch niemand der eins besitzt.
Alle wichtigen Funktionen funktionieren einwandfrei, dazu gehören unter anderem:
- samba
- nfs
- mediatomb [6] (mit ffmpegthumbnailer und inotify Support!, d.h. jetzt habe ich im PS3 Menü sogar eine Videovorschau und brauch nicht mehr manuell die Datenbank aktuallisieren lassen)
- firefly media server [7] aka mt-daapd
- cups (mein Laserjet 1010 hängt dran, es lässt sich sowohl von Vista als auch Gentoo aus einwandfrei drucken)
- Lüfter-Steuerung
- HD Spindown
- smartmon
- Avahi (mit Unterstützung für cups, samba, SSH)
Hier noch meine /etc/fancontrol:
# Configuration file generated by pwmconfig, changes will be lost INTERVAL=30 FCTEMPS=hwmon0/device/pwm1=hwmon1/device/temp1_input FCFANS=hwmon0/device/pwm1=hwmon0/device/fan1_input MINTEMP=hwmon0/device/pwm1=40 MAXTEMP=hwmon0/device/pwm1=56 MINSTART=hwmon0/device/pwm1=40 MINSTOP=hwmon0/device/pwm1=2 MAXPWM=hwmon0/device/pwm1=255
UPDATE:Scheinbar ist die Nummerierung der hwmon Devices bei jedem Bootvorgang zufällig. Ich habe nun eine fancontrol.0 und fancontrol.1 mit jeweils vertauschten hwmon0 / hwmon1 Einträgen, die ich nach einen Reboot händisch umkopieren muss.
Die Performance ist mit der Originalfirmware vergleichbar. Samba Transfers pendeln sich in der Regel bei 9-12 MB/s ein. Vorher kam ich maximal auf 13 MB/s. Das wird durch die zusätzlichen Funktionen aber mehr als wett gemacht.
Siehe:
[0] http://wiki.dns323.info/
[1] http://www.cyrius.com/journal
[2] http://www.cyrius.com/debian/orion/d-link/dns-323/install.html
[3] http://wiki.con-victo.de/cgi-bin/moin.cgi/howto_Linux_Software_Raid1_mit_mdadm
[4] http://www.cyrius.com/journal/debian/orion/d-link/dns-323/dns-323-fan-control
[5] http://wiki.dns323.info/hardware:serial
[6] http://mediatomb.cc/
[7] http://www.fireflymediaserver.org/
Artikel gespeichert unter: Hardware / Gadgets,OpenSource / Linux
bisher 12 Kommentare Eigenen Kommentar schreiben
1.
TomTemp | 26.August 2009 um 13:53
Es ist schon toll, was Martin Michlmayr für unsere kleinen D-Link NASe möglich gemacht hat. Natürlich habe ich auch “gleich” seinen Installer angeworfen und mit höchstem Blutdruck verfolgt, was so passiert. Es hat aber alles Bestens funktioniert. Und tut es immer noch.
Allerdings bin ich nicht auf die Idee gekommen, einen USB-Stick als Boot- und Root-Medium zu benutzen. Ich habe dafür – ganz klassisch – meine Festplatten eingespannt. Nicht, dass auf diesen nennenswert viel Platz durch die Debian-Installation verloren geht, aber reizvoll finde ich die Lösung schon.
Nur wie bekomme ich mein Linux von der Platte auf den Stick? Erst wieder die Originalfirmware installieren, um dann den erneut anzuwerfen?
Oder kennt jemand einen Weg, den Installer direkt aus der laufenden Debian heraus zu starten?
2.
Christian | 27.August 2009 um 20:32
Da ich nicht genau weiß, wie der Bootloader funktoniert bzw. wo die Kernel Parameter abgelegt werden, würde ich eine Neuinstallation empfehlen. Alles andere wäre selbst mir zu heikel.
Nochmal die Orginial firmware zu flashen wird denke ich nicht nötig sein. Du kannst auch direkt nochmal das Installer Image flashen.
3.
Hups | 05.September 2009 um 22:22
Hallo Christian,
danke für deine nützliche und informative Beschreibung zur Installation von Debian auf dem DNS323.
Habe auch vor Debian auf meine Box zu packen, wollte aber das System zur Sicherheit wie du ebenfalls auf einen USB Stick machen. Um mir auch eingach ne Sicherheitskopie machen zu können.
Nun mein Frage dazu. Muss ich erst meine Box mit FunPlug auf die Benutzung von USB Sticks vorbereiten damit der Debian Installer darauf zugreifen kann oder findet der Installer einen angeschlossenen USB Stick auch (klemme meine Platten ebenfalls ab) wenn die Box noch die letzte Standardfirmware drauf hat.
Danke für die Info schon einmal vorab.
Lg.
Hups
4.
Hups | 06.September 2009 um 12:18
Hallo Christian,
nachdem ich noch ne weile über meine Frage nachgedacht hatte, fiel mir natürlich auf das der barrierefreie Debian Installer wohl keine Probleme hat an dem USB Port alle angeschlossenen Geräte zu fressen. Zudem hättest du sonst ja das selbe Problem gehabt und hättest es wohl erwähnt
So war es dann auch – hat den USB Stick ohne weiteres gefressen.
Wollte nur kurz Bescheid geben ^^
Gruß
5.
Mark | 10.September 2009 um 19:25
Hallo Christian,
ein grosses Dankeschön für diese detailierte Beschreibung. Hat mir sehr geholfen.
Gruss Mark
6.
Michael | 26.Oktober 2009 um 21:55
Moin!
Dank deinem Eintrag wurde ich inspiriert es auch mal zu wagen.
Hab nun die komplette Install auch auf einen USB stick. Hatte vorher diese gesammte optware Geschichte von dort aus laufen, damit das mit dem Spindown funktioniert – lief eigentlich ganz ok war dann nur durchs viele rumexperimentieren zugemüllt.
Egal, kommen wir zu meinen Fragen:
Seit ich Debian draufhabe habe ich das Gefühl dass meine Platten sich nicht mehr runterfahren. Wie hast du das mit dem Spindown geregelt bekomm?
Was passiert bei einer USB Installation wenn der Stick nicht steckt und man trotzdem bootet? Kommt man dann wieder in diese Debian Install-Routine von der Custom Firmware?
7.
Christian | 02.November 2009 um 14:46
Ich musste nichts besondere machen, um den Spindown zu erreichen. Nur halt /etc/hdparm.conf entsprechend anpassen.
Wenn der USB Stick nicht angesteckt ist, funktioniert gar nichts. Wie ich auch bereits im Artikel geschrieben hab, ist ein Backup deswegen anzuraten.
8.
Debian auf dem NAS 323 vo&hellip | 14.Januar 2010 um 16:09
[...] Samsel hat in einem Blogeintrag seine Erfahrungen & Eindrücke zur Installation von Debain lenny auf dem D-Link NAS 323 zusammengefasst. Nebenbei hat er mir auch mit einem Backup seiner USB-Sticks geholfen, da mein [...]
9.
Denny | 22.Februar 2010 um 02:14
Darf man fragen, welche Hardware Revision deine NAS ist? Der Debian Installer ist wohl nicht für C1 geeignet, zumindest heißt es “not supported”.
10.
Christian | 23.Februar 2010 um 19:01
B1
11.
Stephan | 26.März 2010 um 14:20
Hi zusammen.
Um das hwmon0 / hwmon1 Problem zu umschiffen habe ich bei mir folgendes in /etc/init.d/fancontrol hinter den Variablendeklarationen eingefügt (fancontrol.0 und fancontrol.1 entsprechend angepasst):
if [ -f /sys/class/hwmon/hwmon1/device/temp1_input ]; then
ln -sf /etc/fancontrol.0 /etc/fancontrol
else
ln -sf /etc/fancontrol.1 /etc/fancontrol
fi
Grüße
12.
hannes | 06.Juli 2010 um 16:17
Hallo
erst mal Danke für deine Anleitung und deine Erfahrungen
zu meiner Frage welch Stromsparfunktionen kann man Installieren und wie?
Gruß Hannes
Ihr Kommentar
Folgende HTML-Tags sind erlaubt:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">
Trackback | PDF