Thin-EisVDR

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Verfügbare Pakete)
K
 
(63 dazwischenliegende Versionen von 21 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
{{Box Hinweis|Die aktive Entwicklung dieser [[Distribution]] wurde einstellt, für Einsteiger empfiehlt sich der Einsatz einer anderen [[VDR-Distributionen|VDR-Distribution]].}}
 +
 
==Allgemein==
 
==Allgemein==
'''thin-EisVDR''' ist eine auf [[Fli4l]] und [[Eisfair]] basierende VDR-Distribution. Ursprünglich als Idee für einen Netboot-Diskless-Client entstanden, kann das System nicht nur über das Netzwerk mit PXE oder Netboot, sondern auch von CD/DVD, Festplatte, SD-Karte oder einem USB-Stick gestartet werden. Durch die Verwendung des Konfigurationssystems von Fli4L liegt das System nicht in fertiger Form auf CD vor, sondern wird nach der Konfiguration "zusammengestrickt". Dabei werden nur wirklich benötogte Dateien auf das fertige Bootmedium kopiert, sodass die Grösse des Systems minimal gehalten wird.
+
'''thin-EisVDR''' ist eine auf [http://www.fli4l.de Fli4l] und [[Eisfair]] basierende VDR-Distribution. Ursprünglich als Idee für einen Netboot-Diskless-Client entstanden, kann das System nicht nur über das Netzwerk mit PXE oder Netboot, sondern auch von CD/DVD, Festplatte, SD-Karte oder einem USB-Stick gestartet werden. Durch die Verwendung des Konfigurationssystems von Fli4L liegt das System nicht in fertiger Form auf CD vor, sondern wird nach der Konfiguration "zusammengestrickt". Dabei werden nur wirklich benötigte Dateien auf das fertige Bootmedium kopiert, sodass die Grösse des Systems minimal gehalten wird.
  
 
{| border=0 cellpadding=6 cellspacing=0
 
{| border=0 cellpadding=6 cellspacing=0
Zeile 27: Zeile 29:
 
|}
 
|}
  
Die Konfiguration kann auf einem beliebigen Computer unter Windows oder Linux erstellt werden, wobei keine Linux-Kenntnisse vorausgesagt werden, da nur Textdateien bearbeitet werden müssen, die die Konfigurations-Variablen enthalten.
+
Die Konfiguration kann auf einem beliebigen Computer unter Windows oder Linux erstellt werden, wobei keine Linux-Kenntnisse vorausgesetzt werden, da nur Textdateien bearbeitet werden müssen, die die Konfigurations-Variablen enthalten.
  
  
Zeile 34: Zeile 36:
 
|-
 
|-
 
! align="left"|Kernel:
 
! align="left"|Kernel:
| 2.4.31 (2.6.14 in Vorbereitung)
+
| 2.4.32 (fli4l 3.0.X)<br>2.6.15 (base 1.1.X)
 
|-
 
|-
 
! align="left"|VDR-Version:
 
! align="left"|VDR-Version:
| 1.3.37 Bigpatch-test4
+
| 1.3.44 Bigpatch
 
|-
 
|-
 
! align="left"|Developer-Tools:
 
! align="left"|Developer-Tools:
Zeile 45: Zeile 47:
  
 
==Vor- und Nachteile==
 
==Vor- und Nachteile==
<code>+</code> [[Streaming|Diskless-Streaming-Client]] Betrieb möglich<br>
+
===Vorteile===
<code>+</code> Keine Linux-Kenntnisse erforderlich<br>
+
* [[Streaming|Diskless-Streaming-Client]]-Betrieb möglich
<code>+</code> Einheitliche Konfiguration über Konfigurationsdateien (mit jedem Texteditor)<br>
+
* Booten über PXE({{wikipedia|Preboot_Execution_Environment}})/Netboot, HD, USB oder CD möglich
<code>+</code> Braucht keine Festplatte oder DVB-Karte (alles optional)<br>
+
* Keine Linux-Kenntnisse erforderlich
<code>+</code> Sehr schnell da vollständig im Speicher (Ramdisk)<br>
+
* Einheitliche Konfiguration über Konfigurationsdateien (mit jedem Texteditor)
<code>+</code> Sehr kurze Bootzeiten (auch von CD, da nur die Rootfs gelesen wird)<br>
+
* Braucht keine Festplatte oder DVB-Karte (alles optional)
<code>+</code> Geringer Festplatten-/Speicherverbrauch<br>
+
* Sehr schnell da vollständig im Speicher (Ramdisk)
<code>+</code> Stabiler Betrieb jetzt auch mit [[dxr3]] und [[Streamdev-plugin]]<br>
+
* Sehr kurze Bootzeiten (auch von CD, da nur die Rootfs gelesen wird)
<code>+</code> Aktuelle VDR Version 1.3.37<br>
+
* Geringer Festplatten-/Speicherverbrauch
<code>+</code> [[ACPI Wakeup|ACPI]]-/[[NVRAM WakeUp|NVRAM]]-Wakeup Unterstützung<br>
+
* Stabiler Betrieb jetzt auch mit [[dxr3]] und [[Streamdev-plugin]]
 +
* Aktuelle VDR Version 1.3.44
 +
* [[ACPI Wakeup|ACPI]]-/[[NVRAM WakeUp|NVRAM]]-Wakeup-Unterstützung
 +
* Basispakete wahlweise mit 2.4.32- oder 2.6.15-Kerneln
 +
* Unterstützung von PVR und Realmagic-Karten
  
<code>-</code> Weniger Verbreitung, daher weniger Support über http://www.vdrportal.de (Aber die Entwickler geben sich wirklich Mühe)<br>
+
===Nachteile===
<code>-</code> Ein paar [[thin-EisVDR - Plugintabelle|Plugins]] fehlen noch, aber es werden ständig mehr. <br>
+
* Geringe Verbreitung, daher weniger Support über [[VDR Portal]] (Aber die Entwickler geben sich wirklich Mühe)
<code>-</code> Viele neue DVB-Karten werden wegen des alten Kernels nicht unterstützt, am 2.6er Kernel wird jedoch gearbeitet<br>
+
* Ein paar [[thin-EisVDR - Plugintabelle|Plugins]] fehlen noch, aber es werden ständig mehr.
<code>-</code> Konvertierung und Brennen der Aufnahmen (noch) nicht möglich, da kein Perl zur Verfügung steht (es wird an einer Remote Lösung gearbeitet)<br>
+
* Konvertierung und Brennen der Aufnahmen nicht lokal möglich, da kein Perl zur Verfügung steht, es gibt jedoch eine Remote-Lösung
<code>-</code> Bei einer umfangreichen Konfiguration wird etwas mehr Speicher benötigt, da die Ramdisk dementsprechend grösser wird (256-512 MB sollten im Normalfall reichen, für DivX natürlich mehr)<br>
+
* Bei einer umfangreichen Konfiguration wird etwas mehr Speicher benötigt, da die Ramdisk dementsprechend größer wird (256-512 MB sollten im Normalfall reichen, für DivX natürlich mehr)
<code>-</code> Noch keine eigene Dokumentation, man kann sich jedoch an Fli4L richten<br>
+
* Dokumentation noch unvollständig, man kann sich jedoch an Fli4L richten
  
 
==Installation==
 
==Installation==
 
===Konfigurationsordner===
 
===Konfigurationsordner===
 +
====base 1.1.1 (Kernel 2.6.15)====
 
Als Erstes muss man das Basispaket herunterladen und entpacken.
 
Als Erstes muss man das Basispaket herunterladen und entpacken.
 
<pre>
 
<pre>
 
cd /tmp
 
cd /tmp
wget http://vdr-eisfair.flnet.org/sevo/thin-eisvdr/1.0.4/thin-eisvdr-1.0.4.tar.bz2
+
wget http://sevo-eisfair.flnet.org/thineis-1.1.1/thin-eisvdr-1.1.1.tar.bz2
tar -xjf thin-eisvdr-1.0.4.tar.bz2
+
tar -xjf thin-eisvdr-1.1.1.tar.bz2
 
</pre>
 
</pre>
Danach kommen die Pakete. Diese müssen in das im Archiv enthaltene Unterverzeichnis entpackt werden.<br>
+
Danach kommen die Kernelspezifischen Pakete. Diese müssen '''IN DEN NEUEN Basisordner thin-eisvdr-1.1.1''' entpackt werden:
Hier ein Beispiel für OPT_VDR:
+
 
<pre>
 
<pre>
cd thin-eisvdr-1.0.4
+
cd thin-eisvdr-1.1.1
wget http://vdr-eisfair.flnet.org/sevo/thin-eisvdr/1.0.4/opt_vdr.tar.bz2
+
wget http://sevo-eisfair.flnet.org/thineis-1.1.1/opt_dvb.tar.bz2
 +
tar -xjf opt_dvb.tar.bz2
 +
</pre>
 +
 
 +
====Kernelunabhängige Pakete====
 +
Alle anderen Pakete wie OPT_VDR sind Kernelunabhängig und können mit verschiedenen Basisversionen verwendet werden.
 +
<pre>
 +
cd thin-eisvdr-1.1.1
 +
wget http://sevo-eisfair.flnet.org/opts/opt_vdr.tar.bz2
 
tar -xjf opt_vdr.tar.bz2
 
tar -xjf opt_vdr.tar.bz2
 
</pre>
 
</pre>
Das Gleiche macht man mit allen benötigten Paketen sowie Patches (falls veröffentlicht).
+
Das Gleiche macht man mit allen benötigten Paketen.
 +
 
 +
====Patches====
 +
Zusätzlich werden zwischen den Releases, Patches veröffentlicht. Der Patch mit der höchsten Versionsnummer enthält immer alle Patches, die vorher erschienen sind. Somit braucht man nur den letzten Patch zu installieren. Dieser muss immer zum Schluss entpackt werden, da meistens Datien aus unterschiedlichen Paketen aktualisiert werden. Unabhängig davon ob ein Patch Änderungen von Basispaketen oder Kernelunabhängigen Paketen enthält.
 +
<pre>
 +
cd thin-eisvdr-1.1.1
 +
wget http://sevo-eisfair.flnet.org/thineis-1.1.1/patch-1.1.1-8.tar.bz2
 +
tar -xjf patch-1.1.1-8.tar.bz2
 +
</pre>
 +
 
 +
Wenn man nachträglich ein Paket entpackt, sollte man danach unbedingt den letzten Patch nochmals anwenden, da das Paket eventuell bereits aktualisierte Dateien überschreibt.
  
 
Natürlich kann man die Pakete auch unter Windows mit einem geeigneten Packer entpacken.
 
Natürlich kann man die Pakete auch unter Windows mit einem geeigneten Packer entpacken.
Zeile 86: Zeile 110:
  
 
VDR-Plugins: [[thin-EisVDR - Plugintabelle|Plugin Tabelle]]
 
VDR-Plugins: [[thin-EisVDR - Plugintabelle|Plugin Tabelle]]
 +
  
 
===Konfiguration===
 
===Konfiguration===
Zeile 97: Zeile 122:
 
</pre>
 
</pre>
  
 
+
===Dokumentation===
 
Obwohl die Konfiguration sehr einfach ist, sollte man sich die Fli4L Basis-Dokumentation unter http://www.fli4l.de/hilfe/dokumentation.html anschauen, da leider noch keine eigene Dokumentation für das Projekt existiert (Freiwillige ?). Wenn man das Prinzip durchschaut hat, kann man die Pakete meistens intuitiv konfigurieren. Die Konfigurationsdateien enthalten ausserdem zusätzlich kleine Hinweise und Beschreibungen.
 
Obwohl die Konfiguration sehr einfach ist, sollte man sich die Fli4L Basis-Dokumentation unter http://www.fli4l.de/hilfe/dokumentation.html anschauen, da leider noch keine eigene Dokumentation für das Projekt existiert (Freiwillige ?). Wenn man das Prinzip durchschaut hat, kann man die Pakete meistens intuitiv konfigurieren. Die Konfigurationsdateien enthalten ausserdem zusätzlich kleine Hinweise und Beschreibungen.
 +
 +
Viele aktuelle Pakete enthalten zusätzlich eine eigene Dokumentation unter '''doc/deutsch/text'''.
 +
  
 
===Installation===
 
===Installation===
Zeile 111: Zeile 139:
  
 
Abhängig von der Konfiguration muss man nun das Image auf das Zielmedium brennen/kopieren und booten.
 
Abhängig von der Konfiguration muss man nun das Image auf das Zielmedium brennen/kopieren und booten.
 +
 +
 +
===Exkurs: Bootvorgang===
 +
Wie bei Fli4L ist auch bei thin-eisVDR der Bootvorgang etwas anders als bei normalen Distris. Der Kernel mountet nicht die /boot Partition, sondern erstellt eine Ramdisk in die die Rootfs entpackt wird (wie bei Initrd jedoch mit Inittar). Dabei spielt es keine Rolle ob vom Netzwerk, CD, oder HD gestartet wird. Danach wird das INIT Programm gestartet das die Startscripte laufen lässt. Die Rootfs enthält immer die zum Booten benötigten Files (Libs, rc-Scripte, Module für Netzwerk und IDE oder SCSI). Die restlichen Dateien befinden sich entweder bei einer HD Installation im Archiv /boot/opt.tgz und werden beim Booten (nur bei Bedarf, siehe HD Beispielkonfiguration) entpackt, oder bei einer CD/Netzwerk Konfiguration auch in der Rootfs. Diese befinden sich demnach auch auf der Ramdisk (ausser HD-Installationstyp B).
 +
 +
Durch dieses Verfahren ist das System davon unabhängig, ob der Kernel die Festplatte, CD oder was auch immer unterstützt. Es muss lediglich das BIOS bzw. die Netzwerkkarte das Medium booten können. Im Zweifelsfalle kann das System nur keine Daten permanent speichern, wenn es keinen Zugriff auf ein Medium hat, da die Ramdisk nach einem Reboot gelöscht wird.
 +
 +
Boot-Ablauf (kurz):
 +
 +
<pre>
 +
* Kernel in den Speicher laden
 +
* Rootfs in den Speicher laden
 +
* Rootfs in /dev/tmpfs entpacken
 +
* /dev/tmpfs als "/" (root) mounten
 +
* /sbin/init ausführen
 +
* MINI-INIT: /sbin/linuxrc ausführen
 +
* Linuxrc: /sbin/init löschen
 +
* Linuxrc: Busybox installieren (/usr/local/bin/busybox --install)
 +
* Linuxrc: /sbin/init (Busybox) starten
 +
* INIT: /etc/rc ausführen
 +
* RC: Einstellungen laden (/boot/rc.cfg)
 +
* RC: /boot/opt.tgz entpacken
 +
* RC: /etc/boot.d/* und /etc/rc.d/* ausführen
 +
</pre>
  
 
==Beispielkonfigurationen==
 
==Beispielkonfigurationen==
 
===PXE/Netboot===
 
===PXE/Netboot===
Bei dieser Konfiguration wird das System über PXE gestartet. Die wichtigsten Basis-Einstellungen sind aufgeführt.
+
Bei dieser Konfiguration wird das System über PXE bzw. Netboot gestartet. Welche Variante man verwenden muss hängt von der Netzwerkkarte im Client ab. Manche Netzwerkkarten unterstützen beides, manche können keine grossen Netboot Images laden, und manche können nur eine der beiden Arten. Die meisten On-Board NICs unterstützen PXE problemlos.
 +
 
 +
Wenn man eine Netzwerkkarte verwenden muss, die weder PXE noch Netboot unterstützt, kann man den Loader von einer Diskette laden. Dabei wird ein Mini-Linux von einer Diskette gestartet, das den NIC-Treiber lädt und eine Verbindung zum DHCP Server aufbaut. Weitere Informationen zu diesem Vorgehen gibt es unter http://www.etherboot.org/ und solche Disketten-Images lassen sich unter http://www.rom-o-matic.net/ Online erstellen und herunterladen.
 +
 
 +
====Einstellungen====
 +
Die wichtigsten Basis-Einstellungen für Netzwerk-Clients:
  
'''base.txt'''
+
'''config/base.txt'''
 
<pre>
 
<pre>
 
HOSTNAME='vdrclient'            # Der Hostname des Clients
 
HOSTNAME='vdrclient'            # Der Hostname des Clients
 
PASSWORD='1'                    # Passwort zum Einloggen (Konsole, SSH)
 
PASSWORD='1'                    # Passwort zum Einloggen (Konsole, SSH)
 
BOOT_TYPE='pxeboot'              # Für Netboot muss hier 'netboot' eingetragen werden
 
BOOT_TYPE='pxeboot'              # Für Netboot muss hier 'netboot' eingetragen werden
MOUNT_BOOT='ro'                  # Boot Laufwerk read-only mounten (rm geht auch, mach aber keinen Sinn)
+
MOUNT_BOOT='ro'                  # Boot Laufwerk read-only mounten (rm geht auch, macht aber keinen Sinn)
 
NET_DRV_N='1'                    # Anzahl verwendeter NIC Module
 
NET_DRV_N='1'                    # Anzahl verwendeter NIC Module
 
NET_DRV_1='8139too'              # Name des ersten NIC Moduls
 
NET_DRV_1='8139too'              # Name des ersten NIC Moduls
IP_NET_N='1'                    # Anzahl verwendeter Netzwerke, NICHT grösser als NET_DRV_N
+
IP_NET_N='1'                    # Anzahl verwendeter Netzwerke
 
IP_NET_1='192.168.1.2/24'        # IP Adresse des ersten Netzwerks
 
IP_NET_1='192.168.1.2/24'        # IP Adresse des ersten Netzwerks
 
IP_NET_1_DEV='eth0'              # Device Name des ersten Netzwerks (eth0, eth1, ...)
 
IP_NET_1_DEV='eth0'              # Device Name des ersten Netzwerks (eth0, eth1, ...)
Zeile 130: Zeile 187:
 
DNS_SERVER='192.168.1.1'        # DNS-Server (meistens IP Adresse des Routers)
 
DNS_SERVER='192.168.1.1'        # DNS-Server (meistens IP Adresse des Routers)
 
</pre>
 
</pre>
'''mkfli4l.conf'''
+
'''config/mkfli4l.conf'''
 
<pre>
 
<pre>
 
TFTPBOOTPATH='/tftpboot'        # Pfad zum tftp-boot Verzeichnis
 
TFTPBOOTPATH='/tftpboot'        # Pfad zum tftp-boot Verzeichnis
Zeile 136: Zeile 193:
 
PXESUBDIR='vdr'                  # PXE-Unterordner vom tftp-boot Verzeichnis
 
PXESUBDIR='vdr'                  # PXE-Unterordner vom tftp-boot Verzeichnis
 
</pre>
 
</pre>
'''dhcp.txt'''
+
'''config/dhcp.txt'''
 
<pre>
 
<pre>
 
OPT_DHCLIENT='yes'              # DHCP Client installieren
 
OPT_DHCLIENT='yes'              # DHCP Client installieren
Zeile 142: Zeile 199:
 
</pre>
 
</pre>
  
Nach dem Ausführen von mkfli4l.sh (ACHTUNG Netboot/PXE geht im Moment nur unter Linux!) findet man das Netboot Image unter<br>
+
 
'''/tftpboot/vdr-client.img'''<br>
+
Weitere Pakete werden nach dem gleichen Prinzip konfiguriert. Weitere Informationen zu anderen Paketen findet man in der [[Thin-EisVDR_Pakete|Paketliste]].
bzw die PXE Dateien unter<br>
+
 
'''/tftpboot/vdr/kernel''' und '''/tftpboot/vdr/rootfs.img'''
+
 
 +
'''pxelinux.cfg/default'''
 +
<pre>
 +
label vdr
 +
        kernel  vdr/kernel
 +
        append  load_ramdisk=1 root=/dev/ram0
 +
</pre>
 +
 
 +
load_ramdisk=1 lässt den kernel eine ramdisk erstellen.
 +
root=/dev/ram0 ist der Pfad zum root-Verzeichnis (die ramdisk).
 +
Falls ihr einen Kernelpanic haben solltet kontrolliert, ob ihr diese Parameter angegeben habt.
 +
 
 +
 
 +
 
 +
====Build====
 +
Vor dem Ausführen von mkfli4l.sh sollten man sichergehen, dass die netboot-tools installiert sind.
 +
<pre>
 +
apt-get install mknbi
 +
</pre>
 +
 
 +
Nach dem Ausführen von mkfli4l.sh (ACHTUNG Netboot/PXE geht im Moment nur unter Linux!) findet man folgende Dateien:
 +
(Die Pfade können in Abhängigkeit von der Konfiguration in config/mkfli4l.conf abweichen)
 +
 
 +
''BOOT_TYPE='netboot'''
 +
<pre>
 +
/tftpboot/vdr-client.img
 +
</pre>
 +
Image für Netboot/Etherboot und hat den Kernel bereits integriert. Wird direkt von der NIC heruntergeladen und gestartet, deshalb können manche Karten so grosse Images nicht verarbeiten.
 +
 
 +
''BOOT_TYPE='pxeboot'''
 +
<pre>
 +
/tftpboot/vdr/kernel
 +
/tftpboot/vdr/rootfs.img
 +
</pre>
 +
Hier ist der Kernel und die Rootfs voneinander gestrennt. Die NIC muss nur den PXE Loader pxelinux.0 herunterladen und starten. Der Loader lädt dann den Kernel und das Image in den Speicher und startet den Kernel.
 +
 
 +
====Build====
 +
Vor dem Ausführen von mkfli4l.sh sollten man sichergehen, dass die netboot-tools installiert sind.
 +
<pre>
 +
apt-get install mknbi
 +
</pre>
 +
 
 +
Nach dem Ausführen von mkfli4l.sh (ACHTUNG Netboot/PXE geht im Moment nur unter Linux!) findet man folgende Dateien:
 +
(Die Pfade können in Abhängigkeit von der Konfiguration in config/mkfli4l.conf abweichen)
 +
 
 +
''BOOT_TYPE='netboot'''
 +
<pre>
 +
/tftpboot/vdr-client.img
 +
</pre>
 +
Image für Netboot/Etherboot und hat den Kernel bereits integriert. Wird direkt von der NIC heruntergeladen und gestartet, deshalb können manche Karten so grosse Images nicht verarbeiten.
 +
 
 +
''BOOT_TYPE='pxeboot'''
 +
<pre>
 +
/tftpboot/vdr/kernel
 +
/tftpboot/vdr/rootfs.img
 +
</pre>
 +
Hier ist der Kernel und die Rootfs voneinander gestrennt. Die NIC muss nur den PXE Loader pxelinux.0 herunterladen und starten. Der Loader lädt dann den Kernel und das Image in den Speicher und startet den Kernel.
 +
 
 +
====Build====
 +
Vor dem Ausführen von mkfli4l.sh sollten man sichergehen, dass die netboot-tools installiert sind.
 +
<pre>
 +
apt-get install mknbi
 +
</pre>
 +
 
 +
Nach dem Ausführen von mkfli4l.sh (ACHTUNG Netboot/PXE geht im Moment nur unter Linux!) findet man folgende Dateien:
 +
(Die Pfade können in Abhängigkeit von der Konfiguration in config/mkfli4l.conf abweichen)
 +
 
 +
''BOOT_TYPE='netboot'''
 +
<pre>
 +
/tftpboot/vdr-client.img
 +
</pre>
 +
Image für Netboot/Etherboot und hat den Kernel bereits integriert. Wird direkt von der NIC heruntergeladen und gestartet, deshalb können manche Karten so grosse Images nicht verarbeiten.
 +
 
 +
''BOOT_TYPE='pxeboot'''
 +
<pre>
 +
/tftpboot/vdr/kernel
 +
/tftpboot/vdr/rootfs.img
 +
</pre>
 +
Hier ist der Kernel und die Rootfs voneinander gestrennt. Die NIC muss nur den PXE Loader pxelinux.0 herunterladen und starten. Der Loader lädt dann den Kernel und das Image in den Speicher und startet den Kernel.
 +
 
 +
 
 +
====Server Konfiguration====
 +
Auf dem Server werden folgende Programme benötigt:
 +
<pre>
 +
dhcp-Server
 +
tftp-Server
 +
pxelinux
 +
mknbi
 +
</pre>
 +
Dabei muss man möglichst aktuelle Versionen verwenden, die Netzwerk-Boot unterstützen und grosse Dateien übertragen können. Informationen zur Konfiguration von PXE findet man unter http://syslinux.zytor.com/pxe.php
  
 
===CD-Boot===
 
===CD-Boot===
 +
Natürlich kann das System auch von einer CD bzw. DVD gestartet werden, wobei das CD/DVD Laufwerk unterstützt werden muss, damit das System die OPT Pakete beim Hochfahren finden und entpacken kann. Hirzu ist das Paket OPT_HD notwendig, das IDE und SCSI Treiber enthält.
 +
 +
====Konfiguration====
 +
Die Basiskonfiguration kann von Netboot übernommen werden, wobei nur folgendes geändert werden muss:
 +
 +
'''config/base.txt'''
 +
<pre>
 +
BOOT_TYPE='cd'        # cd für cd-boot
 +
</pre>
 +
 +
Zusätzlich muss das System das Laufwerk einbinden (mounten) können. Hierzu müssen folgende Einstellungen gemacht werden:
 +
 +
'''config/hd.txt'''
 +
<pre>
 +
OPT_HDDRV='yes'                # IDE Treiber/Module aktivieren
 +
HDDRV_N='1'                    # Anzahl verwendeter Module
 +
HDDRV_1='ide-cd'                # 'ide-cd' für IDE ATAPI Laufwerke
 +
HDDRV_1_OPTION=''              # Moduloptionen (kann leer bleiben)
 +
 +
OPT_MOUNT='yes'                # Mounten aktivieren
 +
MOUNT_N='0'
 +
</pre>
 +
 +
Für OPT_MOUNT werden keine weiteren Mountpoint Definitionen benötigt, da es IMMER das erste CD/DVD-Laufwerk automatisch unter /cdrom einbindet. Zusätzlich wird ein fstab Eintrag für /cdfs angelegt, damit auch Audio-CDs abgespielt werden können.
 +
 +
Wenn man ein SCSI Laufwerk verwenden muss, kann die Konfiguration so aussehen:
 +
 +
'''config/hd.txt (scsi)'''
 +
<pre>
 +
OPT_HDDRV='yes'                # IDE Treiber/Module aktivieren
 +
HDDRV_N='2'                    # Anzahl verwendeter Module
 +
HDDRV_1='aic7xxx'              #  SCSI Treiber für den Controller
 +
HDDRV_1_OPTION=''
 +
HDDRV_2='scsi-cd'              #  SCSI Treiber CD-Laufwerke (generic)
 +
HDDRV_2_OPTION=''
 +
 +
OPT_MOUNT='yes'                # Mounten aktivieren
 +
MOUNT_N='0'
 +
</pre>
 +
 +
====Build====
 +
Zum Erstellen des Images (ISO Datei) wird unter Linux das Programm '''mkisofs''' benötigt. Unter Windows braucht man lediglich ein geeignetes Brennprogramm.
 +
 +
Nachdem mkfli4l.sh bzw. mkfli4l.exe fehlerfrei ausgeführt wurde, findet man im '''"boot"''' Verzeichnis die Datei '''thin_eisVDR.iso'''. Diese Datei kann mit einem Brennprogramm des Vertrauens auf einen Rohling gebrannt werden.
 +
 
===HD-Boot===
 
===HD-Boot===
  
 
==thin-EisVDR und Fli4L==
 
==thin-EisVDR und Fli4L==
Obwohl das System auf Fli4L basiert, können die Pakete noch nicht mit Fli4L verwendet werden, da die GLibc benötigt wird. An einem Backport wird jedoch gearbeitet, sodass die meisten Pakete zukünftig mit beiden Systemen verwendet werden können.
+
Obwohl das System auf Fli4L basiert, können die Pakete noch nicht mit Fli4L verwendet werden, da die GLibc benötigt wird. Für Fli4L gibt es jedoch angepasste Versionen einzelner Pakete wie OPT_VDR oder OPT_DVB. Diese können unter http://sevo-eisfair.flnet.org/fli4l/ heruntergeladen werden.
  
Umgekehrt können nur wenige Fli4L-Pakete mit thin-EisVDR verwendet werden, da die uCLibc fehlt. Die Pakete die jedoch keine gegen die uCLibc gelinkten Binaries enthalten, können Problemlos eingesetzt werden. Da als Basis die Fli4L Version 2.1.12 dient, kann man die OPTs der 2.X.X Serie von http://extern.fli4l.de/fli4l_opt-db2/ verwenden. Wenn ein OPT jedoch Kernel-Moule mitbringt, müssen diese für den 2.4.31er Kernel sein.
+
Es wird momentan an einer gemeinsamen Lösung gearbeitet, sodass die Pakete irgendwann auf beiden Systemen ohne Anpassungen verwendet werden können.
 +
 
 +
Umgekehrt können nur wenige Fli4L-Pakete mit thin-EisVDR verwendet werden, da die uCLibc fehlt. Die Pakete die jedoch keine gegen die uCLibc gelinkten Binaries enthalten, können Problemlos eingesetzt werden. Da als Basis die Fli4L Version 3.0.0 dient, kann man die OPTs der 3.X.X Serie von http://extern.fli4l.de/fli4l_opt-db3/ verwenden. Kernelabhängige Fli4L Pakete können grundsätzlich nicht mit thin eisVDR 1.1.1 verwendet werden, da hier der neue 2.6er Kernel zum Einsatz kommt.
  
 
Möchte man trotz der Inkompatibilität ein Opt von Fli4L verwenden, kann man einen [[Eisfair]] mit der dazugehörigen Entwicklungsumgebung (funktioniert super auch in einer VM) aufsetzen und die benötigten Binaries dort kompilieren, da thin-EisVDR die selbe GLibc verwendet (alle thin-EisVDR Binaries wurden auf einem Eisfair kompiliert)
 
Möchte man trotz der Inkompatibilität ein Opt von Fli4L verwenden, kann man einen [[Eisfair]] mit der dazugehörigen Entwicklungsumgebung (funktioniert super auch in einer VM) aufsetzen und die benötigten Binaries dort kompilieren, da thin-EisVDR die selbe GLibc verwendet (alle thin-EisVDR Binaries wurden auf einem Eisfair kompiliert)
  
 
==Links==
 
==Links==
{|
+
# [http://www.eisfair.org Eisfair Projekt-Homepage und ISO-Image Download]
| [1]
+
# [http://www.fli4l.de Fli4L the on(e)-disk-router]
| http://vdr-eisfair.flnet.org/sevo/thin-eisvdr/1.0.4/
+
# {{vdrportal board|47084|Diskussion zum Projekt}}
| Download der aktuellen Version
+
# {{vdrportal board|47907|Diskussion zu Fli4L Paketen}}
|-
+
# {{vdrportal board|40112|Feature Requests}}
| [2]
+
 
| http://vdr-portal.de/board/thread.php?threadid=43689
+
| Diskussion zum Projekt auf vdr-portal.de
+
|-
+
| [3]
+
| http://vdr-portal.de/board/thread.php?threadid=40112
+
| Feature Requests auf vdr-portal.de
+
|-
+
| [4]
+
| http://www.eisfair.org
+
| [[Eisfair]] Projekt-Homepage und ISO-Image Download
+
|-
+
| [5]
+
| http://www.fli4l.de
+
| [[Fli4L]] the on(e)-disk-router
+
|}
+
 
[[Kategorie:thin-EisVDR]]
 
[[Kategorie:thin-EisVDR]]
 
[[Kategorie:VDR-Distributionen]]
 
[[Kategorie:VDR-Distributionen]]
[[Kategorie:Eisfair]]
 

Aktuelle Version vom 4. August 2013, 19:38 Uhr

Hinweis
Hinweis

Die aktive Entwicklung dieser Distribution wurde einstellt, für Einsteiger empfiehlt sich der Einsatz einer anderen VDR-Distribution.


Inhaltsverzeichnis

[Bearbeiten] Allgemein

thin-EisVDR ist eine auf Fli4l und Eisfair basierende VDR-Distribution. Ursprünglich als Idee für einen Netboot-Diskless-Client entstanden, kann das System nicht nur über das Netzwerk mit PXE oder Netboot, sondern auch von CD/DVD, Festplatte, SD-Karte oder einem USB-Stick gestartet werden. Durch die Verwendung des Konfigurationssystems von Fli4L liegt das System nicht in fertiger Form auf CD vor, sondern wird nach der Konfiguration "zusammengestrickt". Dabei werden nur wirklich benötigte Dateien auf das fertige Bootmedium kopiert, sodass die Grösse des Systems minimal gehalten wird.

Konfiguration Grösse (ca.)
Basissystem 3.3MB
VDR + DVB 8MB - 12M
VDR + DVB + Basis Plugins 9MB - 15MB
VDR (Stream + DXR3) 11MB
VDR + Multimedia 30+MB
ALLES 45+MB

Die Konfiguration kann auf einem beliebigen Computer unter Windows oder Linux erstellt werden, wobei keine Linux-Kenntnisse vorausgesetzt werden, da nur Textdateien bearbeitet werden müssen, die die Konfigurations-Variablen enthalten.


Sonstiges

Kernel: 2.4.32 (fli4l 3.0.X)
2.6.15 (base 1.1.X)
VDR-Version: 1.3.44 Bigpatch
Developer-Tools: Eisfair mit Dev-Paketen

[Bearbeiten] Vor- und Nachteile

[Bearbeiten] Vorteile

  • Diskless-Streaming-Client-Betrieb möglich
  • Booten über PXE(Preboot_Execution_Environment)/Netboot, HD, USB oder CD möglich
  • Keine Linux-Kenntnisse erforderlich
  • Einheitliche Konfiguration über Konfigurationsdateien (mit jedem Texteditor)
  • Braucht keine Festplatte oder DVB-Karte (alles optional)
  • Sehr schnell da vollständig im Speicher (Ramdisk)
  • Sehr kurze Bootzeiten (auch von CD, da nur die Rootfs gelesen wird)
  • Geringer Festplatten-/Speicherverbrauch
  • Stabiler Betrieb jetzt auch mit dxr3 und Streamdev-plugin
  • Aktuelle VDR Version 1.3.44
  • ACPI-/NVRAM-Wakeup-Unterstützung
  • Basispakete wahlweise mit 2.4.32- oder 2.6.15-Kerneln
  • Unterstützung von PVR und Realmagic-Karten

[Bearbeiten] Nachteile

  • Geringe Verbreitung, daher weniger Support über VDR Portal (Aber die Entwickler geben sich wirklich Mühe)
  • Ein paar Plugins fehlen noch, aber es werden ständig mehr.
  • Konvertierung und Brennen der Aufnahmen nicht lokal möglich, da kein Perl zur Verfügung steht, es gibt jedoch eine Remote-Lösung
  • Bei einer umfangreichen Konfiguration wird etwas mehr Speicher benötigt, da die Ramdisk dementsprechend größer wird (256-512 MB sollten im Normalfall reichen, für DivX natürlich mehr)
  • Dokumentation noch unvollständig, man kann sich jedoch an Fli4L richten

[Bearbeiten] Installation

[Bearbeiten] Konfigurationsordner

[Bearbeiten] base 1.1.1 (Kernel 2.6.15)

Als Erstes muss man das Basispaket herunterladen und entpacken.

cd /tmp
wget http://sevo-eisfair.flnet.org/thineis-1.1.1/thin-eisvdr-1.1.1.tar.bz2
tar -xjf thin-eisvdr-1.1.1.tar.bz2

Danach kommen die Kernelspezifischen Pakete. Diese müssen IN DEN NEUEN Basisordner thin-eisvdr-1.1.1 entpackt werden:

cd thin-eisvdr-1.1.1
wget http://sevo-eisfair.flnet.org/thineis-1.1.1/opt_dvb.tar.bz2
tar -xjf opt_dvb.tar.bz2

[Bearbeiten] Kernelunabhängige Pakete

Alle anderen Pakete wie OPT_VDR sind Kernelunabhängig und können mit verschiedenen Basisversionen verwendet werden.

cd thin-eisvdr-1.1.1
wget http://sevo-eisfair.flnet.org/opts/opt_vdr.tar.bz2
tar -xjf opt_vdr.tar.bz2

Das Gleiche macht man mit allen benötigten Paketen.

[Bearbeiten] Patches

Zusätzlich werden zwischen den Releases, Patches veröffentlicht. Der Patch mit der höchsten Versionsnummer enthält immer alle Patches, die vorher erschienen sind. Somit braucht man nur den letzten Patch zu installieren. Dieser muss immer zum Schluss entpackt werden, da meistens Datien aus unterschiedlichen Paketen aktualisiert werden. Unabhängig davon ob ein Patch Änderungen von Basispaketen oder Kernelunabhängigen Paketen enthält.

cd thin-eisvdr-1.1.1
wget http://sevo-eisfair.flnet.org/thineis-1.1.1/patch-1.1.1-8.tar.bz2
tar -xjf patch-1.1.1-8.tar.bz2

Wenn man nachträglich ein Paket entpackt, sollte man danach unbedingt den letzten Patch nochmals anwenden, da das Paket eventuell bereits aktualisierte Dateien überschreibt.

Natürlich kann man die Pakete auch unter Windows mit einem geeigneten Packer entpacken.

[Bearbeiten] Verfügbare Pakete

Paketübersicht: Thin-EisVDR Pakete

VDR-Plugins: Plugin Tabelle


[Bearbeiten] Konfiguration

Das System wird über Konfigurationsdateien im Ordner "config" konfiguriert. Dabei gehört zu jedem Paket eine Konfigurationsdatei mit der Endung "*.txt", die alle für das Paket benötigten Konfigurationsdvariablen enthält. Diese Dateien sind Systemunabhängig und können mit einem Linux sowie einem Windows Editor bearbeitet werden.

Da der Ordner "config" eine Beispielkonfiguration der Pakete enthält ist es ratsam eine Sicherungskopie anzulegen, BEVOR man die Konfiguration ändert.

cp -r config config.bak
cd config
joe [paketname].txt

[Bearbeiten] Dokumentation

Obwohl die Konfiguration sehr einfach ist, sollte man sich die Fli4L Basis-Dokumentation unter http://www.fli4l.de/hilfe/dokumentation.html anschauen, da leider noch keine eigene Dokumentation für das Projekt existiert (Freiwillige ?). Wenn man das Prinzip durchschaut hat, kann man die Pakete meistens intuitiv konfigurieren. Die Konfigurationsdateien enthalten ausserdem zusätzlich kleine Hinweise und Beschreibungen.

Viele aktuelle Pakete enthalten zusätzlich eine eigene Dokumentation unter doc/deutsch/text.


[Bearbeiten] Installation

Wenn man die Konfigurationsdateien seinen Wünschen entsprechend angepasst hat, kann man das eigentliche System bzw. die Rootfs erstellen. Hierzu findet man für Linux das Script "mkfli4l.sh" und für Windows das Programm "mkfli4l.exe". Beim Start wird als erstes die Konfigurationsdatei config/mkfli4l.conf eingelesen und danach die Konfiguration erstellt. Das Windows Programm bietet zusätzlich die Möglichkeit einige Einstellungen des Build-Prozesses zu ändern. Unter Linux müssen diese Einstellungen manuell in der config/mkfli4l.conf geändert werden.

cd ..
./mkfli4l.sh

Während des Build-Prozesses werden zuerst alle Konfigurationsdateien auf ihre Gültigkeit überprüft. Falls eine Variable ungültige Werte enthält oder Paketabhängigkeiten ungelöst sind, wird der Prozess unterbrochen und eine entsprechende Fehlermeldung(en) angezeigt. Genauso wird der Prozess gestoppt wenn eine Datei nicht gefunden werden konnte.

Wenn alles Fehlerfrei verläuft, findet man im Ordner "build" (kann mit der Variable BUILDDIR='build' in der config/mkfli4l.conf geändert werden) das fertige Image. Andernfalls liegen die Logs von mkfli4l in diesem Ordner.

Abhängig von der Konfiguration muss man nun das Image auf das Zielmedium brennen/kopieren und booten.


[Bearbeiten] Exkurs: Bootvorgang

Wie bei Fli4L ist auch bei thin-eisVDR der Bootvorgang etwas anders als bei normalen Distris. Der Kernel mountet nicht die /boot Partition, sondern erstellt eine Ramdisk in die die Rootfs entpackt wird (wie bei Initrd jedoch mit Inittar). Dabei spielt es keine Rolle ob vom Netzwerk, CD, oder HD gestartet wird. Danach wird das INIT Programm gestartet das die Startscripte laufen lässt. Die Rootfs enthält immer die zum Booten benötigten Files (Libs, rc-Scripte, Module für Netzwerk und IDE oder SCSI). Die restlichen Dateien befinden sich entweder bei einer HD Installation im Archiv /boot/opt.tgz und werden beim Booten (nur bei Bedarf, siehe HD Beispielkonfiguration) entpackt, oder bei einer CD/Netzwerk Konfiguration auch in der Rootfs. Diese befinden sich demnach auch auf der Ramdisk (ausser HD-Installationstyp B).

Durch dieses Verfahren ist das System davon unabhängig, ob der Kernel die Festplatte, CD oder was auch immer unterstützt. Es muss lediglich das BIOS bzw. die Netzwerkkarte das Medium booten können. Im Zweifelsfalle kann das System nur keine Daten permanent speichern, wenn es keinen Zugriff auf ein Medium hat, da die Ramdisk nach einem Reboot gelöscht wird.

Boot-Ablauf (kurz):

* Kernel in den Speicher laden
* Rootfs in den Speicher laden
* Rootfs in /dev/tmpfs entpacken
* /dev/tmpfs als "/" (root) mounten
* /sbin/init ausführen
* MINI-INIT: /sbin/linuxrc ausführen
* Linuxrc: /sbin/init löschen
* Linuxrc: Busybox installieren (/usr/local/bin/busybox --install)
* Linuxrc: /sbin/init (Busybox) starten
* INIT: /etc/rc ausführen
* RC: Einstellungen laden (/boot/rc.cfg)
* RC: /boot/opt.tgz entpacken
* RC: /etc/boot.d/* und /etc/rc.d/* ausführen 

[Bearbeiten] Beispielkonfigurationen

[Bearbeiten] PXE/Netboot

Bei dieser Konfiguration wird das System über PXE bzw. Netboot gestartet. Welche Variante man verwenden muss hängt von der Netzwerkkarte im Client ab. Manche Netzwerkkarten unterstützen beides, manche können keine grossen Netboot Images laden, und manche können nur eine der beiden Arten. Die meisten On-Board NICs unterstützen PXE problemlos.

Wenn man eine Netzwerkkarte verwenden muss, die weder PXE noch Netboot unterstützt, kann man den Loader von einer Diskette laden. Dabei wird ein Mini-Linux von einer Diskette gestartet, das den NIC-Treiber lädt und eine Verbindung zum DHCP Server aufbaut. Weitere Informationen zu diesem Vorgehen gibt es unter http://www.etherboot.org/ und solche Disketten-Images lassen sich unter http://www.rom-o-matic.net/ Online erstellen und herunterladen.

[Bearbeiten] Einstellungen

Die wichtigsten Basis-Einstellungen für Netzwerk-Clients:

config/base.txt

HOSTNAME='vdrclient'             # Der Hostname des Clients
PASSWORD='1'                     # Passwort zum Einloggen (Konsole, SSH)
BOOT_TYPE='pxeboot'              # Für Netboot muss hier 'netboot' eingetragen werden
MOUNT_BOOT='ro'                  # Boot Laufwerk read-only mounten (rm geht auch, macht aber keinen Sinn)
NET_DRV_N='1'                    # Anzahl verwendeter NIC Module
NET_DRV_1='8139too'              # Name des ersten NIC Moduls
IP_NET_N='1'                     # Anzahl verwendeter Netzwerke
IP_NET_1='192.168.1.2/24'        # IP Adresse des ersten Netzwerks
IP_NET_1_DEV='eth0'              # Device Name des ersten Netzwerks (eth0, eth1, ...)
IP_DEFAULT_GATEWAY='192.168.1.1' # Gateway (meistens IP Adresse des Routers)
DNS_SERVER='192.168.1.1'         # DNS-Server (meistens IP Adresse des Routers)

config/mkfli4l.conf

TFTPBOOTPATH='/tftpboot'         # Pfad zum tftp-boot Verzeichnis
TFTPBOOTIMAGE='vdr-client.img'   # Name der Image-Datei für Netboot
PXESUBDIR='vdr'                  # PXE-Unterordner vom tftp-boot Verzeichnis

config/dhcp.txt

OPT_DHCLIENT='yes'               # DHCP Client installieren
DHCLIENT_USEPEERDNS='yes'        # DNS Server über DHCP beziehen


Weitere Pakete werden nach dem gleichen Prinzip konfiguriert. Weitere Informationen zu anderen Paketen findet man in der Paketliste.


pxelinux.cfg/default

label vdr
        kernel  vdr/kernel
        append  load_ramdisk=1 root=/dev/ram0

load_ramdisk=1 lässt den kernel eine ramdisk erstellen. root=/dev/ram0 ist der Pfad zum root-Verzeichnis (die ramdisk). Falls ihr einen Kernelpanic haben solltet kontrolliert, ob ihr diese Parameter angegeben habt.


[Bearbeiten] Build

Vor dem Ausführen von mkfli4l.sh sollten man sichergehen, dass die netboot-tools installiert sind.

apt-get install mknbi

Nach dem Ausführen von mkfli4l.sh (ACHTUNG Netboot/PXE geht im Moment nur unter Linux!) findet man folgende Dateien: (Die Pfade können in Abhängigkeit von der Konfiguration in config/mkfli4l.conf abweichen)

BOOT_TYPE='netboot'

/tftpboot/vdr-client.img

Image für Netboot/Etherboot und hat den Kernel bereits integriert. Wird direkt von der NIC heruntergeladen und gestartet, deshalb können manche Karten so grosse Images nicht verarbeiten.

BOOT_TYPE='pxeboot'

/tftpboot/vdr/kernel
/tftpboot/vdr/rootfs.img

Hier ist der Kernel und die Rootfs voneinander gestrennt. Die NIC muss nur den PXE Loader pxelinux.0 herunterladen und starten. Der Loader lädt dann den Kernel und das Image in den Speicher und startet den Kernel.

[Bearbeiten] Build

Vor dem Ausführen von mkfli4l.sh sollten man sichergehen, dass die netboot-tools installiert sind.

apt-get install mknbi

Nach dem Ausführen von mkfli4l.sh (ACHTUNG Netboot/PXE geht im Moment nur unter Linux!) findet man folgende Dateien: (Die Pfade können in Abhängigkeit von der Konfiguration in config/mkfli4l.conf abweichen)

BOOT_TYPE='netboot'

/tftpboot/vdr-client.img

Image für Netboot/Etherboot und hat den Kernel bereits integriert. Wird direkt von der NIC heruntergeladen und gestartet, deshalb können manche Karten so grosse Images nicht verarbeiten.

BOOT_TYPE='pxeboot'

/tftpboot/vdr/kernel
/tftpboot/vdr/rootfs.img

Hier ist der Kernel und die Rootfs voneinander gestrennt. Die NIC muss nur den PXE Loader pxelinux.0 herunterladen und starten. Der Loader lädt dann den Kernel und das Image in den Speicher und startet den Kernel.

[Bearbeiten] Build

Vor dem Ausführen von mkfli4l.sh sollten man sichergehen, dass die netboot-tools installiert sind.

apt-get install mknbi

Nach dem Ausführen von mkfli4l.sh (ACHTUNG Netboot/PXE geht im Moment nur unter Linux!) findet man folgende Dateien: (Die Pfade können in Abhängigkeit von der Konfiguration in config/mkfli4l.conf abweichen)

BOOT_TYPE='netboot'

/tftpboot/vdr-client.img

Image für Netboot/Etherboot und hat den Kernel bereits integriert. Wird direkt von der NIC heruntergeladen und gestartet, deshalb können manche Karten so grosse Images nicht verarbeiten.

BOOT_TYPE='pxeboot'

/tftpboot/vdr/kernel
/tftpboot/vdr/rootfs.img

Hier ist der Kernel und die Rootfs voneinander gestrennt. Die NIC muss nur den PXE Loader pxelinux.0 herunterladen und starten. Der Loader lädt dann den Kernel und das Image in den Speicher und startet den Kernel.


[Bearbeiten] Server Konfiguration

Auf dem Server werden folgende Programme benötigt:

dhcp-Server
tftp-Server
pxelinux
mknbi

Dabei muss man möglichst aktuelle Versionen verwenden, die Netzwerk-Boot unterstützen und grosse Dateien übertragen können. Informationen zur Konfiguration von PXE findet man unter http://syslinux.zytor.com/pxe.php

[Bearbeiten] CD-Boot

Natürlich kann das System auch von einer CD bzw. DVD gestartet werden, wobei das CD/DVD Laufwerk unterstützt werden muss, damit das System die OPT Pakete beim Hochfahren finden und entpacken kann. Hirzu ist das Paket OPT_HD notwendig, das IDE und SCSI Treiber enthält.

[Bearbeiten] Konfiguration

Die Basiskonfiguration kann von Netboot übernommen werden, wobei nur folgendes geändert werden muss:

config/base.txt

BOOT_TYPE='cd'        # cd für cd-boot

Zusätzlich muss das System das Laufwerk einbinden (mounten) können. Hierzu müssen folgende Einstellungen gemacht werden:

config/hd.txt

OPT_HDDRV='yes'                 # IDE Treiber/Module aktivieren
HDDRV_N='1'                     # Anzahl verwendeter Module
HDDRV_1='ide-cd'                # 'ide-cd' für IDE ATAPI Laufwerke
HDDRV_1_OPTION=''               # Moduloptionen (kann leer bleiben)

OPT_MOUNT='yes'                 # Mounten aktivieren
MOUNT_N='0'

Für OPT_MOUNT werden keine weiteren Mountpoint Definitionen benötigt, da es IMMER das erste CD/DVD-Laufwerk automatisch unter /cdrom einbindet. Zusätzlich wird ein fstab Eintrag für /cdfs angelegt, damit auch Audio-CDs abgespielt werden können.

Wenn man ein SCSI Laufwerk verwenden muss, kann die Konfiguration so aussehen:

config/hd.txt (scsi)

OPT_HDDRV='yes'                 # IDE Treiber/Module aktivieren
HDDRV_N='2'                     # Anzahl verwendeter Module
HDDRV_1='aic7xxx'               #   SCSI Treiber für den Controller
HDDRV_1_OPTION=''
HDDRV_2='scsi-cd'               #   SCSI Treiber CD-Laufwerke (generic)
HDDRV_2_OPTION=''

OPT_MOUNT='yes'                 # Mounten aktivieren
MOUNT_N='0'

[Bearbeiten] Build

Zum Erstellen des Images (ISO Datei) wird unter Linux das Programm mkisofs benötigt. Unter Windows braucht man lediglich ein geeignetes Brennprogramm.

Nachdem mkfli4l.sh bzw. mkfli4l.exe fehlerfrei ausgeführt wurde, findet man im "boot" Verzeichnis die Datei thin_eisVDR.iso. Diese Datei kann mit einem Brennprogramm des Vertrauens auf einen Rohling gebrannt werden.

[Bearbeiten] HD-Boot

[Bearbeiten] thin-EisVDR und Fli4L

Obwohl das System auf Fli4L basiert, können die Pakete noch nicht mit Fli4L verwendet werden, da die GLibc benötigt wird. Für Fli4L gibt es jedoch angepasste Versionen einzelner Pakete wie OPT_VDR oder OPT_DVB. Diese können unter http://sevo-eisfair.flnet.org/fli4l/ heruntergeladen werden.

Es wird momentan an einer gemeinsamen Lösung gearbeitet, sodass die Pakete irgendwann auf beiden Systemen ohne Anpassungen verwendet werden können.

Umgekehrt können nur wenige Fli4L-Pakete mit thin-EisVDR verwendet werden, da die uCLibc fehlt. Die Pakete die jedoch keine gegen die uCLibc gelinkten Binaries enthalten, können Problemlos eingesetzt werden. Da als Basis die Fli4L Version 3.0.0 dient, kann man die OPTs der 3.X.X Serie von http://extern.fli4l.de/fli4l_opt-db3/ verwenden. Kernelabhängige Fli4L Pakete können grundsätzlich nicht mit thin eisVDR 1.1.1 verwendet werden, da hier der neue 2.6er Kernel zum Einsatz kommt.

Möchte man trotz der Inkompatibilität ein Opt von Fli4L verwenden, kann man einen Eisfair mit der dazugehörigen Entwicklungsumgebung (funktioniert super auch in einer VM) aufsetzen und die benötigten Binaries dort kompilieren, da thin-EisVDR die selbe GLibc verwendet (alle thin-EisVDR Binaries wurden auf einem Eisfair kompiliert)

[Bearbeiten] Links

  1. Eisfair Projekt-Homepage und ISO-Image Download
  2. Fli4L the on(e)-disk-router
  3. Diskussion zum Projekt
  4. Diskussion zu Fli4L Paketen
  5. Feature Requests