(2006-08-29)

eisfair :: mp3-Player

Die Motivation

Die Ausgangssituation war folgende: meine Freundin und ich hören gern Musik, sehr gern auch zum Einschlafen. Die Quelle der angenehmen Töne war tagsüber ihr Laptop, der sich wiederum auf zwei Netzwerkfreigaben bediente. Leider heult bei diesem Gerät der Lüfter in regelmäßigen Abständen unangenehm auf. Das stört nachts ebenso wie der helle Bildschirm und nur zum Musik hören den Laptop laufen lassen finde ich auch nicht so toll. Andere Quellen wie z.B. ein HiFi-Turm o.ä. waren nicht vorhanden. So war die Idee geboren, aus dem arbeitslosen fli4l-Router Sandy einen flüsterleisen Rechner zu machen, der die im lokalen Netz vorhandenen Musikstücke abspielen konnte.

Die Hardware

Als Basis für einen einfach zu kühlenden Rechner dient am besten alte Hardware. In diesem Fall kommen zum Einsatz:

Teil Bemerkung
MiniTower-Gehäuse AT ein alter Highscreen-Rechner, den ich von nem Freund bekommen habe
ASUS P/I-P55T2P4 Rev. 3.1 Hauptplatine mit 512 kB L2-Cache und Tag-RAM-Modul
Pentium 133 MHz Hauptprozessor, passiv gekühlt mit großem Kühlkörper vom Pentium-III
256 MB EDO-RAM mehr Arbeitsspeicher passt nicht auf das Board
Grafikkarte 2 MB (PCI) damit er überhaupt bootet, und damit man mal zur Wartung auch nen Monitor dran hängen kann
NIC 3com 3C905C-TX-M (PCI) 10/100 Netzwerkkarte zur Anbindung ans lokale LAN, die 3com-Karten sind schnell und erzeugen wenig CPU-Last
Soundkarte Terratec Base 1 (ISA) Die stammt noch aus dem ersten PC meiner Eltern von 1997.
Box mit 4 Tastern, 2 LED und 4x20 LCD zum Steuern des Rechners ohne Tastatur und Monitor
CF-to-IDE-Adapter zur Aufnahme einer Speicherkarte, die als Festplattenersatz dient
AT-Netzteil eigentlich nichts besonderes, aber ich habe einen leisen leuchtenden Lüfter von Revoltec eingebaut. (Das war der leiseste, den Reichelt im Angebot hatte ;-))
Infrarot-Empfänger Der ist erst später hinzugekommen, aber in Verbindung mit LIRC Gold wert.

Fritz I. – Von der Inbetriebnahme bis zum Ableben

Der Mensch ist ein Gewohnheitstier und weil ich mit der Distribution schon auskannte und sie für schlank genug hielt auf 256 MB zu passen, installierte ich eisfair. Die notwendigen Pakete waren vorhanden und die Umbauten am Rechner schnell gemacht. Die NoName-CF-Karte wurde gleich korrekt erkannt und die Installation des Basissystems war kein Problem. Da mir die Eigenheiten und speziell die Nachteile von Flash-Speicher bekannt waren, hatte ich einige Vorsichtsmaßnahmen getroffen, um die Karte möglichst wenig mit Schreibzugriffen zu belasten.

  • Mounten aller ext3-Partition mit dem zusätzlichen Parameter noatime in der /etc/fstab – das verhindert, dass bei Lesezugriffen auf Dateien, der Zeitpunkt des letzten Zugriffs auf die Karte geschrieben wird.
  • Deaktivieren sämtlicher Loggingmechanismen, sofern das von den Diensten vorgesehen war (syslog lässt sich z.B. über das Setup-Menü ausschalten, das Logging von MPd oder Apache nicht)
  • Verlagerung der anderen Logfiles auf eine NFS-Freigabe
  • keine Swap-Partition, die Karte war so schon klein genug

Pläne zur Wiederauferstehung

Ich hätte nach dem Tod der ersten CF einfach eine neue kaufen können, das System neu aufsetzen und so tun als wäre nichts gewesen. Das wäre vielleicht ein Tag Arbeit gewesen und der Player wäre möglicherweise in einem Jahr wieder ausgefallen. Also entschied ich mich, nach einer Lösung zu suchen, die mit noch weniger Lese- und Schreibzugriffen auf den Flash-Speicher auskommt.

Eine Idee verwarf ich relativ schnell wieder: nur die Boot-Partition auf die CF-Karte zu tun und für den ganzen Rest eine große Festplatte zu nehmen, auf der ich dann sogar noch die mp3-Dateien der vorhandenen Server spiegeln könnte. Das scheiterte einfach an den Kosten für eine entsprechende Platte. (Die CF-Karte wäre nur zum Booten notwendig, da das alte BIOS keine großen Platten erkennt und davon auch nicht booten kann. Ist Linux einmal gebootet, sind große Platten hingegen kein Problem mehr.)

Der Ansatz, nur beim Booten von der CF zu lesen ist allerdings eine gute Idee. Wenn keine zusätzliche Festplatte im Spiel ist, muss man eben das ganze System von der Karte laden. Am liebsten wäre mir da ein System wie bei fli4l, wo man offline an einem anderen Rechner ein paar Pakete entpackt, konfiguriert und den ganzen Kram inklusive Kernel einmal auf die Karte schiebt. Beim Boot wird das dann alles in eine RAM-Disk geladen und das System läuft komplett aus dem RAM ohne weitere Zugriffe auf die CF.
Aber hier offenbart sich mal wieder das Motto dieser Seite hier: Die Idee ist gut, doch die Welt noch nicht bereit… – für das Routersystem fli4l gibt es nämlich (völlig zurecht) keine Serverdienste oder Multimediapakete. Also hieß es, sich auf die Suche nach einer anderen Distribution zu machen. Anpassungen an eisfair wären mindestens ähnlich so aufwändig wie LFS und so begann ich eine Recherche.

Meine erste Anlaufstelle war Damn Small Linux. Die Website verspricht:

Run very nicely from an IDE Compact Flash drive via a method we call "frugal install"

Allerdings gibt es dann im Netz kaum noch Infos zu dieser Installationsmethode und die Erstellung bestimmter Pakete, die sich bei DSL MyDSL nennen wäre auch notwendig gewesen. Das waren mir schon zu viel Minuspunkte, also schaute ich weiter.

Als nächstes wurde ich auf die Seite silent.gumph.org aufmerksam, die versprach, jedes beliebige Linux von CF zu starten. Der Ansatz ist interessant, erfordert aber noch eine andere Festplatte und die Installation einer kompakten Distribution. An einer kleinen Festplatte sollte es nicht scheitern und die Installation und Einrichtung kriegt man bestimmt auch hin. Dazu hätte ich mich aber erst z.B. mit Debian auseinandersetzen müssen und so behielt ich diese Variante im Hinterkopf, suchte aber weiter.

Ich stieß dann auf thin-EisVDR, von dem ich nebenbei schon vor einiger Zeit in den eisfair-Newsgroups gelesen hatte. Das Konzept war im Grunde das von fli4l, nur eben wurde es nicht als Router umgesetzt sondern als schlanker VDR-Rechner. Es existierten zwar nicht alle Pakete, die ich brauchte, aber da es auf fli4l/eisfair basierte, von deren Konzept ich nach wie vor begeistert bin, nahm ich mir vor, den Entwickler zu kontaktieren und mal über eine Variante für einen Musikabspieler zu diskutieren.

to be continued…