Alix Basteleien

Ist das hier eher Projekt oder eher Doku? Evtl. noch verschieben… -jsl

Sowohl als auch, und zudem auch Projektdoku ;) Aufgrund der mittlerweile vielfältigen und wertvollen Infos wäre eine Umstrukturierung sicherlich gut, bloss wie, ohne alles zu sehr zu fragmentieren? -jCoder

http://www.pcengines.ch/alix.htm - die Hersteller Website

Die „Alix“-Boards von pcengines sind kleine preisgünstige embedded Mainboards mit geringem Stromverbrauch. Eine interessante Wahl für eigene Projekte, wenn man mehr braucht als einen OpenWRT-kompatiblen Router, aber auf gar keinen Fall einen kompletten PC für eine spezielle Aufgabe 24/7 betreiben möchte. Man kann damit z.B. eine Firewall, Thinclient oder ein NAS bis hin zu einem vollständigem Homeserver basteln - bei ähnlichem Stromverbrauch wie ihn z.B. ein fertiges Home-NAS hat, ohne dessen Einschränkungen bzgl. der Software.

jsilence hat zwei Boards in den Treff geschleppt und der Allgemeinheit zum spielen zur Verfügung gestellt. - Danke dafür

Um an das ALIX BIOS zu kommen, muss man per serieller Konsole dran (es sei denn man hat eine ALIX3C3 mit VGA-Ausgang).

  • Als Programm für die Serielle Schnittstelle lokal kann man screen nehmen. Z.B.: `screen /dev/ttyS0 9600`. Devicename hängt natürlich von der lokalen Hardware ab.
  • Wenn man das Booten der ALIX sieht, während sie den Speicher hoch zählt, die Taste 's' drücken. Sollte so aussehen:
PC Engines ALIX.2 v0.99
640 KB Base Memory
261120 KB Extended Memory

01F0 Master 044A SMI MODEL                               
Phys C/H/S 7866/16/63 Log C/H/S 983/128/63

BIOS setup:

*9* 9600 baud (2) 19200 baud (3) 38400 baud (5) 57600 baud (1) 115200 baud
(C) CHS mode *L* LBA mode (W) HDD wait (V) HDD slave (U) UDMA enable
(M) MFGPT workaround
(P) late PCI init
*R* Serial console enable 
(E) PXE boot enable 
(X) Xmodem upload 
(Q) Quit

Alix.2C3

birdcage:

Ich habe mich mit dem Alix.2C3 beschäftigt und auf jsilences Wunsch hin erstmal ein Zeroshell Image installiert, da er das später gerne darauf nutzen möchte. In der Anleitung der Zeroshell steht, daß man das Image mit

gunzip -c <imagename>.img.gz | dd of=/dev/<devicedercfkarte>

auf die CF Karte bekommt. Das ganze hat auf meinem Notebook etwa 20-30 Minuten gedauert. Andere Erfahrungswerte mit Angabe der CF Karte wären hilfreich für spätere Projekte. Wenn ich das gerade richtig in Erinnerung habe, wird ein ext2 Filesystem angelegt (Journaling wäre für ne CF Karte tödlich)

Ich konnte den Bootvorgang per serieller Konsole beobachten (minicom, entsprechendes Device auswählen und ab dafür)

  1. User muss in Gruppe „dialout“
  2. der Port ist /dev/ttyUSB0
  3. minicom -s aufrufen, Porteinstellungen konfigurieren und als default speichern, beenden
  4. minicom aufrufen
  5. Gerät mit der seriellen Konsole einschalten

2 GB Kingston 133x geht via USB 2.0 definitiv schneller (im Nachhinein geschätzt max. 5-10 min): Image war aber vorher entpackt. -jCoder

Zeroshell

Zeroshell macht auf den ersten Eindruck eine echt gute Figur. Beim booten bekommt man per Grub einen Standard Booteintrag und einen „more verbose“ angeboten. Standard zeigt keine grösseren Logausgaben beim booten - verbose ist ziemlich gesprächig (kann man aber später in der shell auch per dmesg nachlesen) Nach dem booten bekommt man ein kleines Menü in dem man grundlegende Einstellungen wie das Admin Passwort und die IP Adressen konfigurieren oder eine Shell starten kann. Der Rest passiert im Browser - natürlich https geschlüsselt.

Weitere Infos bekommt man auf http://www.zeroshell.net/eng/

Versucht BSD Derivate ans rennen zu bekommen scheiterten bisher.

  • Woran scheiterte dies? Kernel Panic? Dies könnte an BSD + USB 2.0 liegen, siehe unten [wiki:Projekte/Alix#Alix.3C3-spezifisches Alix.3C3] -jCoder
  • Mit FreeBSD 7(-STABLE) geht auch USB 2.0 (ehci) auf ALIX.2C3. Siehe zB die Bemühungen vom [wiki:Projekte/FreeBsdAg#nanoBSD nanoBSD workshop]. -5-
  • codepoet hat 'ne Alix 2C3 mit FreeBSD 8-STABLE (als nanoBSD) am rennen; wer Fragen hat, melden!
  • Disk-Image (Vorbereitung unter Windows)
    • Disk-Image runterladen (iMediaLinux, Voyage, FreeNAS, m0n0wall oder andere)
    • physwrite für Windows runterladen (siehe http://m0n0.ch/wall/physdiskwrite.php)
    • Image schreiben (vorsicht: richtiges Ziellaufwerk auswählen!)
    • ISO-Image herunterladen
    • Syslinux herunterladen
    • !TestDisk runterladen
    • USB-Stick mit FAT32 formatieren
    • USB-Stick mit !TestDisk bootbar machen
    • Syslinux auf USB-Stick „installieren“ lassen
    • ISO-Image mounten (z.B. mit Daemon Tools)
    • Dateien auf USB-Stick kopieren, boot-Verzeichnis etc. verschieben, umbenennen etc. (siehe Tutorial!)

'test me:' Externe USB-Festplatte als Installationsmedium

Externe USB-Festplatte wird als /dev/sda erkannt; kann auch ein anderes device verwenden! (tail -f /var/log/syslog und die externe USB-Festplatte anschließen zur Ermittlung des Device-Namens)

Im Wesentlichen folge ich der Anleitung aus dem Debian Handbuch - „4.4. Dateien vorbereiten für das Booten von einem USB-Memory-Stick“ (http://www.debian.org/releases/stable/i386/ch04s04.html.de)

Folgendes wird als root in die console getippt (System war Debian Etch), aber Achtung: die externe Platte verliert alle Daten, wenn man dieser Anleitung folgt!:

  • aptitude install cfdisk dosfstools mtools syslinux mbr
  • cfdisk /dev/sda
    • alle Partitionen löschen
    • new, primary, mindestens 256 MB, sda1 wird angelegt
    • bootable-flag setzen
    • Type auf 0B setzen (W95 FAT32) oder 06 FAT16
    • Write (mit yes bestätigen)
    • Quit
  • mkdosfs /dev/sda1
  • syslinux /dev/sda1
serial 0 38400
default vmlinuz
append initrd=initrd.gz console=ttyS0,38400n8 netcfg/disable_dhcp=true #DEBIAN_FRONTEND=text
  • Hinweis: Wenn man DEBIAN_FRONTEND=text verwendet und Deutschland einstellen möchte, muss man die Nummer 71 verwenden; dieser Parameter ist aber nicht erforderlich - das übliche Debian-Installer-Interface sieht dann halt etwas „bröselig“ aus über die Serielle Console, fühlt sich aber für die meisten Menschen sicher gewohnter an ;-).
  • cd /
  • umount /mnt

Boot!

  • USB-Festplatte an dem zu installierenden Rechner sowie das Nullmodem-Kabel anschließen und booten
  • Evtl. braucht man noch im Falle einer nicht bootenden USB-Platte: install-mbr /dev/sda1

(Spezifikationen: siehe http://www.pcengines.ch/alix3c3.htm)

  • Bei Betriebssystemen, die auf FreeBSD basieren (z.B. FreeNAS) gibts einen Kernel Panic beim Booten, was an EHCI bzw. USB 2.0 liegt.
  • temporärer Workaround: im BIOS USB 2.0 deaktivieren
  • wichtiger Tipp: nicht USB 1.1 deaktivieren, weil das Board dann evtl. beim Booten noch im BIOS hängen bleiben kann
  • Falls das System (z.B. Debian) nicht ohne Monitor startet: es scheint unter manchen Umständen ein Problem beim Booten zu geben, durch dass das System - wenn kein Monitor angeschlossen ist - zwischen Boot-Loader und „Uncompressing kernel…“ hängen bleibt. Im Zweifelsfall hilft dann tatsächlich nur ein angeschlossener Monitor ;) 'Die folgenden Workarounds nur auf eigene Gefahr ausprobieren, keine Gewähr! '
  • Mit dem aktuellen BIOS und Debian Lenny scheint dieses Problem nun nicht mehr aufzutreten.
  • Beim Alix.3C3 gibt es keine einfache Möglichkeit, das BIOS zurückzusetzen, was z.B. bei falschen Display- oder USB-Einstellungen notwendig sein kann. Auf der Hersteller-Seite gibt es dazu mittlerweile einen Workaround: http://www.pcengines.ch/alix3c3r.htm
  • Zuletzt geändert: 11.07.2016 23:18
  • (Externe Bearbeitung)