.:: Linux Homeserver auf Embeeded PC (Teil 1) ::.

Willkommen zum 1. Teil des Linux Homeservers für spezielle Zwecke.

Worum geht es überhaupt?

Mein Ziel ist ein Rechnersystem das sehr wenig Strom verbraucht und mir aus der Ferne Zugriff auf lokale Informationen erlaubt.

Für mich waren folgende Dinge wichtig:

Realisierung:

Folgende Teile sind geplant:

Teil 1: Installation Xubuntu auf Alix Mainboard
Teil 2: Aufsetzen eines Mailserver zur zentralen Verwaltung der Mailkonten
Teil 3: ....

Teil 1: Installation Xubuntu auf Alix Mainboard
Das Alix 1C Mainboard kommt aus dem embedded Sektor und zeichnet sich durch geringen Stromverbrauch aus. Es eignet sich besonders für Router, Firewalls oder kleine Systeme. Mehr Infos dazu finden sie unter www.pcengines.ch.

Ein paar kleine Eckdaten:

Als Festplatte entschied ich mich für eine Samsung M5 160GB 2.5 Zoll IDE HDD. Entsprechende 2.5 Zoll IDE Kabel sind für ca. 10 Euro z.B. bei ebay zu erhalten.

Screenshot vergrößern
[ Hardware ]
Screenshot vergrößern
[ Hardware ]
Screenshot vergrößern
[ Hardware ]
Screenshot vergrößern
[ Hardware ]

Installation Xubuntu

Die erste Herausforderung besteht in der Installation der Betriebsystems. Es gibt nämlich nur eine 2.5 Zoll IDE-Anschluss und muss auf ein CD-Rom bzw. eine Diskette vollständig verzichten. Die Lösung ist so einfach wie genial: PXE.
PXE steht für Preboot Execution Environment und beschreibt die Möglichkeit über das Netzwerk eine Applikation, z.B. eine Linuxinstallation, zu starten.

Wie funktioniert das?
Der Rechner versucht mittels DHCP eine IP-Adresse zu ermitteln und bekommt gleichzeitig die Adresse der PXE-Information mitgeteilt über die er mittels TFTP die Installation startet. Hierfür gibt es bereits fertige kostenlose Tools. Ich habe mich für das Windows Programm Tftpd32 von Ph. Jounin entschieden. Wichtig ist bereits bestehende DHCP-Server im Netzwerk zu deaktivieren, da sich mehrere DHCP-Server nicht vertragen und nicht garantiert ist von welchem Server der Client die IP bezieht.
Aus dem Image von Xbuntu müssen nun folgende Dateien/Ordner in den Ordner von TFTP kopiert werden:

xubuntu-7.10-alternate-i386\install\netboot\ubuntu-installer\i386\pxelinux.cfg\ (Ordner)
xubuntu-7.10-alternate-i386\install\netboot\ubuntu-installer\i386\pxelinux.0 (Datei)
xubuntu-7.10-alternate-i386\install\netboot\ubuntu-installer\ (Ordner)

Am Ende sollte es dann wie folgt aussehen:

Screenshot vergrößern
[ Zusammenstellung ]

Jetzt ist es Zeit das TFTPD32 Tools zu starten und den Reiter "DHCP-Server" zu konfigurieren. Je nach Netzwerk können ihre Angaben abweichen. Bitte beachten sie aber die Einstellung "Boot File". Abschließend können wir unseren zukünftigen Server starten und von PXE-Booten lassen (evtl. sind hier BIOS-Einstellung zu setzen).

Screenshot vergrößern
[ TFTPD Konfiguration ]

Tipps / Kniffe zu Xubuntu

Ohne Monitor 100% CPU Last

Was war passiert?  Die Xorg Logs gaben den entscheidenden Hinweis. War das Kabel angeschlossen,  so betrug die Loggröße ca. 34KB, ohne VGA-Kabel knapp 15KB. Am Ende des Logs blieb der X-Server offensichtlich an der Stelle:

(II) Loading sub module "ddc"
(II) LoadModule: "ddc" (II) Module already built-in


stehen. “DDC” steht für Display Data Channel und dient der automatischen Konfiguration der Bildschirmeinstellung.  Mittel serieller Kommunikation mit dem Monitor wird die optimale Anzeigeoption ausgelesen und anschließend mit den Grafikkartenoptionen verheiratet. Da ich kein Kabel angeschlossen hatte schlug diese Analyse fehl und verursachte die hohe Auslastung. Das Ziel war damit klar: Deaktivierung von ddc. Hier die Lösung:

In der /etc/X11/xorg.conf folgende Option in der Section Device eintragen:

Option  „NoDDc“ „true

Fertig! Anschließend X-Server neu starten bzw. das komplette System (bei mir reichte der Neustart von X-Server nicht!).


VNC über SSH mittels Putty unter Windows

Das Ziel besteht darin sich remote auf den X-Server verbinden zu können. Ich musste feststellen, dass es tausend Möglichkeiten gibt VNC zu integrieren, wobei die meisten kompliziert und schlecht nutzbar sind. Mein Ziel war, dass VNC sofort nach dem Start verfügbar ist und Zugriff auf die Konsole gewährt. Wunderbarerweise gibt es dafür ein Xorg Module das nur eingebunden werden will. Zur Integration von VNC in den X-Server genügt der folgende Eintrag in die /etc/X11/xorg.conf

Section "Module"
Load "vnc"
EndSection

Über vncpasswd muss man noch ein Passwort vergeben - fertig. Da VNC nun funktionierte, aber völlig unverschlüsselt übertrug, musste ich die Verbindung noch sichern. Werkzeuge hierfür VNC-Viewer und Putty.

Wie funktioniert das Ganze?

Mit Putty baue ich eine verschlüsselte Leitung über das Internet auf den Server auf. Über diesen kann ich dann VNC nutzen. Praktisch sieht das so aus:

  1. Putty starten und die Standardparameter wie Hostname und Port eintragen.
  2. Unter Connection -> SSH -> Tunnels einen neuen Source Port eintragen, in der Regel 5900 und Destination localhost:5900 (Ist der SSH-Server als Router aktiv, kann auch die entsprechende IP im Netz hinter dem Router eingetragen werden). Alternative Ports sind entsprechend anzupassen.
  3. Optional: Connection -> SSH die Option Enable compression aktivieren
  4. Per SSH einloggen
  5. VNC-Viewer starten und nach localhost verbinden (wurde ein anderer Source Port eingetragen, hier entsprechend localhost:XYZ eintragen)
  6. Fertig :-)
Impressum