<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.tuxbox-neutrino.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rhabarber1848</id>
	<title>TuxBoxWIKI - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.tuxbox-neutrino.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rhabarber1848"/>
	<link rel="alternate" type="text/html" href="https://wiki.tuxbox-neutrino.org/wiki/Spezial:Beitr%C3%A4ge/Rhabarber1848"/>
	<updated>2026-04-22T22:39:09Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://wiki.tuxbox-neutrino.org/w/index.php?title=Development:GDB_Remote_einrichten&amp;diff=14394</id>
		<title>Development:GDB Remote einrichten</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuxbox-neutrino.org/w/index.php?title=Development:GDB_Remote_einrichten&amp;diff=14394"/>
		<updated>2011-06-14T18:30:26Z</updated>

		<summary type="html">&lt;p&gt;Rhabarber1848: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Register]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:CDK]]&lt;br /&gt;
{{Development_sidebar}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Build Konfiguration=&lt;br /&gt;
cdk/configure &lt;br /&gt;
damit alle Debugsymbole vorhanden sind&lt;br /&gt;
 --enable-debug&lt;br /&gt;
 &lt;br /&gt;
 make yadd-neutrino gdb gdb-remote&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Modifikation der Startscripte=&lt;br /&gt;
In cdkroot/etc/init.d/start_neutrino vor die Zeile&lt;br /&gt;
Code:&lt;br /&gt;
 until neutrino -f -u ; do&lt;br /&gt;
&lt;br /&gt;
folgendes einfügen:&lt;br /&gt;
Code:&lt;br /&gt;
 exit 0&lt;br /&gt;
&lt;br /&gt;
=Anwenden=&lt;br /&gt;
weil wir Neutrino manuell starten werden.&lt;br /&gt;
Yadd booten.&lt;br /&gt;
&lt;br /&gt;
Per Telnet auf die Dbox einloggen, dann:&lt;br /&gt;
Code:&lt;br /&gt;
 gdbserver :5555 neutrino&lt;br /&gt;
&lt;br /&gt;
gdb wartet dann auf den connect eines clients:&lt;br /&gt;
Zitat:&lt;br /&gt;
 Process neutrino created; pid = 189&lt;br /&gt;
 Listening on port 5555&lt;br /&gt;
&lt;br /&gt;
Auf dem Client ins Verzeichnis &lt;br /&gt;
 $prefix/cdk/bin &lt;br /&gt;
wechseln und&lt;br /&gt;
Code:&lt;br /&gt;
 ./powerpc-tuxbox-linux-gnu-gdb ../../cdkroot/bin/neutrino&lt;br /&gt;
&lt;br /&gt;
Dann geht es los:&lt;br /&gt;
Code:&lt;br /&gt;
 target remote dboxIP:5555&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
Wenn Neutrino abgestürzt ist, kann, wie gehabt, mit&lt;br /&gt;
Code:&lt;br /&gt;
 bt full&lt;br /&gt;
&lt;br /&gt;
ein backtrace erzeugt werden.&lt;br /&gt;
&lt;br /&gt;
=Weblinks=&lt;br /&gt;
http://forum.tuxbox.org/forum/viewtopic.php?p=366575#p366575&lt;/div&gt;</summary>
		<author><name>Rhabarber1848</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuxbox-neutrino.org/w/index.php?title=Erstellen_eines_VMWare-Images&amp;diff=14322</id>
		<title>Erstellen eines VMWare-Images</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuxbox-neutrino.org/w/index.php?title=Erstellen_eines_VMWare-Images&amp;diff=14322"/>
		<updated>2011-05-28T13:16:41Z</updated>

		<summary type="html">&lt;p&gt;Rhabarber1848: /* Tuxbox-CDK einrichten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Register]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:CDK]]&lt;br /&gt;
{{Development_sidebar}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Allgemein=&lt;br /&gt;
Als sehr nützlich für die Erstellung einer Entwicklungsumgebung hat sich das Aufsetzen einer Virtualisierung erwiesen, wenn man nicht unbedingt ein komplettes Linuxsystem einrichten möchte oder kann. Dank gestiegener Hardwareleistung, insbesondere bei Mehrkernsystemen, ist der Umgang mit solch einer Lösung fast gleichwertig und eine sehr gute Alternative zu einem echtem Linuxsystem. Vor allem Neulinge auf diesem Gebiet, bietet diese Alternative einen optimalen Einstieg.&lt;br /&gt;
Dank vorgefertigter und zum Teil für bestimmte Verwendungszwecke zugeschnittene Images, sind solche Systeme relativ schnell eingerichtet.&lt;br /&gt;
&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
Es wird davon ausgegangen, dass eine Windowsinstallation (&amp;gt;=WindowsXP) vorhanden ist und die enstprechende Hardware mit möglichst ordentlicher CPU, am besten Mehrkern-CPU's, vorhanden ist. &lt;br /&gt;
Natürlich sollte [[VMware]] installiert sein. Eine Lösung über andere Virtualisierungs-Plattformen wie sie z.B. von Sun's [[VirtualBox]] besteht,&lt;br /&gt;
ist im wesentlichen auch möglich. Andere sollten auch möglich sein, aber hierfür sind momentan keine weiteren Informationen bekannt.&lt;br /&gt;
&lt;br /&gt;
=Debian Squeeze=&lt;br /&gt;
==Installation==&lt;br /&gt;
Es wird ein fertiges Image benötigt. Dafür diese Datei herunterladen:&lt;br /&gt;
&lt;br /&gt;
http://cdimage.debian.org/debian-cd/6.0.1a/i386/iso-cd/debian-6.0.1a-i386-netinst.iso&lt;br /&gt;
&lt;br /&gt;
===VMWare vorbereiten===&lt;br /&gt;
Einmaliger Prozess zum Erstellen des VMWare-Images:&lt;br /&gt;
&lt;br /&gt;
*Menü File, New, Virtual Machine, Weiter, Typical, Linux - Ubuntu,&lt;br /&gt;
*Speicherort auswählen, Use bridged networking, 8GB - &lt;br /&gt;
&lt;br /&gt;
Rest nicht verändern, Fertig stellen&lt;br /&gt;
&lt;br /&gt;
*Menü VM, Settings, CD-ROM - Use ISO Image&lt;br /&gt;
obiges ISO auswählen&lt;br /&gt;
&lt;br /&gt;
*Virtuelle Maschine starten&lt;br /&gt;
*Install,''' ''Enter'''''&lt;br /&gt;
*German,''' ''Enter'''''&lt;br /&gt;
*Deutschland,''' ''Enter'''''&lt;br /&gt;
*Deutsch,''' ''Enter'''''&lt;br /&gt;
(evtl. muss das Netzwerk konfiguriert werden)&lt;br /&gt;
*Rechnername tuxbox&lt;br /&gt;
*Geführt - verwende vollständige Festplatte,''' ''Enter'''''&lt;br /&gt;
'''''*Enter'''''&lt;br /&gt;
*Alle Dateien auf eine Partition,''' ''Enter'''''&lt;br /&gt;
*Partitionierung beenden und Änderungen übernehmen, ''Enter''&lt;br /&gt;
*Änderungen auf die Festplatten schreiben? Ja,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
...Grundsystem wird installiert&lt;br /&gt;
&lt;br /&gt;
*Root-Passwort vergeben&lt;br /&gt;
*Neuer Benutzer, Name:''' ''tuxbox'''''&lt;br /&gt;
*Benutzername:''' ''tuxbox'''''&lt;br /&gt;
Passwort vergeben&lt;br /&gt;
*Debian-Archiv-Spiegelserver Deutschland&lt;br /&gt;
*Server auswählen&lt;br /&gt;
*Paketverwendungserfassung nein,''' ''Enter'''''&lt;br /&gt;
*Keine Software-Sammlung auswählen&lt;br /&gt;
&lt;br /&gt;
alle Sterne entfernen,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
*Grub in Master Boot Record - Ja,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
Nach Beendigung der Installation, virtuelle Maschine neustarten!&lt;br /&gt;
&lt;br /&gt;
===Lenny einrichten===&lt;br /&gt;
Einmaliger Prozess zum Einrichten von Debian und Installieren der notwendigen Pakete:&lt;br /&gt;
&lt;br /&gt;
Innerhalb der virtuellen Maschine anmelden als User '''root'''&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get upgrade&lt;br /&gt;
 apt-get install --no-install-recommends sudo openssh-server&lt;br /&gt;
 echo &amp;quot;tuxbox ALL=(ALL) ALL&amp;quot; &amp;gt;&amp;gt; /etc/sudoers&lt;br /&gt;
 ifconfig (die IP-Adresse von eth0 merken)&lt;br /&gt;
 logout&lt;br /&gt;
&lt;br /&gt;
'''''STRG+ALT'',''' um das VMWare-Fenster wieder zu verlassen&lt;br /&gt;
&lt;br /&gt;
per SSH ('''auf Windows ist [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Putty] zu empfehlen!''') zur virtuellen Maschine unter o.g. IP verbinden als User '''tuxbox''' einloggen&lt;br /&gt;
 sudo apt-get install --no-install-recommends cvs libtool autoconf automake gettext autopoint make g++ flex bison patch bzip2 pkg-config zlib1g-dev python&lt;br /&gt;
&lt;br /&gt;
für die Freunde des Midnight-Commanders: &lt;br /&gt;
 sudo apt-get install --no-install-recommends mc&lt;br /&gt;
&lt;br /&gt;
danach aufräumen: &lt;br /&gt;
 sudo apt-get clean&lt;br /&gt;
&lt;br /&gt;
=Tuxbox-CDK einrichten=&lt;br /&gt;
Als Bespiel soll hier eine allgemeine Vorgehensweise gezeigt werden, wie man sofort loslegen könnte. Detailierte Informationen zu Bauvorgang, Optionen usw. findet man unter [[Images und Yadd's erstellen]].&lt;br /&gt;
&lt;br /&gt;
 mkdir $HOME/cvs $HOME/archive $HOME/customization&lt;br /&gt;
&lt;br /&gt;
Herunterladen/Aktualisieren des Tuxbox-CVS:&lt;br /&gt;
 cd $HOME/cvs&lt;br /&gt;
 CVS_RSH=ssh cvs -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox -z3 co -P .&lt;br /&gt;
(beim ersten Mal die Frage nach RSA key fingerprint mit yes beantworten)&lt;br /&gt;
&lt;br /&gt;
Kompilieren eines Images, dafür immer ein leeres Verzeichnis nehmen:&lt;br /&gt;
&lt;br /&gt;
 cd $HOME&lt;br /&gt;
 rm -rf compile image&lt;br /&gt;
 cp -r cvs compile&lt;br /&gt;
wenn Patches eingespielt werden sollen:&lt;br /&gt;
 cd $HOME/compile&lt;br /&gt;
 patch -p0 -E -i /home/tuxbox/datei.diff&lt;br /&gt;
weiter:&lt;br /&gt;
 cd $HOME/compile/cdk&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
&lt;br /&gt;
Für eine Übersicht aller Konfigurationsoptionen:&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=$HOME/image --with-cvsdir=$HOME/compile --with-archivedir=$HOME/archive&lt;br /&gt;
&lt;br /&gt;
optional:&lt;br /&gt;
&lt;br /&gt;
--with-[http://wiki.tuxbox.org/wiki/index.php/Images_und_Yadd%27s_erstellen#--with-rootpartitionsize.3D.5BSIZE.5D rootpartitionsize]=0x460000&lt;br /&gt;
&lt;br /&gt;
--with-[http://wiki.tuxbox.org/wiki/index.php/Images_und_Yadd%27s_erstellen#--with-customizationsdir.3DDIR customizationsdir]=$HOME/customization&lt;br /&gt;
&lt;br /&gt;
Nun können Images kompiliert werden:&lt;br /&gt;
&lt;br /&gt;
 make flash-neutrino-squashfs-all&lt;br /&gt;
 make flash-enigma-squashfs-all&lt;br /&gt;
 make flash-enigma+neutrino-squashfs-all&lt;br /&gt;
&lt;br /&gt;
Das fertige Image liegt in&lt;br /&gt;
&lt;br /&gt;
 tuxbox@tuxbox:~$ ls -la $HOME/image/cdkflash/*img*&lt;br /&gt;
 -rw-r--r-- 1 tuxbox tuxbox 8257536 3. Feb 16:31 /home/tuxbox/image/cdkflash/neutrino-squashfs.img1x&lt;br /&gt;
 -rw-r--r-- 1 tuxbox tuxbox 8257536 3. Feb 16:31 /home/tuxbox/image/cdkflash/neutrino-squashfs.img2x&lt;br /&gt;
&lt;br /&gt;
=Yadd-Setup=&lt;br /&gt;
Allgemeine Infos zum Thema [[Images und Yadd's erstellen]]&lt;br /&gt;
&lt;br /&gt;
Hier nun die Setup-Anleitung für das VMWare-Image:&lt;br /&gt;
&lt;br /&gt;
Setup einer Yadd-Umgebung, bestehend aus DHCP/bootp/NFS-Server.&lt;br /&gt;
&lt;br /&gt;
Installieren und Konfigurieren des NFS-Servers:&lt;br /&gt;
&lt;br /&gt;
 su - root&lt;br /&gt;
Passwort für root eingeben, Enter&lt;br /&gt;
 apt-get install --no-install-recommends nfs-kernel-server dhcp3-server tftpd&lt;br /&gt;
 apt-get clean&lt;br /&gt;
 sed -i &amp;quot;s/\/srv\/tftp/\/home\/tuxbox\/image\/tftpboot/&amp;quot; /etc/inetd.conf&lt;br /&gt;
 echo &amp;quot;/home/tuxbox/image/cdkroot *(rw,sync,no_root_squash,no_subtree_check)&amp;quot; &amp;gt;&amp;gt; /etc/exports&lt;br /&gt;
 logout&lt;br /&gt;
&lt;br /&gt;
Von der Dbox wird die MAC-Adresse der Netzwerkkarte benötigt,&lt;br /&gt;
dazu muss bereits ein Linux-Image auf der Box laufen. Per Telnet&lt;br /&gt;
(geht auch mit Putty) eine Verbindung zur Dbox aufbauen,&lt;br /&gt;
Username root, dann&lt;br /&gt;
 ifconfig eth0&lt;br /&gt;
eingeben und den Wert hinter HWaddr ermitteln, dieser muss&lt;br /&gt;
später in die Konfigurationsdatei des DHCP-Servers eingetragen&lt;br /&gt;
werden, Beispiel:&lt;br /&gt;
 eth0      Link encap:Ethernet  HWaddr 12:34:56:78:9A:BC&lt;br /&gt;
          inet addr:192.168.1.4  Bcast:192.168.1.255  Mask:255.255.255.0&lt;br /&gt;
In diesem Fall ist die MAC-Adresse 12:34:56:78:9A:BC&lt;br /&gt;
&lt;br /&gt;
Nun beginnt das Setup des DHCP-Servers innerhalb der VMWare-Sitzung.&lt;br /&gt;
&lt;br /&gt;
Dieser wird benötigt, um Yadd zu booten. Wenn im Netzwerk bereits ein DHCP-Server aktiv ist, muss dessen Bootp-Unterstützung für die oben ermittelte MAC-Adresse deaktiviert werden. Da es viele unterschiedliche DHCP-Server gibt, kann ich hier nur ein Beispiel liefern:&lt;br /&gt;
    host dbox&lt;br /&gt;
    {&lt;br /&gt;
        deny bootp;&lt;br /&gt;
        hardware ethernet 12:34:56:78:9A:BC;&lt;br /&gt;
        fixed-address 192.168.1.4;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Entscheidend ist hier die Zeile &amp;quot;deny bootp;&amp;quot;.&lt;br /&gt;
Die Dbox hat die IP-Adresse 192.168.1.4, diese IP muss auch im DHCP-Server der VMWare-Sitzung für die Dbox verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Nun wird der DHCP-Server der VMWare-Sitzung konfiguriert, dazu wird der vorhandene Editor Nano genutzt, hier die [http://mintaka.sdsu.edu/reu/nano.html Tastenübersicht].&lt;br /&gt;
&lt;br /&gt;
Am einfachsten ist es, folgende Konfiguration zu übernehmen und die mit Dollarzeichen ($$$Beschreibung$$$) markierten Einträge zu bearbeiten.&lt;br /&gt;
&lt;br /&gt;
 sudo rm /etc/dhcp3/dhcpd.conf&lt;br /&gt;
 sudo nano /etc/dhcp3/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
Folgenden Text in den Editor kopieren:&lt;br /&gt;
 ddns-update-style none;&lt;br /&gt;
 allow bootp;&lt;br /&gt;
 &lt;br /&gt;
 option domain-name &amp;quot;$$$Domainname des Netzwerks$$$&amp;quot;;&lt;br /&gt;
 option domain-name-servers $$$IP des DNS-Servers$$$;&lt;br /&gt;
 option routers $$$IP des DNS-Servers$$$;&lt;br /&gt;
 &lt;br /&gt;
 default-lease-time 600;&lt;br /&gt;
 max-lease-time 7200;&lt;br /&gt;
 &lt;br /&gt;
 subnet $$$IP des DNS-Servers, endend auf Null$$$ netmask 255.255.255.0 {&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 host dbox {&lt;br /&gt;
        fixed-address [b]$$$IP der Dbox$$$[/b];&lt;br /&gt;
        hardware ethernet [b]$$$MAC-Adresse der Dbox$$$[/b];&lt;br /&gt;
        server-name &amp;quot;[b]$$$IP der VMWare-Sitzung$$$[/b]&amp;quot;;&lt;br /&gt;
        next-server [b]$$$IP der VMWare-Sitzung$$$[/b];&lt;br /&gt;
        option root-path &amp;quot;/home/tuxbox/image/cdkroot&amp;quot;;&lt;br /&gt;
        if exists vendor-class-identifier {&lt;br /&gt;
                filename &amp;quot;/home/tuxbox/image/tftpboot/kernel-cdk&amp;quot;;&lt;br /&gt;
        } else {&lt;br /&gt;
                filename &amp;quot;/home/tuxbox/image/tftpboot/u-boot&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
 }&lt;br /&gt;
STRG+X, J, Enter zum Speichern der Änderungen&lt;br /&gt;
&lt;br /&gt;
 sudo invoke-rc.d dhcp3-server restart&lt;br /&gt;
 sudo invoke-rc.d nfs-kernel-server restart&lt;br /&gt;
 sudo invoke-rc.d openbsd-inetd restart&lt;br /&gt;
&lt;br /&gt;
Ein Yadd-Image eignet sich perfekt zum Debuggen.&lt;br /&gt;
&lt;br /&gt;
Zum Kompilieren einer Yadd-Umgebung:&lt;br /&gt;
 make yadd-neutrino&lt;br /&gt;
 make yadd-enigma&lt;br /&gt;
&lt;br /&gt;
Wenn Neutrino und Enigma gleichzeitig gewünscht sind:&lt;br /&gt;
 make yadd-neutrino yadd-enigma&lt;br /&gt;
&lt;br /&gt;
Nach dem Kompilieren die Dbox2 in den deep-standby fahren,&lt;br /&gt;
die o.g. Dienste aktivieren, ein serielles Log öffnen zum&lt;br /&gt;
Überwachen des Bootprozesses und die Dbox2 einschalten.&lt;br /&gt;
&lt;br /&gt;
=Weblinks=&lt;br /&gt;
[http://forum.tuxbox.org/forum/viewtopic.php?f=13&amp;amp;t=48503 Ursprungsthread zu diesem Howto im Tuxbox-Forum]&lt;/div&gt;</summary>
		<author><name>Rhabarber1848</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuxbox-neutrino.org/w/index.php?title=Erstellen_eines_VMWare-Images&amp;diff=14243</id>
		<title>Erstellen eines VMWare-Images</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuxbox-neutrino.org/w/index.php?title=Erstellen_eines_VMWare-Images&amp;diff=14243"/>
		<updated>2011-05-21T11:33:15Z</updated>

		<summary type="html">&lt;p&gt;Rhabarber1848: Update Debian Squeeze&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Register]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:CDK]]&lt;br /&gt;
{{Development_sidebar}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Allgemein=&lt;br /&gt;
Als sehr nützlich für die Erstellung einer Entwicklungsumgebung hat sich das Aufsetzen einer Virtualisierung erwiesen, wenn man nicht unbedingt ein komplettes Linuxsystem einrichten möchte oder kann. Dank gestiegener Hardwareleistung, insbesondere bei Mehrkernsystemen, ist der Umgang mit solch einer Lösung fast gleichwertig und eine sehr gute Alternative zu einem echtem Linuxsystem. Vor allem Neulinge auf diesem Gebiet, bietet diese Alternative einen optimalen Einstieg.&lt;br /&gt;
Dank vorgefertigter und zum Teil für bestimmte Verwendungszwecke zugeschnittene Images, sind solche Systeme relativ schnell eingerichtet.&lt;br /&gt;
&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
Es wird davon ausgegangen, dass eine Windowsinstallation (&amp;gt;=WindowsXP) vorhanden ist und die enstprechende Hardware mit möglichst ordentlicher CPU, am besten Mehrkern-CPU's, vorhanden ist. &lt;br /&gt;
Natürlich sollte [[VMware]] installiert sein. Eine Lösung über andere Virtualisierungs-Plattformen wie sie z.B. von Sun's [[VirtualBox]] besteht,&lt;br /&gt;
ist im wesentlichen auch möglich. Andere sollten auch möglich sein, aber hierfür sind momentan keine weiteren Informationen bekannt.&lt;br /&gt;
&lt;br /&gt;
=Debian Squeeze=&lt;br /&gt;
==Installation==&lt;br /&gt;
Es wird ein fertiges Image benötigt. Dafür diese Datei herunterladen:&lt;br /&gt;
&lt;br /&gt;
http://cdimage.debian.org/debian-cd/6.0.1a/i386/iso-cd/debian-6.0.1a-i386-netinst.iso&lt;br /&gt;
&lt;br /&gt;
===VMWare vorbereiten===&lt;br /&gt;
Einmaliger Prozess zum Erstellen des VMWare-Images:&lt;br /&gt;
&lt;br /&gt;
*Menü File, New, Virtual Machine, Weiter, Typical, Linux - Ubuntu,&lt;br /&gt;
*Speicherort auswählen, Use bridged networking, 8GB - &lt;br /&gt;
&lt;br /&gt;
Rest nicht verändern, Fertig stellen&lt;br /&gt;
&lt;br /&gt;
*Menü VM, Settings, CD-ROM - Use ISO Image&lt;br /&gt;
obiges ISO auswählen&lt;br /&gt;
&lt;br /&gt;
*Virtuelle Maschine starten&lt;br /&gt;
*Install,''' ''Enter'''''&lt;br /&gt;
*German,''' ''Enter'''''&lt;br /&gt;
*Deutschland,''' ''Enter'''''&lt;br /&gt;
*Deutsch,''' ''Enter'''''&lt;br /&gt;
(evtl. muss das Netzwerk konfiguriert werden)&lt;br /&gt;
*Rechnername tuxbox&lt;br /&gt;
*Geführt - verwende vollständige Festplatte,''' ''Enter'''''&lt;br /&gt;
'''''*Enter'''''&lt;br /&gt;
*Alle Dateien auf eine Partition,''' ''Enter'''''&lt;br /&gt;
*Partitionierung beenden und Änderungen übernehmen, ''Enter''&lt;br /&gt;
*Änderungen auf die Festplatten schreiben? Ja,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
...Grundsystem wird installiert&lt;br /&gt;
&lt;br /&gt;
*Root-Passwort vergeben&lt;br /&gt;
*Neuer Benutzer, Name:''' ''tuxbox'''''&lt;br /&gt;
*Benutzername:''' ''tuxbox'''''&lt;br /&gt;
Passwort vergeben&lt;br /&gt;
*Debian-Archiv-Spiegelserver Deutschland&lt;br /&gt;
*Server auswählen&lt;br /&gt;
*Paketverwendungserfassung nein,''' ''Enter'''''&lt;br /&gt;
*Keine Software-Sammlung auswählen&lt;br /&gt;
&lt;br /&gt;
alle Sterne entfernen,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
*Grub in Master Boot Record - Ja,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
Nach Beendigung der Installation, virtuelle Maschine neustarten!&lt;br /&gt;
&lt;br /&gt;
===Lenny einrichten===&lt;br /&gt;
Einmaliger Prozess zum Einrichten von Debian und Installieren der notwendigen Pakete:&lt;br /&gt;
&lt;br /&gt;
Innerhalb der virtuellen Maschine anmelden als User '''root'''&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get upgrade&lt;br /&gt;
 apt-get install --no-install-recommends sudo openssh-server&lt;br /&gt;
 echo &amp;quot;tuxbox ALL=(ALL) ALL&amp;quot; &amp;gt;&amp;gt; /etc/sudoers&lt;br /&gt;
 ifconfig (die IP-Adresse von eth0 merken)&lt;br /&gt;
 logout&lt;br /&gt;
&lt;br /&gt;
'''''STRG+ALT'',''' um das VMWare-Fenster wieder zu verlassen&lt;br /&gt;
&lt;br /&gt;
per SSH ('''auf Windows ist [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Putty] zu empfehlen!''') zur virtuellen Maschine unter o.g. IP verbinden als User '''tuxbox''' einloggen&lt;br /&gt;
 sudo apt-get install --no-install-recommends cvs libtool autoconf automake gettext autopoint make g++ flex bison patch bzip2 pkg-config zlib1g-dev python&lt;br /&gt;
&lt;br /&gt;
für die Freunde des Midnight-Commanders: &lt;br /&gt;
 sudo apt-get install --no-install-recommends mc&lt;br /&gt;
&lt;br /&gt;
danach aufräumen: &lt;br /&gt;
 sudo apt-get clean&lt;br /&gt;
&lt;br /&gt;
=Tuxbox-CDK einrichten=&lt;br /&gt;
Als Bespiel soll hier eine allgemeine Vorgehensweise gezeigt werden, wie man sofort loslegen könnte. Detailierte Informationen zu Bauvorgang, Optionen usw. findet man unter [[Images und Yadd's erstellen]].&lt;br /&gt;
&lt;br /&gt;
 mkdir $HOME/cvs $HOME/archive $HOME/customization $HOME/archive&lt;br /&gt;
&lt;br /&gt;
Herunterladen/Aktualisieren des Tuxbox-CVS:&lt;br /&gt;
 cd $HOME/cvs&lt;br /&gt;
 CVS_RSH=ssh cvs -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox -z3 co -P .&lt;br /&gt;
(beim ersten Mal die Frage nach RSA key fingerprint mit yes beantworten)&lt;br /&gt;
&lt;br /&gt;
Kompilieren eines Images, dafür immer ein leeres Verzeichnis nehmen:&lt;br /&gt;
&lt;br /&gt;
 cd $HOME&lt;br /&gt;
 rm -rf compile image&lt;br /&gt;
 cp -r cvs compile&lt;br /&gt;
wenn Patches eingespielt werden sollen:&lt;br /&gt;
 cd $HOME/compile&lt;br /&gt;
 patch -p0 -E -i /home/tuxbox/datei.diff&lt;br /&gt;
weiter:&lt;br /&gt;
 cd $HOME/compile/cdk&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
&lt;br /&gt;
Für eine Übersicht aller Konfigurationsoptionen:&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=$HOME/image --with-cvsdir=$HOME/compile --with-archivedir=$HOME/archive&lt;br /&gt;
&lt;br /&gt;
optional:&lt;br /&gt;
&lt;br /&gt;
--with-[http://wiki.tuxbox.org/wiki/index.php/Images_und_Yadd%27s_erstellen#--with-rootpartitionsize.3D.5BSIZE.5D rootpartitionsize]=0x460000&lt;br /&gt;
&lt;br /&gt;
--with-[http://wiki.tuxbox.org/wiki/index.php/Images_und_Yadd%27s_erstellen#--with-customizationsdir.3DDIR customizationsdir]=$HOME/customization&lt;br /&gt;
&lt;br /&gt;
Nun können Images kompiliert werden:&lt;br /&gt;
&lt;br /&gt;
 make flash-neutrino-squashfs-all&lt;br /&gt;
 make flash-enigma-squashfs-all&lt;br /&gt;
 make flash-enigma+neutrino-squashfs-all&lt;br /&gt;
&lt;br /&gt;
Das fertige Image liegt in&lt;br /&gt;
&lt;br /&gt;
 tuxbox@tuxbox:~$ ls -la $HOME/image/cdkflash/*img*&lt;br /&gt;
 -rw-r--r-- 1 tuxbox tuxbox 8257536 3. Feb 16:31 /home/tuxbox/image/cdkflash/neutrino-squashfs.img1x&lt;br /&gt;
 -rw-r--r-- 1 tuxbox tuxbox 8257536 3. Feb 16:31 /home/tuxbox/image/cdkflash/neutrino-squashfs.img2x&lt;br /&gt;
&lt;br /&gt;
=Yadd-Setup=&lt;br /&gt;
Allgemeine Infos zum Thema [[Images und Yadd's erstellen]]&lt;br /&gt;
&lt;br /&gt;
Hier nun die Setup-Anleitung für das VMWare-Image:&lt;br /&gt;
&lt;br /&gt;
Setup einer Yadd-Umgebung, bestehend aus DHCP/bootp/NFS-Server.&lt;br /&gt;
&lt;br /&gt;
Installieren und Konfigurieren des NFS-Servers:&lt;br /&gt;
&lt;br /&gt;
 su - root&lt;br /&gt;
Passwort für root eingeben, Enter&lt;br /&gt;
 apt-get install --no-install-recommends nfs-kernel-server dhcp3-server tftpd&lt;br /&gt;
 apt-get clean&lt;br /&gt;
 sed -i &amp;quot;s/\/srv\/tftp/\/home\/tuxbox\/image\/tftpboot/&amp;quot; /etc/inetd.conf&lt;br /&gt;
 echo &amp;quot;/home/tuxbox/image/cdkroot *(rw,sync,no_root_squash,no_subtree_check)&amp;quot; &amp;gt;&amp;gt; /etc/exports&lt;br /&gt;
 logout&lt;br /&gt;
&lt;br /&gt;
Von der Dbox wird die MAC-Adresse der Netzwerkkarte benötigt,&lt;br /&gt;
dazu muss bereits ein Linux-Image auf der Box laufen. Per Telnet&lt;br /&gt;
(geht auch mit Putty) eine Verbindung zur Dbox aufbauen,&lt;br /&gt;
Username root, dann&lt;br /&gt;
 ifconfig eth0&lt;br /&gt;
eingeben und den Wert hinter HWaddr ermitteln, dieser muss&lt;br /&gt;
später in die Konfigurationsdatei des DHCP-Servers eingetragen&lt;br /&gt;
werden, Beispiel:&lt;br /&gt;
 eth0      Link encap:Ethernet  HWaddr 12:34:56:78:9A:BC&lt;br /&gt;
          inet addr:192.168.1.4  Bcast:192.168.1.255  Mask:255.255.255.0&lt;br /&gt;
In diesem Fall ist die MAC-Adresse 12:34:56:78:9A:BC&lt;br /&gt;
&lt;br /&gt;
Nun beginnt das Setup des DHCP-Servers innerhalb der VMWare-Sitzung.&lt;br /&gt;
&lt;br /&gt;
Dieser wird benötigt, um Yadd zu booten. Wenn im Netzwerk bereits ein DHCP-Server aktiv ist, muss dessen Bootp-Unterstützung für die oben ermittelte MAC-Adresse deaktiviert werden. Da es viele unterschiedliche DHCP-Server gibt, kann ich hier nur ein Beispiel liefern:&lt;br /&gt;
    host dbox&lt;br /&gt;
    {&lt;br /&gt;
        deny bootp;&lt;br /&gt;
        hardware ethernet 12:34:56:78:9A:BC;&lt;br /&gt;
        fixed-address 192.168.1.4;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Entscheidend ist hier die Zeile &amp;quot;deny bootp;&amp;quot;.&lt;br /&gt;
Die Dbox hat die IP-Adresse 192.168.1.4, diese IP muss auch im DHCP-Server der VMWare-Sitzung für die Dbox verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Nun wird der DHCP-Server der VMWare-Sitzung konfiguriert, dazu wird der vorhandene Editor Nano genutzt, hier die [http://mintaka.sdsu.edu/reu/nano.html Tastenübersicht].&lt;br /&gt;
&lt;br /&gt;
Am einfachsten ist es, folgende Konfiguration zu übernehmen und die mit Dollarzeichen ($$$Beschreibung$$$) markierten Einträge zu bearbeiten.&lt;br /&gt;
&lt;br /&gt;
 sudo rm /etc/dhcp3/dhcpd.conf&lt;br /&gt;
 sudo nano /etc/dhcp3/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
Folgenden Text in den Editor kopieren:&lt;br /&gt;
 ddns-update-style none;&lt;br /&gt;
 allow bootp;&lt;br /&gt;
 &lt;br /&gt;
 option domain-name &amp;quot;$$$Domainname des Netzwerks$$$&amp;quot;;&lt;br /&gt;
 option domain-name-servers $$$IP des DNS-Servers$$$;&lt;br /&gt;
 option routers $$$IP des DNS-Servers$$$;&lt;br /&gt;
 &lt;br /&gt;
 default-lease-time 600;&lt;br /&gt;
 max-lease-time 7200;&lt;br /&gt;
 &lt;br /&gt;
 subnet $$$IP des DNS-Servers, endend auf Null$$$ netmask 255.255.255.0 {&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 host dbox {&lt;br /&gt;
        fixed-address [b]$$$IP der Dbox$$$[/b];&lt;br /&gt;
        hardware ethernet [b]$$$MAC-Adresse der Dbox$$$[/b];&lt;br /&gt;
        server-name &amp;quot;[b]$$$IP der VMWare-Sitzung$$$[/b]&amp;quot;;&lt;br /&gt;
        next-server [b]$$$IP der VMWare-Sitzung$$$[/b];&lt;br /&gt;
        option root-path &amp;quot;/home/tuxbox/image/cdkroot&amp;quot;;&lt;br /&gt;
        if exists vendor-class-identifier {&lt;br /&gt;
                filename &amp;quot;/home/tuxbox/image/tftpboot/kernel-cdk&amp;quot;;&lt;br /&gt;
        } else {&lt;br /&gt;
                filename &amp;quot;/home/tuxbox/image/tftpboot/u-boot&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
 }&lt;br /&gt;
STRG+X, J, Enter zum Speichern der Änderungen&lt;br /&gt;
&lt;br /&gt;
 sudo invoke-rc.d dhcp3-server restart&lt;br /&gt;
 sudo invoke-rc.d nfs-kernel-server restart&lt;br /&gt;
 sudo invoke-rc.d openbsd-inetd restart&lt;br /&gt;
&lt;br /&gt;
Ein Yadd-Image eignet sich perfekt zum Debuggen.&lt;br /&gt;
&lt;br /&gt;
Zum Kompilieren einer Yadd-Umgebung:&lt;br /&gt;
 make yadd-neutrino&lt;br /&gt;
 make yadd-enigma&lt;br /&gt;
&lt;br /&gt;
Wenn Neutrino und Enigma gleichzeitig gewünscht sind:&lt;br /&gt;
 make yadd-neutrino yadd-enigma&lt;br /&gt;
&lt;br /&gt;
Nach dem Kompilieren die Dbox2 in den deep-standby fahren,&lt;br /&gt;
die o.g. Dienste aktivieren, ein serielles Log öffnen zum&lt;br /&gt;
Überwachen des Bootprozesses und die Dbox2 einschalten.&lt;br /&gt;
&lt;br /&gt;
=Weblinks=&lt;br /&gt;
[http://forum.tuxbox.org/forum/viewtopic.php?f=13&amp;amp;t=48503 Ursprungsthread zu diesem Howto im Tuxbox-Forum]&lt;/div&gt;</summary>
		<author><name>Rhabarber1848</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuxbox-neutrino.org/w/index.php?title=Erstellen_eines_VMWare-Images&amp;diff=14108</id>
		<title>Erstellen eines VMWare-Images</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuxbox-neutrino.org/w/index.php?title=Erstellen_eines_VMWare-Images&amp;diff=14108"/>
		<updated>2011-02-27T12:35:42Z</updated>

		<summary type="html">&lt;p&gt;Rhabarber1848: /* Lenny einrichten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Register]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:CDK]]&lt;br /&gt;
{{Development_sidebar}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Allgemein=&lt;br /&gt;
Als sehr nützlich für die Erstellung einer Entwicklungsumgebung hat sich das Aufsetzen einer Virtualisierung erwiesen, wenn man nicht unbedingt ein komplettes Linuxsystem einrichten möchte oder kann. Dank gestiegener Hardwareleistung, insbesondere bei Mehrkernsystemen, ist der Umgang mit solch einer Lösung fast gleichwertig und eine sehr gute Alternative zu einem echtem Linuxsystem. Vor allem Neulinge auf diesem Gebiet, bietet diese Alternative einen optimalen Einstieg.&lt;br /&gt;
Dank vorgefertigter und zum Teil für bestimmte Verwendungszwecke zugeschnittene Images, sind solche Systeme relativ schnell eingerichtet.&lt;br /&gt;
&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
Es wird davon ausgegangen, dass eine Windowsinstallation (&amp;gt;=WindowsXP) vorhanden ist und die enstprechende Hardware mit möglichst ordentlicher CPU, am besten Mehrkern-CPU's, vorhanden ist. &lt;br /&gt;
Natürlich sollte [[VMware]] installiert sein. Eine Lösung über andere Virtualisierungs-Plattformen wie sie z.B. von Sun's [[VirtualBox]] besteht,&lt;br /&gt;
ist im wesentlichen auch möglich. Andere sollten auch möglich sein, aber hierfür sind momentan keine weiteren Informationen bekannt.&lt;br /&gt;
&lt;br /&gt;
=Debian Lenny=&lt;br /&gt;
==Installation==&lt;br /&gt;
Es wird ein fertiges Image benötigt. Dafür diese Datei herunterladen:&lt;br /&gt;
&lt;br /&gt;
http://cdimage.debian.org/debian-cd/current/i386/iso-cd/debian-506-i386-netinst.iso&lt;br /&gt;
&lt;br /&gt;
===VMWare vorbereiten===&lt;br /&gt;
Einmaliger Prozess zum Erstellen des VMWare-Images:&lt;br /&gt;
&lt;br /&gt;
*Menü File, New, Virtual Machine, Weiter, Typical, Linux - Ubuntu,&lt;br /&gt;
*Speicherort auswählen, Use bridged networking, 8GB - &lt;br /&gt;
&lt;br /&gt;
Rest nicht verändern, Fertig stellen&lt;br /&gt;
&lt;br /&gt;
*Menü VM, Settings, CD-ROM - Use ISO Image&lt;br /&gt;
obiges ISO auswählen&lt;br /&gt;
&lt;br /&gt;
*Virtuelle Maschine starten&lt;br /&gt;
*Install,''' ''Enter'''''&lt;br /&gt;
*German,''' ''Enter'''''&lt;br /&gt;
*Deutschland,''' ''Enter'''''&lt;br /&gt;
*Deutsch,''' ''Enter'''''&lt;br /&gt;
(evtl. muss das Netzwerk konfiguriert werden)&lt;br /&gt;
*Rechnername tuxbox&lt;br /&gt;
*Geführt - verwende vollständige Festplatte,''' ''Enter'''''&lt;br /&gt;
'''''*Enter'''''&lt;br /&gt;
*Alle Dateien auf eine Partition,''' ''Enter'''''&lt;br /&gt;
*Partitionierung beenden und Änderungen übernehmen, ''Enter''&lt;br /&gt;
*Änderungen auf die Festplatten schreiben? Ja,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
...Grundsystem wird installiert&lt;br /&gt;
&lt;br /&gt;
*Root-Passwort vergeben&lt;br /&gt;
*Neuer Benutzer, Name:''' ''tuxbox'''''&lt;br /&gt;
*Benutzername:''' ''tuxbox'''''&lt;br /&gt;
Passwort vergeben&lt;br /&gt;
*Debian-Archiv-Spiegelserver Deutschland&lt;br /&gt;
*Server auswählen&lt;br /&gt;
*Paketverwendungserfassung nein,''' ''Enter'''''&lt;br /&gt;
*Keine Software-Sammlung auswählen&lt;br /&gt;
&lt;br /&gt;
alle Sterne entfernen,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
*Grub in Master Boot Record - Ja,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
Nach Beendigung der Installation, virtuelle Maschine neustarten!&lt;br /&gt;
&lt;br /&gt;
===Lenny einrichten===&lt;br /&gt;
Einmaliger Prozess zum Einrichten von Debian und Installieren der notwendigen Pakete:&lt;br /&gt;
&lt;br /&gt;
Innerhalb der virtuellen Maschine anmelden als User '''root'''&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get upgrade&lt;br /&gt;
 apt-get install --no-install-recommends sudo openssh-server&lt;br /&gt;
 echo &amp;quot;tuxbox ALL=(ALL) ALL&amp;quot; &amp;gt;&amp;gt; /etc/sudoers&lt;br /&gt;
 ifconfig (die IP-Adresse von eth0 merken)&lt;br /&gt;
 logout&lt;br /&gt;
&lt;br /&gt;
'''''STRG+ALT'',''' um das VMWare-Fenster wieder zu verlassen&lt;br /&gt;
&lt;br /&gt;
per SSH ('''auf Windows ist [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Putty] zu empfehlen!''') zur virtuellen Maschine unter o.g. IP verbinden als User '''tuxbox''' einloggen&lt;br /&gt;
 sudo apt-get install --no-install-recommends cvs libtool autoconf automake gettext autopoint make g++ flex bison patch bzip2 pkg-config zlib1g-dev python&lt;br /&gt;
&lt;br /&gt;
für die Freunde des Midnight-Commanders: &lt;br /&gt;
 sudo apt-get install --no-install-recommends mc&lt;br /&gt;
&lt;br /&gt;
danach aufräumen: &lt;br /&gt;
 sudo apt-get clean&lt;br /&gt;
&lt;br /&gt;
=Tuxbox-CDK einrichten=&lt;br /&gt;
Als Bespiel soll hier eine allgemeine Vorgehensweise gezeigt werden, wie man sofort loslegen könnte. Detailierte Informationen zu Bauvorgang, Optionen usw. findet man unter [[Images und Yadd's erstellen]].&lt;br /&gt;
&lt;br /&gt;
 mkdir $HOME/cvs $HOME/archive $HOME/customization $HOME/archive&lt;br /&gt;
&lt;br /&gt;
Herunterladen/Aktualisieren des Tuxbox-CVS:&lt;br /&gt;
 cd $HOME/cvs&lt;br /&gt;
 CVS_RSH=ssh cvs -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox -z3 co -P .&lt;br /&gt;
(beim ersten Mal die Frage nach RSA key fingerprint mit yes beantworten)&lt;br /&gt;
&lt;br /&gt;
Kompilieren eines Images, dafür immer ein leeres Verzeichnis nehmen:&lt;br /&gt;
&lt;br /&gt;
 cd $HOME&lt;br /&gt;
 rm -rf compile image&lt;br /&gt;
 cp -r cvs compile&lt;br /&gt;
wenn Patches eingespielt werden sollen:&lt;br /&gt;
 cd $HOME/compile&lt;br /&gt;
 patch -p0 -E -i /home/tuxbox/datei.diff&lt;br /&gt;
weiter:&lt;br /&gt;
 cd $HOME/compile/cdk&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
&lt;br /&gt;
Für eine Übersicht aller Konfigurationsoptionen:&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=$HOME/image --with-cvsdir=$HOME/compile --with-archivedir=$HOME/archive&lt;br /&gt;
&lt;br /&gt;
optional:&lt;br /&gt;
&lt;br /&gt;
--with-[http://wiki.tuxbox.org/wiki/index.php/Images_und_Yadd%27s_erstellen#--with-rootpartitionsize.3D.5BSIZE.5D rootpartitionsize]=0x460000&lt;br /&gt;
&lt;br /&gt;
--with-[http://wiki.tuxbox.org/wiki/index.php/Images_und_Yadd%27s_erstellen#--with-customizationsdir.3DDIR customizationsdir]=$HOME/customization&lt;br /&gt;
&lt;br /&gt;
Nun können Images kompiliert werden:&lt;br /&gt;
&lt;br /&gt;
 make flash-neutrino-squashfs-all&lt;br /&gt;
 make flash-enigma-squashfs-all&lt;br /&gt;
 make flash-enigma+neutrino-squashfs-all&lt;br /&gt;
&lt;br /&gt;
Das fertige Image liegt in&lt;br /&gt;
&lt;br /&gt;
 tuxbox@tuxbox:~$ ls -la $HOME/image/cdkflash/*img*&lt;br /&gt;
 -rw-r--r-- 1 tuxbox tuxbox 8257536 3. Feb 16:31 /home/tuxbox/image/cdkflash/neutrino-squashfs.img1x&lt;br /&gt;
 -rw-r--r-- 1 tuxbox tuxbox 8257536 3. Feb 16:31 /home/tuxbox/image/cdkflash/neutrino-squashfs.img2x&lt;br /&gt;
&lt;br /&gt;
=Yadd-Setup=&lt;br /&gt;
Allgemeine Infos zum Thema [[Images und Yadd's erstellen]]&lt;br /&gt;
&lt;br /&gt;
Hier nun die Setup-Anleitung für das VMWare-Image:&lt;br /&gt;
&lt;br /&gt;
Setup einer Yadd-Umgebung, bestehend aus DHCP/bootp/NFS-Server.&lt;br /&gt;
&lt;br /&gt;
Installieren und Konfigurieren des NFS-Servers:&lt;br /&gt;
&lt;br /&gt;
 su - root&lt;br /&gt;
Passwort für root eingeben, Enter&lt;br /&gt;
 apt-get install --no-install-recommends nfs-kernel-server dhcp3-server tftpd&lt;br /&gt;
 apt-get clean&lt;br /&gt;
 sed -i &amp;quot;s/\/srv\/tftp/\/home\/tuxbox\/image\/tftpboot/&amp;quot; /etc/inetd.conf&lt;br /&gt;
 echo &amp;quot;/home/tuxbox/image/cdkroot *(rw,sync,no_root_squash,no_subtree_check)&amp;quot; &amp;gt;&amp;gt; /etc/exports&lt;br /&gt;
 logout&lt;br /&gt;
&lt;br /&gt;
Von der Dbox wird die MAC-Adresse der Netzwerkkarte benötigt,&lt;br /&gt;
dazu muss bereits ein Linux-Image auf der Box laufen. Per Telnet&lt;br /&gt;
(geht auch mit Putty) eine Verbindung zur Dbox aufbauen,&lt;br /&gt;
Username root, dann&lt;br /&gt;
 ifconfig eth0&lt;br /&gt;
eingeben und den Wert hinter HWaddr ermitteln, dieser muss&lt;br /&gt;
später in die Konfigurationsdatei des DHCP-Servers eingetragen&lt;br /&gt;
werden, Beispiel:&lt;br /&gt;
 eth0      Link encap:Ethernet  HWaddr 12:34:56:78:9A:BC&lt;br /&gt;
          inet addr:192.168.1.4  Bcast:192.168.1.255  Mask:255.255.255.0&lt;br /&gt;
In diesem Fall ist die MAC-Adresse 12:34:56:78:9A:BC&lt;br /&gt;
&lt;br /&gt;
Nun beginnt das Setup des DHCP-Servers innerhalb der VMWare-Sitzung.&lt;br /&gt;
&lt;br /&gt;
Dieser wird benötigt, um Yadd zu booten. Wenn im Netzwerk bereits ein DHCP-Server aktiv ist, muss dessen Bootp-Unterstützung für die oben ermittelte MAC-Adresse deaktiviert werden. Da es viele unterschiedliche DHCP-Server gibt, kann ich hier nur ein Beispiel liefern:&lt;br /&gt;
    host dbox&lt;br /&gt;
    {&lt;br /&gt;
        deny bootp;&lt;br /&gt;
        hardware ethernet 12:34:56:78:9A:BC;&lt;br /&gt;
        fixed-address 192.168.1.4;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Entscheidend ist hier die Zeile &amp;quot;deny bootp;&amp;quot;.&lt;br /&gt;
Die Dbox hat die IP-Adresse 192.168.1.4, diese IP muss auch im DHCP-Server der VMWare-Sitzung für die Dbox verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Nun wird der DHCP-Server der VMWare-Sitzung konfiguriert, dazu wird der vorhandene Editor Nano genutzt, hier die [http://mintaka.sdsu.edu/reu/nano.html Tastenübersicht].&lt;br /&gt;
&lt;br /&gt;
Am einfachsten ist es, folgende Konfiguration zu übernehmen und die mit Dollarzeichen ($$$Beschreibung$$$) markierten Einträge zu bearbeiten.&lt;br /&gt;
&lt;br /&gt;
 sudo rm /etc/dhcp3/dhcpd.conf&lt;br /&gt;
 sudo nano /etc/dhcp3/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
Folgenden Text in den Editor kopieren:&lt;br /&gt;
 ddns-update-style none;&lt;br /&gt;
 allow bootp;&lt;br /&gt;
 &lt;br /&gt;
 option domain-name &amp;quot;$$$Domainname des Netzwerks$$$&amp;quot;;&lt;br /&gt;
 option domain-name-servers $$$IP des DNS-Servers$$$;&lt;br /&gt;
 option routers $$$IP des DNS-Servers$$$;&lt;br /&gt;
 &lt;br /&gt;
 default-lease-time 600;&lt;br /&gt;
 max-lease-time 7200;&lt;br /&gt;
 &lt;br /&gt;
 subnet $$$IP des DNS-Servers, endend auf Null$$$ netmask 255.255.255.0 {&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 host dbox {&lt;br /&gt;
        fixed-address [b]$$$IP der Dbox$$$[/b];&lt;br /&gt;
        hardware ethernet [b]$$$MAC-Adresse der Dbox$$$[/b];&lt;br /&gt;
        server-name &amp;quot;[b]$$$IP der VMWare-Sitzung$$$[/b]&amp;quot;;&lt;br /&gt;
        next-server [b]$$$IP der VMWare-Sitzung$$$[/b];&lt;br /&gt;
        option root-path &amp;quot;/home/tuxbox/image/cdkroot&amp;quot;;&lt;br /&gt;
        if exists vendor-class-identifier {&lt;br /&gt;
                filename &amp;quot;/home/tuxbox/image/tftpboot/kernel-cdk&amp;quot;;&lt;br /&gt;
        } else {&lt;br /&gt;
                filename &amp;quot;/home/tuxbox/image/tftpboot/u-boot&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
 }&lt;br /&gt;
STRG+X, J, Enter zum Speichern der Änderungen&lt;br /&gt;
&lt;br /&gt;
 sudo invoke-rc.d dhcp3-server restart&lt;br /&gt;
 sudo invoke-rc.d nfs-kernel-server restart&lt;br /&gt;
 sudo invoke-rc.d openbsd-inetd restart&lt;br /&gt;
&lt;br /&gt;
Ein Yadd-Image eignet sich perfekt zum Debuggen.&lt;br /&gt;
&lt;br /&gt;
Zum Kompilieren einer Yadd-Umgebung:&lt;br /&gt;
 make yadd-neutrino&lt;br /&gt;
 make yadd-enigma&lt;br /&gt;
&lt;br /&gt;
Wenn Neutrino und Enigma gleichzeitig gewünscht sind:&lt;br /&gt;
 make yadd-neutrino yadd-enigma&lt;br /&gt;
&lt;br /&gt;
Nach dem Kompilieren die Dbox2 in den deep-standby fahren,&lt;br /&gt;
die o.g. Dienste aktivieren, ein serielles Log öffnen zum&lt;br /&gt;
Überwachen des Bootprozesses und die Dbox2 einschalten.&lt;br /&gt;
&lt;br /&gt;
=Weblinks=&lt;br /&gt;
[http://forum.tuxbox.org/forum/viewtopic.php?f=13&amp;amp;t=48503 Ursprungsthread zu diesem Howto im Tuxbox-Forum]&lt;/div&gt;</summary>
		<author><name>Rhabarber1848</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuxbox-neutrino.org/w/index.php?title=Erstellen_eines_VMWare-Images&amp;diff=13887</id>
		<title>Erstellen eines VMWare-Images</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuxbox-neutrino.org/w/index.php?title=Erstellen_eines_VMWare-Images&amp;diff=13887"/>
		<updated>2010-11-21T09:14:52Z</updated>

		<summary type="html">&lt;p&gt;Rhabarber1848: /* Allgemein */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Register]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:CDK]]&lt;br /&gt;
{{Development_sidebar}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Allgemein=&lt;br /&gt;
Als sehr nützlich für die Erstellung einer Entwicklungsumgebung hat sich das Aufsetzen einer Virtualisierung erwiesen, wenn man nicht unbedingt ein komplettes Linuxsystem einrichten möchte oder kann. Dank gestiegener Hardwareleistung, insbesondere bei Mehrkernsystemen, ist der Umgang mit solch einer Lösung fast gleichwertig und eine sehr gute Alternative zu einem echtem Linuxsystem. Vor allem Neulinge auf diesem Gebiet, bietet diese Alternative einen optimalen Einstieg.&lt;br /&gt;
Dank vorgefertigter und zum Teil für bestimmte Verwendungszwecke zugeschnittene Images, sind solche Systeme relativ schnell eingerichtet.&lt;br /&gt;
&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
Es wird davon ausgegangen, dass eine Windowsinstallation (&amp;gt;=WindowsXP) vorhanden ist und die enstprechende Hardware mit möglichst ordentlicher CPU, am besten Mehrkern-CPU's, vorhanden ist. &lt;br /&gt;
Natürlich sollte [[VMware]] installiert sein. Eine Lösung über andere Virtualisierungs-Plattformen wie sie z.B. von Sun's [[VirtualBox]] besteht,&lt;br /&gt;
ist im wesentlichen auch möglich. Andere sollten auch möglich sein, aber hierfür sind momentan keine weiteren Informationen bekannt.&lt;br /&gt;
&lt;br /&gt;
=Debian Lenny=&lt;br /&gt;
==Installation==&lt;br /&gt;
Es wird ein fertiges Image benötigt. Dafür diese Datei herunterladen:&lt;br /&gt;
&lt;br /&gt;
http://cdimage.debian.org/debian-cd/current/i386/iso-cd/debian-506-i386-netinst.iso&lt;br /&gt;
&lt;br /&gt;
===VMWare vorbereiten===&lt;br /&gt;
Einmaliger Prozess zum Erstellen des VMWare-Images:&lt;br /&gt;
&lt;br /&gt;
*Menü File, New, Virtual Machine, Weiter, Typical, Linux - Ubuntu,&lt;br /&gt;
*Speicherort auswählen, Use bridged networking, 8GB - &lt;br /&gt;
&lt;br /&gt;
Rest nicht verändern, Fertig stellen&lt;br /&gt;
&lt;br /&gt;
*Menü VM, Settings, CD-ROM - Use ISO Image&lt;br /&gt;
obiges ISO auswählen&lt;br /&gt;
&lt;br /&gt;
*Virtuelle Maschine starten&lt;br /&gt;
*Install,''' ''Enter'''''&lt;br /&gt;
*German,''' ''Enter'''''&lt;br /&gt;
*Deutschland,''' ''Enter'''''&lt;br /&gt;
*Deutsch,''' ''Enter'''''&lt;br /&gt;
(evtl. muss das Netzwerk konfiguriert werden)&lt;br /&gt;
*Rechnername tuxbox&lt;br /&gt;
*Geführt - verwende vollständige Festplatte,''' ''Enter'''''&lt;br /&gt;
'''''*Enter'''''&lt;br /&gt;
*Alle Dateien auf eine Partition,''' ''Enter'''''&lt;br /&gt;
*Partitionierung beenden und Änderungen übernehmen, ''Enter''&lt;br /&gt;
*Änderungen auf die Festplatten schreiben? Ja,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
...Grundsystem wird installiert&lt;br /&gt;
&lt;br /&gt;
*Root-Passwort vergeben&lt;br /&gt;
*Neuer Benutzer, Name:''' ''tuxbox'''''&lt;br /&gt;
*Benutzername:''' ''tuxbox'''''&lt;br /&gt;
Passwort vergeben&lt;br /&gt;
*Debian-Archiv-Spiegelserver Deutschland&lt;br /&gt;
*Server auswählen&lt;br /&gt;
*Paketverwendungserfassung nein,''' ''Enter'''''&lt;br /&gt;
*Keine Software-Sammlung auswählen&lt;br /&gt;
&lt;br /&gt;
alle Sterne entfernen,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
*Grub in Master Boot Record - Ja,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
Nach Beendigung der Installation, virtuelle Maschine neustarten!&lt;br /&gt;
&lt;br /&gt;
===Lenny einrichten===&lt;br /&gt;
Einmaliger Prozess zum Einrichten von Debian und Installieren der notwendigen Pakete:&lt;br /&gt;
&lt;br /&gt;
Innerhalb der virtuellen Maschine anmelden als User '''root'''&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get upgrade&lt;br /&gt;
 apt-get install --no-install-recommends sudo openssh-server&lt;br /&gt;
 echo &amp;quot;tuxbox ALL=(ALL) ALL&amp;quot; &amp;gt;&amp;gt; /etc/sudoers&lt;br /&gt;
 ifconfig (die IP-Adresse von eth0 merken)&lt;br /&gt;
 logout&lt;br /&gt;
&lt;br /&gt;
'''''STRG+ALT'',''' um das VMWare-Fenster wieder zu verlassen&lt;br /&gt;
&lt;br /&gt;
per SSH ('''auf Windows ist [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Putty] zu empfehlen!''') zur virtuellen Maschine unter o.g. IP verbinden als User '''tuxbox''' einloggen&lt;br /&gt;
 sudo apt-get install --no-install-recommends cvs libtool autoconf automake gettext make g++ flex bison patch bzip2 pkg-config zlib1g-dev python&lt;br /&gt;
&lt;br /&gt;
für die Freunde des Midnight-Commanders: &lt;br /&gt;
 sudo apt-get install --no-install-recommends mc&lt;br /&gt;
&lt;br /&gt;
danach aufräumen: &lt;br /&gt;
 sudo apt-get clean&lt;br /&gt;
&lt;br /&gt;
=Tuxbox-CDK einrichten=&lt;br /&gt;
Als Bespiel soll hier eine allgemeine Vorgehensweise gezeigt werden, wie man sofort loslegen könnte. Detailierte Informationen zu Bauvorgang, Optionen usw. findet man unter [[Images und Yadd's erstellen]].&lt;br /&gt;
&lt;br /&gt;
 mkdir $HOME/cvs $HOME/archive $HOME/customization $HOME/archive&lt;br /&gt;
&lt;br /&gt;
Herunterladen/Aktualisieren des Tuxbox-CVS:&lt;br /&gt;
 cd $HOME/cvs&lt;br /&gt;
 CVS_RSH=ssh cvs -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox -z3 co -P .&lt;br /&gt;
(beim ersten Mal die Frage nach RSA key fingerprint mit yes beantworten)&lt;br /&gt;
&lt;br /&gt;
Kompilieren eines Images, dafür immer ein leeres Verzeichnis nehmen:&lt;br /&gt;
&lt;br /&gt;
 cd $HOME&lt;br /&gt;
 rm -rf compile image&lt;br /&gt;
 cp -r cvs compile&lt;br /&gt;
wenn Patches eingespielt werden sollen:&lt;br /&gt;
 cd $HOME/compile&lt;br /&gt;
 patch -p0 -E -i /home/tuxbox/datei.diff&lt;br /&gt;
weiter:&lt;br /&gt;
 cd $HOME/compile/cdk&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
&lt;br /&gt;
Für eine Übersicht aller Konfigurationsoptionen:&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=$HOME/image --with-cvsdir=$HOME/compile --with-archivedir=$HOME/archive&lt;br /&gt;
&lt;br /&gt;
optional:&lt;br /&gt;
&lt;br /&gt;
--with-[http://wiki.tuxbox.org/wiki/index.php/Images_und_Yadd%27s_erstellen#--with-rootpartitionsize.3D.5BSIZE.5D rootpartitionsize]=0x460000&lt;br /&gt;
&lt;br /&gt;
--with-[http://wiki.tuxbox.org/wiki/index.php/Images_und_Yadd%27s_erstellen#--with-customizationsdir.3DDIR customizationsdir]=$HOME/customization&lt;br /&gt;
&lt;br /&gt;
Nun können Images kompiliert werden:&lt;br /&gt;
&lt;br /&gt;
 make flash-neutrino-squashfs-all&lt;br /&gt;
 make flash-enigma-squashfs-all&lt;br /&gt;
 make flash-enigma+neutrino-squashfs-all&lt;br /&gt;
&lt;br /&gt;
Das fertige Image liegt in&lt;br /&gt;
&lt;br /&gt;
 tuxbox@tuxbox:~$ ls -la $HOME/image/cdkflash/*img*&lt;br /&gt;
 -rw-r--r-- 1 tuxbox tuxbox 8257536 3. Feb 16:31 /home/tuxbox/image/cdkflash/neutrino-squashfs.img1x&lt;br /&gt;
 -rw-r--r-- 1 tuxbox tuxbox 8257536 3. Feb 16:31 /home/tuxbox/image/cdkflash/neutrino-squashfs.img2x&lt;br /&gt;
&lt;br /&gt;
=Yadd-Setup=&lt;br /&gt;
Allgemeine Infos zum Thema [[Images und Yadd's erstellen]]&lt;br /&gt;
&lt;br /&gt;
Hier nun die Setup-Anleitung für das VMWare-Image:&lt;br /&gt;
&lt;br /&gt;
Setup einer Yadd-Umgebung, bestehend aus DHCP/bootp/NFS-Server.&lt;br /&gt;
&lt;br /&gt;
Installieren und Konfigurieren des NFS-Servers:&lt;br /&gt;
&lt;br /&gt;
 su - root&lt;br /&gt;
Passwort für root eingeben, Enter&lt;br /&gt;
 apt-get install --no-install-recommends nfs-kernel-server dhcp3-server tftpd&lt;br /&gt;
 apt-get clean&lt;br /&gt;
 sed -i &amp;quot;s/\/srv\/tftp/\/home\/tuxbox\/image\/tftpboot/&amp;quot; /etc/inetd.conf&lt;br /&gt;
 echo &amp;quot;/home/tuxbox/image/cdkroot *(rw,sync,no_root_squash,no_subtree_check)&amp;quot; &amp;gt;&amp;gt; /etc/exports&lt;br /&gt;
 logout&lt;br /&gt;
&lt;br /&gt;
Von der Dbox wird die MAC-Adresse der Netzwerkkarte benötigt,&lt;br /&gt;
dazu muss bereits ein Linux-Image auf der Box laufen. Per Telnet&lt;br /&gt;
(geht auch mit Putty) eine Verbindung zur Dbox aufbauen,&lt;br /&gt;
Username root, dann&lt;br /&gt;
 ifconfig eth0&lt;br /&gt;
eingeben und den Wert hinter HWaddr ermitteln, dieser muss&lt;br /&gt;
später in die Konfigurationsdatei des DHCP-Servers eingetragen&lt;br /&gt;
werden, Beispiel:&lt;br /&gt;
 eth0      Link encap:Ethernet  HWaddr 12:34:56:78:9A:BC&lt;br /&gt;
          inet addr:192.168.1.4  Bcast:192.168.1.255  Mask:255.255.255.0&lt;br /&gt;
In diesem Fall ist die MAC-Adresse 12:34:56:78:9A:BC&lt;br /&gt;
&lt;br /&gt;
Nun beginnt das Setup des DHCP-Servers innerhalb der VMWare-Sitzung.&lt;br /&gt;
&lt;br /&gt;
Dieser wird benötigt, um Yadd zu booten. Wenn im Netzwerk bereits ein DHCP-Server aktiv ist, muss dessen Bootp-Unterstützung für die oben ermittelte MAC-Adresse deaktiviert werden. Da es viele unterschiedliche DHCP-Server gibt, kann ich hier nur ein Beispiel liefern:&lt;br /&gt;
    host dbox&lt;br /&gt;
    {&lt;br /&gt;
        deny bootp;&lt;br /&gt;
        hardware ethernet 12:34:56:78:9A:BC;&lt;br /&gt;
        fixed-address 192.168.1.4;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Entscheidend ist hier die Zeile &amp;quot;deny bootp;&amp;quot;.&lt;br /&gt;
Die Dbox hat die IP-Adresse 192.168.1.4, diese IP muss auch im DHCP-Server der VMWare-Sitzung für die Dbox verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Nun wird der DHCP-Server der VMWare-Sitzung konfiguriert, dazu wird der vorhandene Editor Nano genutzt, hier die [http://mintaka.sdsu.edu/reu/nano.html Tastenübersicht].&lt;br /&gt;
&lt;br /&gt;
Am einfachsten ist es, folgende Konfiguration zu übernehmen und die mit Dollarzeichen ($$$Beschreibung$$$) markierten Einträge zu bearbeiten.&lt;br /&gt;
&lt;br /&gt;
 sudo rm /etc/dhcp3/dhcpd.conf&lt;br /&gt;
 sudo nano /etc/dhcp3/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
Folgenden Text in den Editor kopieren:&lt;br /&gt;
 ddns-update-style none;&lt;br /&gt;
 allow bootp;&lt;br /&gt;
 &lt;br /&gt;
 option domain-name &amp;quot;$$$Domainname des Netzwerks$$$&amp;quot;;&lt;br /&gt;
 option domain-name-servers $$$IP des DNS-Servers$$$;&lt;br /&gt;
 option routers $$$IP des DNS-Servers$$$;&lt;br /&gt;
 &lt;br /&gt;
 default-lease-time 600;&lt;br /&gt;
 max-lease-time 7200;&lt;br /&gt;
 &lt;br /&gt;
 subnet $$$IP des DNS-Servers, endend auf Null$$$ netmask 255.255.255.0 {&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 host dbox {&lt;br /&gt;
        fixed-address [b]$$$IP der Dbox$$$[/b];&lt;br /&gt;
        hardware ethernet [b]$$$MAC-Adresse der Dbox$$$[/b];&lt;br /&gt;
        server-name &amp;quot;[b]$$$IP der VMWare-Sitzung$$$[/b]&amp;quot;;&lt;br /&gt;
        next-server [b]$$$IP der VMWare-Sitzung$$$[/b];&lt;br /&gt;
        option root-path &amp;quot;/home/tuxbox/image/cdkroot&amp;quot;;&lt;br /&gt;
        if exists vendor-class-identifier {&lt;br /&gt;
                filename &amp;quot;/home/tuxbox/image/tftpboot/kernel-cdk&amp;quot;;&lt;br /&gt;
        } else {&lt;br /&gt;
                filename &amp;quot;/home/tuxbox/image/tftpboot/u-boot&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
 }&lt;br /&gt;
STRG+X, J, Enter zum Speichern der Änderungen&lt;br /&gt;
&lt;br /&gt;
 sudo invoke-rc.d dhcp3-server restart&lt;br /&gt;
 sudo invoke-rc.d nfs-kernel-server restart&lt;br /&gt;
 sudo invoke-rc.d openbsd-inetd restart&lt;br /&gt;
&lt;br /&gt;
Ein Yadd-Image eignet sich perfekt zum Debuggen.&lt;br /&gt;
&lt;br /&gt;
Zum Kompilieren einer Yadd-Umgebung:&lt;br /&gt;
 make yadd-neutrino&lt;br /&gt;
 make yadd-enigma&lt;br /&gt;
&lt;br /&gt;
Wenn Neutrino und Enigma gleichzeitig gewünscht sind:&lt;br /&gt;
 make yadd-neutrino yadd-enigma&lt;br /&gt;
&lt;br /&gt;
Nach dem Kompilieren die Dbox2 in den deep-standby fahren,&lt;br /&gt;
die o.g. Dienste aktivieren, ein serielles Log öffnen zum&lt;br /&gt;
Überwachen des Bootprozesses und die Dbox2 einschalten.&lt;br /&gt;
&lt;br /&gt;
=Weblinks=&lt;br /&gt;
[http://forum.tuxbox.org/forum/viewtopic.php?f=13&amp;amp;t=48503 Ursprungsthread zu diesem Howto im Tuxbox-Forum]&lt;/div&gt;</summary>
		<author><name>Rhabarber1848</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuxbox-neutrino.org/w/index.php?title=Erstellen_eines_VMWare-Images&amp;diff=13886</id>
		<title>Erstellen eines VMWare-Images</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuxbox-neutrino.org/w/index.php?title=Erstellen_eines_VMWare-Images&amp;diff=13886"/>
		<updated>2010-11-21T09:12:27Z</updated>

		<summary type="html">&lt;p&gt;Rhabarber1848: /* Weitere Informationen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Register]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:CDK]]&lt;br /&gt;
{{Development_sidebar}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Allgemein=&lt;br /&gt;
Als sehr nützlich für die Erstellung einer Entwicklungsumgebung hat sich das Aufsetzen einer Virtualisierung erwiesen, wenn man nicht unbedingt ein komplettes Linuxsystem einrichten möchte oder kann. Dank gestiegener Hardwareleistung, insbesondere bei Mehrkernsystemen, ist der Umgang mit solch einer Lösung fast gleichwertig und eine sehr gute Alternative zu einem echtem Linuxsystem. Vorallem Neulinge auf diesem Gebiet, bietet diese Alternative einen optimalen Einstieg.&lt;br /&gt;
Dank vorgefertigter und zum Teil für bestimmte Verwendungszwecke zugeschnittene Images, sind solche Systeme relativ schnell eingerichtet.&lt;br /&gt;
&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
Es wird davon ausgegangen, dass eine Windowsinstallation (&amp;gt;=WindowsXP) vorhanden ist und die enstprechende Hardware mit möglichst ordentlicher CPU, am besten Mehrkern-CPU's, vorhanden ist. &lt;br /&gt;
Natürlich sollte [[VMware]] installiert sein. Eine Lösung über andere Virtualisierungs-Plattformen wie sie z.B. von Sun's [[VirtualBox]] besteht,&lt;br /&gt;
ist im wesentlichen auch möglich. Andere sollten auch möglich sein, aber hierfür sind momentan keine weiteren Informationen bekannt.&lt;br /&gt;
&lt;br /&gt;
=Debian Lenny=&lt;br /&gt;
==Installation==&lt;br /&gt;
Es wird ein fertiges Image benötigt. Dafür diese Datei herunterladen:&lt;br /&gt;
&lt;br /&gt;
http://cdimage.debian.org/debian-cd/current/i386/iso-cd/debian-506-i386-netinst.iso&lt;br /&gt;
&lt;br /&gt;
===VMWare vorbereiten===&lt;br /&gt;
Einmaliger Prozess zum Erstellen des VMWare-Images:&lt;br /&gt;
&lt;br /&gt;
*Menü File, New, Virtual Machine, Weiter, Typical, Linux - Ubuntu,&lt;br /&gt;
*Speicherort auswählen, Use bridged networking, 8GB - &lt;br /&gt;
&lt;br /&gt;
Rest nicht verändern, Fertig stellen&lt;br /&gt;
&lt;br /&gt;
*Menü VM, Settings, CD-ROM - Use ISO Image&lt;br /&gt;
obiges ISO auswählen&lt;br /&gt;
&lt;br /&gt;
*Virtuelle Maschine starten&lt;br /&gt;
*Install,''' ''Enter'''''&lt;br /&gt;
*German,''' ''Enter'''''&lt;br /&gt;
*Deutschland,''' ''Enter'''''&lt;br /&gt;
*Deutsch,''' ''Enter'''''&lt;br /&gt;
(evtl. muss das Netzwerk konfiguriert werden)&lt;br /&gt;
*Rechnername tuxbox&lt;br /&gt;
*Geführt - verwende vollständige Festplatte,''' ''Enter'''''&lt;br /&gt;
'''''*Enter'''''&lt;br /&gt;
*Alle Dateien auf eine Partition,''' ''Enter'''''&lt;br /&gt;
*Partitionierung beenden und Änderungen übernehmen, ''Enter''&lt;br /&gt;
*Änderungen auf die Festplatten schreiben? Ja,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
...Grundsystem wird installiert&lt;br /&gt;
&lt;br /&gt;
*Root-Passwort vergeben&lt;br /&gt;
*Neuer Benutzer, Name:''' ''tuxbox'''''&lt;br /&gt;
*Benutzername:''' ''tuxbox'''''&lt;br /&gt;
Passwort vergeben&lt;br /&gt;
*Debian-Archiv-Spiegelserver Deutschland&lt;br /&gt;
*Server auswählen&lt;br /&gt;
*Paketverwendungserfassung nein,''' ''Enter'''''&lt;br /&gt;
*Keine Software-Sammlung auswählen&lt;br /&gt;
&lt;br /&gt;
alle Sterne entfernen,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
*Grub in Master Boot Record - Ja,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
Nach Beendigung der Installation, virtuelle Maschine neustarten!&lt;br /&gt;
&lt;br /&gt;
===Lenny einrichten===&lt;br /&gt;
Einmaliger Prozess zum Einrichten von Debian und Installieren der notwendigen Pakete:&lt;br /&gt;
&lt;br /&gt;
Innerhalb der virtuellen Maschine anmelden als User '''root'''&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get upgrade&lt;br /&gt;
 apt-get install --no-install-recommends sudo openssh-server&lt;br /&gt;
 echo &amp;quot;tuxbox ALL=(ALL) ALL&amp;quot; &amp;gt;&amp;gt; /etc/sudoers&lt;br /&gt;
 ifconfig (die IP-Adresse von eth0 merken)&lt;br /&gt;
 logout&lt;br /&gt;
&lt;br /&gt;
'''''STRG+ALT'',''' um das VMWare-Fenster wieder zu verlassen&lt;br /&gt;
&lt;br /&gt;
per SSH ('''auf Windows ist [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Putty] zu empfehlen!''') zur virtuellen Maschine unter o.g. IP verbinden als User '''tuxbox''' einloggen&lt;br /&gt;
 sudo apt-get install --no-install-recommends cvs libtool autoconf automake gettext make g++ flex bison patch bzip2 pkg-config zlib1g-dev python&lt;br /&gt;
&lt;br /&gt;
für die Freunde des Midnight-Commanders: &lt;br /&gt;
 sudo apt-get install --no-install-recommends mc&lt;br /&gt;
&lt;br /&gt;
danach aufräumen: &lt;br /&gt;
 sudo apt-get clean&lt;br /&gt;
&lt;br /&gt;
=Tuxbox-CDK einrichten=&lt;br /&gt;
Als Bespiel soll hier eine allgemeine Vorgehensweise gezeigt werden, wie man sofort loslegen könnte. Detailierte Informationen zu Bauvorgang, Optionen usw. findet man unter [[Images und Yadd's erstellen]].&lt;br /&gt;
&lt;br /&gt;
 mkdir $HOME/cvs $HOME/archive $HOME/customization $HOME/archive&lt;br /&gt;
&lt;br /&gt;
Herunterladen/Aktualisieren des Tuxbox-CVS:&lt;br /&gt;
 cd $HOME/cvs&lt;br /&gt;
 CVS_RSH=ssh cvs -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox -z3 co -P .&lt;br /&gt;
(beim ersten Mal die Frage nach RSA key fingerprint mit yes beantworten)&lt;br /&gt;
&lt;br /&gt;
Kompilieren eines Images, dafür immer ein leeres Verzeichnis nehmen:&lt;br /&gt;
&lt;br /&gt;
 cd $HOME&lt;br /&gt;
 rm -rf compile image&lt;br /&gt;
 cp -r cvs compile&lt;br /&gt;
wenn Patches eingespielt werden sollen:&lt;br /&gt;
 cd $HOME/compile&lt;br /&gt;
 patch -p0 -E -i /home/tuxbox/datei.diff&lt;br /&gt;
weiter:&lt;br /&gt;
 cd $HOME/compile/cdk&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
&lt;br /&gt;
Für eine Übersicht aller Konfigurationsoptionen:&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=$HOME/image --with-cvsdir=$HOME/compile --with-archivedir=$HOME/archive&lt;br /&gt;
&lt;br /&gt;
optional:&lt;br /&gt;
&lt;br /&gt;
--with-[http://wiki.tuxbox.org/wiki/index.php/Images_und_Yadd%27s_erstellen#--with-rootpartitionsize.3D.5BSIZE.5D rootpartitionsize]=0x460000&lt;br /&gt;
&lt;br /&gt;
--with-[http://wiki.tuxbox.org/wiki/index.php/Images_und_Yadd%27s_erstellen#--with-customizationsdir.3DDIR customizationsdir]=$HOME/customization&lt;br /&gt;
&lt;br /&gt;
Nun können Images kompiliert werden:&lt;br /&gt;
&lt;br /&gt;
 make flash-neutrino-squashfs-all&lt;br /&gt;
 make flash-enigma-squashfs-all&lt;br /&gt;
 make flash-enigma+neutrino-squashfs-all&lt;br /&gt;
&lt;br /&gt;
Das fertige Image liegt in&lt;br /&gt;
&lt;br /&gt;
 tuxbox@tuxbox:~$ ls -la $HOME/image/cdkflash/*img*&lt;br /&gt;
 -rw-r--r-- 1 tuxbox tuxbox 8257536 3. Feb 16:31 /home/tuxbox/image/cdkflash/neutrino-squashfs.img1x&lt;br /&gt;
 -rw-r--r-- 1 tuxbox tuxbox 8257536 3. Feb 16:31 /home/tuxbox/image/cdkflash/neutrino-squashfs.img2x&lt;br /&gt;
&lt;br /&gt;
=Yadd-Setup=&lt;br /&gt;
Allgemeine Infos zum Thema [[Images und Yadd's erstellen]]&lt;br /&gt;
&lt;br /&gt;
Hier nun die Setup-Anleitung für das VMWare-Image:&lt;br /&gt;
&lt;br /&gt;
Setup einer Yadd-Umgebung, bestehend aus DHCP/bootp/NFS-Server.&lt;br /&gt;
&lt;br /&gt;
Installieren und Konfigurieren des NFS-Servers:&lt;br /&gt;
&lt;br /&gt;
 su - root&lt;br /&gt;
Passwort für root eingeben, Enter&lt;br /&gt;
 apt-get install --no-install-recommends nfs-kernel-server dhcp3-server tftpd&lt;br /&gt;
 apt-get clean&lt;br /&gt;
 sed -i &amp;quot;s/\/srv\/tftp/\/home\/tuxbox\/image\/tftpboot/&amp;quot; /etc/inetd.conf&lt;br /&gt;
 echo &amp;quot;/home/tuxbox/image/cdkroot *(rw,sync,no_root_squash,no_subtree_check)&amp;quot; &amp;gt;&amp;gt; /etc/exports&lt;br /&gt;
 logout&lt;br /&gt;
&lt;br /&gt;
Von der Dbox wird die MAC-Adresse der Netzwerkkarte benötigt,&lt;br /&gt;
dazu muss bereits ein Linux-Image auf der Box laufen. Per Telnet&lt;br /&gt;
(geht auch mit Putty) eine Verbindung zur Dbox aufbauen,&lt;br /&gt;
Username root, dann&lt;br /&gt;
 ifconfig eth0&lt;br /&gt;
eingeben und den Wert hinter HWaddr ermitteln, dieser muss&lt;br /&gt;
später in die Konfigurationsdatei des DHCP-Servers eingetragen&lt;br /&gt;
werden, Beispiel:&lt;br /&gt;
 eth0      Link encap:Ethernet  HWaddr 12:34:56:78:9A:BC&lt;br /&gt;
          inet addr:192.168.1.4  Bcast:192.168.1.255  Mask:255.255.255.0&lt;br /&gt;
In diesem Fall ist die MAC-Adresse 12:34:56:78:9A:BC&lt;br /&gt;
&lt;br /&gt;
Nun beginnt das Setup des DHCP-Servers innerhalb der VMWare-Sitzung.&lt;br /&gt;
&lt;br /&gt;
Dieser wird benötigt, um Yadd zu booten. Wenn im Netzwerk bereits ein DHCP-Server aktiv ist, muss dessen Bootp-Unterstützung für die oben ermittelte MAC-Adresse deaktiviert werden. Da es viele unterschiedliche DHCP-Server gibt, kann ich hier nur ein Beispiel liefern:&lt;br /&gt;
    host dbox&lt;br /&gt;
    {&lt;br /&gt;
        deny bootp;&lt;br /&gt;
        hardware ethernet 12:34:56:78:9A:BC;&lt;br /&gt;
        fixed-address 192.168.1.4;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Entscheidend ist hier die Zeile &amp;quot;deny bootp;&amp;quot;.&lt;br /&gt;
Die Dbox hat die IP-Adresse 192.168.1.4, diese IP muss auch im DHCP-Server der VMWare-Sitzung für die Dbox verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Nun wird der DHCP-Server der VMWare-Sitzung konfiguriert, dazu wird der vorhandene Editor Nano genutzt, hier die [http://mintaka.sdsu.edu/reu/nano.html Tastenübersicht].&lt;br /&gt;
&lt;br /&gt;
Am einfachsten ist es, folgende Konfiguration zu übernehmen und die mit Dollarzeichen ($$$Beschreibung$$$) markierten Einträge zu bearbeiten.&lt;br /&gt;
&lt;br /&gt;
 sudo rm /etc/dhcp3/dhcpd.conf&lt;br /&gt;
 sudo nano /etc/dhcp3/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
Folgenden Text in den Editor kopieren:&lt;br /&gt;
 ddns-update-style none;&lt;br /&gt;
 allow bootp;&lt;br /&gt;
 &lt;br /&gt;
 option domain-name &amp;quot;$$$Domainname des Netzwerks$$$&amp;quot;;&lt;br /&gt;
 option domain-name-servers $$$IP des DNS-Servers$$$;&lt;br /&gt;
 option routers $$$IP des DNS-Servers$$$;&lt;br /&gt;
 &lt;br /&gt;
 default-lease-time 600;&lt;br /&gt;
 max-lease-time 7200;&lt;br /&gt;
 &lt;br /&gt;
 subnet $$$IP des DNS-Servers, endend auf Null$$$ netmask 255.255.255.0 {&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 host dbox {&lt;br /&gt;
        fixed-address [b]$$$IP der Dbox$$$[/b];&lt;br /&gt;
        hardware ethernet [b]$$$MAC-Adresse der Dbox$$$[/b];&lt;br /&gt;
        server-name &amp;quot;[b]$$$IP der VMWare-Sitzung$$$[/b]&amp;quot;;&lt;br /&gt;
        next-server [b]$$$IP der VMWare-Sitzung$$$[/b];&lt;br /&gt;
        option root-path &amp;quot;/home/tuxbox/image/cdkroot&amp;quot;;&lt;br /&gt;
        if exists vendor-class-identifier {&lt;br /&gt;
                filename &amp;quot;/home/tuxbox/image/tftpboot/kernel-cdk&amp;quot;;&lt;br /&gt;
        } else {&lt;br /&gt;
                filename &amp;quot;/home/tuxbox/image/tftpboot/u-boot&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
 }&lt;br /&gt;
STRG+X, J, Enter zum Speichern der Änderungen&lt;br /&gt;
&lt;br /&gt;
 sudo invoke-rc.d dhcp3-server restart&lt;br /&gt;
 sudo invoke-rc.d nfs-kernel-server restart&lt;br /&gt;
 sudo invoke-rc.d openbsd-inetd restart&lt;br /&gt;
&lt;br /&gt;
Ein Yadd-Image eignet sich perfekt zum Debuggen.&lt;br /&gt;
&lt;br /&gt;
Zum Kompilieren einer Yadd-Umgebung:&lt;br /&gt;
 make yadd-neutrino&lt;br /&gt;
 make yadd-enigma&lt;br /&gt;
&lt;br /&gt;
Wenn Neutrino und Enigma gleichzeitig gewünscht sind:&lt;br /&gt;
 make yadd-neutrino yadd-enigma&lt;br /&gt;
&lt;br /&gt;
Nach dem Kompilieren die Dbox2 in den deep-standby fahren,&lt;br /&gt;
die o.g. Dienste aktivieren, ein serielles Log öffnen zum&lt;br /&gt;
Überwachen des Bootprozesses und die Dbox2 einschalten.&lt;br /&gt;
&lt;br /&gt;
=Weblinks=&lt;br /&gt;
[http://forum.tuxbox.org/forum/viewtopic.php?f=13&amp;amp;t=48503 Ursprungsthread zu diesem Howto im Tuxbox-Forum]&lt;/div&gt;</summary>
		<author><name>Rhabarber1848</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuxbox-neutrino.org/w/index.php?title=Erstellen_eines_VMWare-Images&amp;diff=13885</id>
		<title>Erstellen eines VMWare-Images</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuxbox-neutrino.org/w/index.php?title=Erstellen_eines_VMWare-Images&amp;diff=13885"/>
		<updated>2010-11-21T09:03:23Z</updated>

		<summary type="html">&lt;p&gt;Rhabarber1848: /* Tuxbox-CDK einrichten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Register]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:CDK]]&lt;br /&gt;
{{Development_sidebar}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Allgemein=&lt;br /&gt;
Als sehr nützlich für die Erstellung einer Entwicklungsumgebung hat sich das Aufsetzen einer Virtualisierung erwiesen, wenn man nicht unbedingt ein komplettes Linuxsystem einrichten möchte oder kann. Dank gestiegener Hardwareleistung, insbesondere bei Mehrkernsystemen, ist der Umgang mit solch einer Lösung fast gleichwertig und eine sehr gute Alternative zu einem echtem Linuxsystem. Vorallem Neulinge auf diesem Gebiet, bietet diese Alternative einen optimalen Einstieg.&lt;br /&gt;
Dank vorgefertigter und zum Teil für bestimmte Verwendungszwecke zugeschnittene Images, sind solche Systeme relativ schnell eingerichtet.&lt;br /&gt;
&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
Es wird davon ausgegangen, dass eine Windowsinstallation (&amp;gt;=WindowsXP) vorhanden ist und die enstprechende Hardware mit möglichst ordentlicher CPU, am besten Mehrkern-CPU's, vorhanden ist. &lt;br /&gt;
Natürlich sollte [[VMware]] installiert sein. Eine Lösung über andere Virtualisierungs-Plattformen wie sie z.B. von Sun's [[VirtualBox]] besteht,&lt;br /&gt;
ist im wesentlichen auch möglich. Andere sollten auch möglich sein, aber hierfür sind momentan keine weiteren Informationen bekannt.&lt;br /&gt;
&lt;br /&gt;
=Debian Lenny=&lt;br /&gt;
==Installation==&lt;br /&gt;
Es wird ein fertiges Image benötigt. Dafür diese Datei herunterladen:&lt;br /&gt;
&lt;br /&gt;
http://cdimage.debian.org/debian-cd/current/i386/iso-cd/debian-506-i386-netinst.iso&lt;br /&gt;
&lt;br /&gt;
===VMWare vorbereiten===&lt;br /&gt;
Einmaliger Prozess zum Erstellen des VMWare-Images:&lt;br /&gt;
&lt;br /&gt;
*Menü File, New, Virtual Machine, Weiter, Typical, Linux - Ubuntu,&lt;br /&gt;
*Speicherort auswählen, Use bridged networking, 8GB - &lt;br /&gt;
&lt;br /&gt;
Rest nicht verändern, Fertig stellen&lt;br /&gt;
&lt;br /&gt;
*Menü VM, Settings, CD-ROM - Use ISO Image&lt;br /&gt;
obiges ISO auswählen&lt;br /&gt;
&lt;br /&gt;
*Virtuelle Maschine starten&lt;br /&gt;
*Install,''' ''Enter'''''&lt;br /&gt;
*German,''' ''Enter'''''&lt;br /&gt;
*Deutschland,''' ''Enter'''''&lt;br /&gt;
*Deutsch,''' ''Enter'''''&lt;br /&gt;
(evtl. muss das Netzwerk konfiguriert werden)&lt;br /&gt;
*Rechnername tuxbox&lt;br /&gt;
*Geführt - verwende vollständige Festplatte,''' ''Enter'''''&lt;br /&gt;
'''''*Enter'''''&lt;br /&gt;
*Alle Dateien auf eine Partition,''' ''Enter'''''&lt;br /&gt;
*Partitionierung beenden und Änderungen übernehmen, ''Enter''&lt;br /&gt;
*Änderungen auf die Festplatten schreiben? Ja,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
...Grundsystem wird installiert&lt;br /&gt;
&lt;br /&gt;
*Root-Passwort vergeben&lt;br /&gt;
*Neuer Benutzer, Name:''' ''tuxbox'''''&lt;br /&gt;
*Benutzername:''' ''tuxbox'''''&lt;br /&gt;
Passwort vergeben&lt;br /&gt;
*Debian-Archiv-Spiegelserver Deutschland&lt;br /&gt;
*Server auswählen&lt;br /&gt;
*Paketverwendungserfassung nein,''' ''Enter'''''&lt;br /&gt;
*Keine Software-Sammlung auswählen&lt;br /&gt;
&lt;br /&gt;
alle Sterne entfernen,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
*Grub in Master Boot Record - Ja,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
Nach Beendigung der Installation, virtuelle Maschine neustarten!&lt;br /&gt;
&lt;br /&gt;
===Lenny einrichten===&lt;br /&gt;
Einmaliger Prozess zum Einrichten von Debian und Installieren der notwendigen Pakete:&lt;br /&gt;
&lt;br /&gt;
Innerhalb der virtuellen Maschine anmelden als User '''root'''&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get upgrade&lt;br /&gt;
 apt-get install --no-install-recommends sudo openssh-server&lt;br /&gt;
 echo &amp;quot;tuxbox ALL=(ALL) ALL&amp;quot; &amp;gt;&amp;gt; /etc/sudoers&lt;br /&gt;
 ifconfig (die IP-Adresse von eth0 merken)&lt;br /&gt;
 logout&lt;br /&gt;
&lt;br /&gt;
'''''STRG+ALT'',''' um das VMWare-Fenster wieder zu verlassen&lt;br /&gt;
&lt;br /&gt;
per SSH ('''auf Windows ist [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Putty] zu empfehlen!''') zur virtuellen Maschine unter o.g. IP verbinden als User '''tuxbox''' einloggen&lt;br /&gt;
 sudo apt-get install --no-install-recommends cvs libtool autoconf automake gettext make g++ flex bison patch bzip2 pkg-config zlib1g-dev python&lt;br /&gt;
&lt;br /&gt;
für die Freunde des Midnight-Commanders: &lt;br /&gt;
 sudo apt-get install --no-install-recommends mc&lt;br /&gt;
&lt;br /&gt;
danach aufräumen: &lt;br /&gt;
 sudo apt-get clean&lt;br /&gt;
&lt;br /&gt;
=Tuxbox-CDK einrichten=&lt;br /&gt;
Als Bespiel soll hier eine allgemeine Vorgehensweise gezeigt werden, wie man sofort loslegen könnte. Detailierte Informationen zu Bauvorgang, Optionen usw. findet man unter [[Images und Yadd's erstellen]].&lt;br /&gt;
&lt;br /&gt;
 mkdir $HOME/cvs $HOME/archive $HOME/customization $HOME/archive&lt;br /&gt;
&lt;br /&gt;
Herunterladen/Aktualisieren des Tuxbox-CVS:&lt;br /&gt;
 cd $HOME/cvs&lt;br /&gt;
 CVS_RSH=ssh cvs -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox -z3 co -P .&lt;br /&gt;
(beim ersten Mal die Frage nach RSA key fingerprint mit yes beantworten)&lt;br /&gt;
&lt;br /&gt;
Kompilieren eines Images, dafür immer ein leeres Verzeichnis nehmen:&lt;br /&gt;
&lt;br /&gt;
 cd $HOME&lt;br /&gt;
 rm -rf compile image&lt;br /&gt;
 cp -r cvs compile&lt;br /&gt;
wenn Patches eingespielt werden sollen:&lt;br /&gt;
 cd $HOME/compile&lt;br /&gt;
 patch -p0 -E -i /home/tuxbox/datei.diff&lt;br /&gt;
weiter:&lt;br /&gt;
 cd $HOME/compile/cdk&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
&lt;br /&gt;
Für eine Übersicht aller Konfigurationsoptionen:&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=$HOME/image --with-cvsdir=$HOME/compile --with-archivedir=$HOME/archive&lt;br /&gt;
&lt;br /&gt;
optional:&lt;br /&gt;
&lt;br /&gt;
--with-[http://wiki.tuxbox.org/wiki/index.php/Images_und_Yadd%27s_erstellen#--with-rootpartitionsize.3D.5BSIZE.5D rootpartitionsize]=0x460000&lt;br /&gt;
&lt;br /&gt;
--with-[http://wiki.tuxbox.org/wiki/index.php/Images_und_Yadd%27s_erstellen#--with-customizationsdir.3DDIR customizationsdir]=$HOME/customization&lt;br /&gt;
&lt;br /&gt;
Nun können Images kompiliert werden:&lt;br /&gt;
&lt;br /&gt;
 make flash-neutrino-squashfs-all&lt;br /&gt;
 make flash-enigma-squashfs-all&lt;br /&gt;
 make flash-enigma+neutrino-squashfs-all&lt;br /&gt;
&lt;br /&gt;
Das fertige Image liegt in&lt;br /&gt;
&lt;br /&gt;
 tuxbox@tuxbox:~$ ls -la $HOME/image/cdkflash/*img*&lt;br /&gt;
 -rw-r--r-- 1 tuxbox tuxbox 8257536 3. Feb 16:31 /home/tuxbox/image/cdkflash/neutrino-squashfs.img1x&lt;br /&gt;
 -rw-r--r-- 1 tuxbox tuxbox 8257536 3. Feb 16:31 /home/tuxbox/image/cdkflash/neutrino-squashfs.img2x&lt;br /&gt;
&lt;br /&gt;
=Weitere Informationen=&lt;br /&gt;
[[Images und Yadd's erstellen]]&lt;br /&gt;
=Weblinks=&lt;br /&gt;
[http://forum.tuxbox.org/forum/viewtopic.php?f=13&amp;amp;t=48503 Ursprungsthread zu diesem Howto im Tuxbox-Forum]&lt;/div&gt;</summary>
		<author><name>Rhabarber1848</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuxbox-neutrino.org/w/index.php?title=Erstellen_eines_VMWare-Images&amp;diff=13884</id>
		<title>Erstellen eines VMWare-Images</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuxbox-neutrino.org/w/index.php?title=Erstellen_eines_VMWare-Images&amp;diff=13884"/>
		<updated>2010-11-21T08:57:34Z</updated>

		<summary type="html">&lt;p&gt;Rhabarber1848: /* Tuxbox-CDK einrichten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Register]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:CDK]]&lt;br /&gt;
{{Development_sidebar}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Allgemein=&lt;br /&gt;
Als sehr nützlich für die Erstellung einer Entwicklungsumgebung hat sich das Aufsetzen einer Virtualisierung erwiesen, wenn man nicht unbedingt ein komplettes Linuxsystem einrichten möchte oder kann. Dank gestiegener Hardwareleistung, insbesondere bei Mehrkernsystemen, ist der Umgang mit solch einer Lösung fast gleichwertig und eine sehr gute Alternative zu einem echtem Linuxsystem. Vorallem Neulinge auf diesem Gebiet, bietet diese Alternative einen optimalen Einstieg.&lt;br /&gt;
Dank vorgefertigter und zum Teil für bestimmte Verwendungszwecke zugeschnittene Images, sind solche Systeme relativ schnell eingerichtet.&lt;br /&gt;
&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
Es wird davon ausgegangen, dass eine Windowsinstallation (&amp;gt;=WindowsXP) vorhanden ist und die enstprechende Hardware mit möglichst ordentlicher CPU, am besten Mehrkern-CPU's, vorhanden ist. &lt;br /&gt;
Natürlich sollte [[VMware]] installiert sein. Eine Lösung über andere Virtualisierungs-Plattformen wie sie z.B. von Sun's [[VirtualBox]] besteht,&lt;br /&gt;
ist im wesentlichen auch möglich. Andere sollten auch möglich sein, aber hierfür sind momentan keine weiteren Informationen bekannt.&lt;br /&gt;
&lt;br /&gt;
=Debian Lenny=&lt;br /&gt;
==Installation==&lt;br /&gt;
Es wird ein fertiges Image benötigt. Dafür diese Datei herunterladen:&lt;br /&gt;
&lt;br /&gt;
http://cdimage.debian.org/debian-cd/current/i386/iso-cd/debian-506-i386-netinst.iso&lt;br /&gt;
&lt;br /&gt;
===VMWare vorbereiten===&lt;br /&gt;
Einmaliger Prozess zum Erstellen des VMWare-Images:&lt;br /&gt;
&lt;br /&gt;
*Menü File, New, Virtual Machine, Weiter, Typical, Linux - Ubuntu,&lt;br /&gt;
*Speicherort auswählen, Use bridged networking, 8GB - &lt;br /&gt;
&lt;br /&gt;
Rest nicht verändern, Fertig stellen&lt;br /&gt;
&lt;br /&gt;
*Menü VM, Settings, CD-ROM - Use ISO Image&lt;br /&gt;
obiges ISO auswählen&lt;br /&gt;
&lt;br /&gt;
*Virtuelle Maschine starten&lt;br /&gt;
*Install,''' ''Enter'''''&lt;br /&gt;
*German,''' ''Enter'''''&lt;br /&gt;
*Deutschland,''' ''Enter'''''&lt;br /&gt;
*Deutsch,''' ''Enter'''''&lt;br /&gt;
(evtl. muss das Netzwerk konfiguriert werden)&lt;br /&gt;
*Rechnername tuxbox&lt;br /&gt;
*Geführt - verwende vollständige Festplatte,''' ''Enter'''''&lt;br /&gt;
'''''*Enter'''''&lt;br /&gt;
*Alle Dateien auf eine Partition,''' ''Enter'''''&lt;br /&gt;
*Partitionierung beenden und Änderungen übernehmen, ''Enter''&lt;br /&gt;
*Änderungen auf die Festplatten schreiben? Ja,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
...Grundsystem wird installiert&lt;br /&gt;
&lt;br /&gt;
*Root-Passwort vergeben&lt;br /&gt;
*Neuer Benutzer, Name:''' ''tuxbox'''''&lt;br /&gt;
*Benutzername:''' ''tuxbox'''''&lt;br /&gt;
Passwort vergeben&lt;br /&gt;
*Debian-Archiv-Spiegelserver Deutschland&lt;br /&gt;
*Server auswählen&lt;br /&gt;
*Paketverwendungserfassung nein,''' ''Enter'''''&lt;br /&gt;
*Keine Software-Sammlung auswählen&lt;br /&gt;
&lt;br /&gt;
alle Sterne entfernen,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
*Grub in Master Boot Record - Ja,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
Nach Beendigung der Installation, virtuelle Maschine neustarten!&lt;br /&gt;
&lt;br /&gt;
===Lenny einrichten===&lt;br /&gt;
Einmaliger Prozess zum Einrichten von Debian und Installieren der notwendigen Pakete:&lt;br /&gt;
&lt;br /&gt;
Innerhalb der virtuellen Maschine anmelden als User '''root'''&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get upgrade&lt;br /&gt;
 apt-get install --no-install-recommends sudo openssh-server&lt;br /&gt;
 echo &amp;quot;tuxbox ALL=(ALL) ALL&amp;quot; &amp;gt;&amp;gt; /etc/sudoers&lt;br /&gt;
 ifconfig (die IP-Adresse von eth0 merken)&lt;br /&gt;
 logout&lt;br /&gt;
&lt;br /&gt;
'''''STRG+ALT'',''' um das VMWare-Fenster wieder zu verlassen&lt;br /&gt;
&lt;br /&gt;
per SSH ('''auf Windows ist [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Putty] zu empfehlen!''') zur virtuellen Maschine unter o.g. IP verbinden als User '''tuxbox''' einloggen&lt;br /&gt;
 sudo apt-get install --no-install-recommends cvs libtool autoconf automake gettext make g++ flex bison patch bzip2 pkg-config zlib1g-dev python&lt;br /&gt;
&lt;br /&gt;
für die Freunde des Midnight-Commanders: &lt;br /&gt;
 sudo apt-get install --no-install-recommends mc&lt;br /&gt;
&lt;br /&gt;
danach aufräumen: &lt;br /&gt;
 sudo apt-get clean&lt;br /&gt;
&lt;br /&gt;
=Tuxbox-CDK einrichten=&lt;br /&gt;
Als Bespiel soll hier eine allgemeine Vorgehensweise gezeigt werden, wie man sofort loslegen könnte. Detailierte Informationen zu Bauvorgang, Optionen usw. findet man unter [[Images und Yadd's erstellen]].&lt;br /&gt;
&lt;br /&gt;
 mkdir $HOME/cvs $HOME/archive $HOME/customization $HOME/archive&lt;br /&gt;
&lt;br /&gt;
Herunterladen/Aktualisieren des Tuxbox-CVS:&lt;br /&gt;
 cd $HOME/cvs&lt;br /&gt;
 CVS_RSH=ssh cvs -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox -z3 co -P .&lt;br /&gt;
(beim ersten Mal die Frage nach RSA key fingerprint mit yes beantworten)&lt;br /&gt;
&lt;br /&gt;
Kompilieren eines Images, dafür immer ein leeres Verzeichnis nehmen:&lt;br /&gt;
&lt;br /&gt;
 cd $HOME&lt;br /&gt;
 rm -rf compile image&lt;br /&gt;
 cp -r cvs compile&lt;br /&gt;
wenn Patches eingespielt werden sollen:&lt;br /&gt;
 cd $HOME/compile&lt;br /&gt;
 patch -p0 -E -i /home/tuxbox/datei.diff&lt;br /&gt;
weiter:&lt;br /&gt;
 cd $HOME/compile/cdk&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
&lt;br /&gt;
Für eine Übersicht aller Konfigurationsoptionen:&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=$HOME/image --with-cvsdir=$HOME/compile --with-archivedir=$HOME/archive&lt;br /&gt;
&lt;br /&gt;
optional: &lt;br /&gt;
 --with-rootpartitionsize=0x460000&lt;br /&gt;
 --with-customizationsdir=$HOME/customization&lt;br /&gt;
&lt;br /&gt;
Nun können Images kompiliert werden:&lt;br /&gt;
&lt;br /&gt;
 make flash-neutrino-squashfs-all&lt;br /&gt;
 make flash-enigma-squashfs-all&lt;br /&gt;
 make flash-enigma+neutrino-squashfs-all&lt;br /&gt;
&lt;br /&gt;
Das fertige Image liegt in&lt;br /&gt;
&lt;br /&gt;
 tuxbox@tuxbox:~$ ls -la $HOME/image/cdkflash/*img*&lt;br /&gt;
 -rw-r--r-- 1 tuxbox tuxbox 8257536 3. Feb 16:31 /home/tuxbox/image/cdkflash/neutrino-squashfs.img1x&lt;br /&gt;
 -rw-r--r-- 1 tuxbox tuxbox 8257536 3. Feb 16:31 /home/tuxbox/image/cdkflash/neutrino-squashfs.img2x&lt;br /&gt;
&lt;br /&gt;
=Weitere Informationen=&lt;br /&gt;
[[Images und Yadd's erstellen]]&lt;br /&gt;
=Weblinks=&lt;br /&gt;
[http://forum.tuxbox.org/forum/viewtopic.php?f=13&amp;amp;t=48503 Ursprungsthread zu diesem Howto im Tuxbox-Forum]&lt;/div&gt;</summary>
		<author><name>Rhabarber1848</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuxbox-neutrino.org/w/index.php?title=Erstellen_eines_VMWare-Images&amp;diff=13883</id>
		<title>Erstellen eines VMWare-Images</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuxbox-neutrino.org/w/index.php?title=Erstellen_eines_VMWare-Images&amp;diff=13883"/>
		<updated>2010-11-21T08:56:28Z</updated>

		<summary type="html">&lt;p&gt;Rhabarber1848: /* Lenny einrichten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Register]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:CDK]]&lt;br /&gt;
{{Development_sidebar}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Allgemein=&lt;br /&gt;
Als sehr nützlich für die Erstellung einer Entwicklungsumgebung hat sich das Aufsetzen einer Virtualisierung erwiesen, wenn man nicht unbedingt ein komplettes Linuxsystem einrichten möchte oder kann. Dank gestiegener Hardwareleistung, insbesondere bei Mehrkernsystemen, ist der Umgang mit solch einer Lösung fast gleichwertig und eine sehr gute Alternative zu einem echtem Linuxsystem. Vorallem Neulinge auf diesem Gebiet, bietet diese Alternative einen optimalen Einstieg.&lt;br /&gt;
Dank vorgefertigter und zum Teil für bestimmte Verwendungszwecke zugeschnittene Images, sind solche Systeme relativ schnell eingerichtet.&lt;br /&gt;
&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
Es wird davon ausgegangen, dass eine Windowsinstallation (&amp;gt;=WindowsXP) vorhanden ist und die enstprechende Hardware mit möglichst ordentlicher CPU, am besten Mehrkern-CPU's, vorhanden ist. &lt;br /&gt;
Natürlich sollte [[VMware]] installiert sein. Eine Lösung über andere Virtualisierungs-Plattformen wie sie z.B. von Sun's [[VirtualBox]] besteht,&lt;br /&gt;
ist im wesentlichen auch möglich. Andere sollten auch möglich sein, aber hierfür sind momentan keine weiteren Informationen bekannt.&lt;br /&gt;
&lt;br /&gt;
=Debian Lenny=&lt;br /&gt;
==Installation==&lt;br /&gt;
Es wird ein fertiges Image benötigt. Dafür diese Datei herunterladen:&lt;br /&gt;
&lt;br /&gt;
http://cdimage.debian.org/debian-cd/current/i386/iso-cd/debian-506-i386-netinst.iso&lt;br /&gt;
&lt;br /&gt;
===VMWare vorbereiten===&lt;br /&gt;
Einmaliger Prozess zum Erstellen des VMWare-Images:&lt;br /&gt;
&lt;br /&gt;
*Menü File, New, Virtual Machine, Weiter, Typical, Linux - Ubuntu,&lt;br /&gt;
*Speicherort auswählen, Use bridged networking, 8GB - &lt;br /&gt;
&lt;br /&gt;
Rest nicht verändern, Fertig stellen&lt;br /&gt;
&lt;br /&gt;
*Menü VM, Settings, CD-ROM - Use ISO Image&lt;br /&gt;
obiges ISO auswählen&lt;br /&gt;
&lt;br /&gt;
*Virtuelle Maschine starten&lt;br /&gt;
*Install,''' ''Enter'''''&lt;br /&gt;
*German,''' ''Enter'''''&lt;br /&gt;
*Deutschland,''' ''Enter'''''&lt;br /&gt;
*Deutsch,''' ''Enter'''''&lt;br /&gt;
(evtl. muss das Netzwerk konfiguriert werden)&lt;br /&gt;
*Rechnername tuxbox&lt;br /&gt;
*Geführt - verwende vollständige Festplatte,''' ''Enter'''''&lt;br /&gt;
'''''*Enter'''''&lt;br /&gt;
*Alle Dateien auf eine Partition,''' ''Enter'''''&lt;br /&gt;
*Partitionierung beenden und Änderungen übernehmen, ''Enter''&lt;br /&gt;
*Änderungen auf die Festplatten schreiben? Ja,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
...Grundsystem wird installiert&lt;br /&gt;
&lt;br /&gt;
*Root-Passwort vergeben&lt;br /&gt;
*Neuer Benutzer, Name:''' ''tuxbox'''''&lt;br /&gt;
*Benutzername:''' ''tuxbox'''''&lt;br /&gt;
Passwort vergeben&lt;br /&gt;
*Debian-Archiv-Spiegelserver Deutschland&lt;br /&gt;
*Server auswählen&lt;br /&gt;
*Paketverwendungserfassung nein,''' ''Enter'''''&lt;br /&gt;
*Keine Software-Sammlung auswählen&lt;br /&gt;
&lt;br /&gt;
alle Sterne entfernen,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
*Grub in Master Boot Record - Ja,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
Nach Beendigung der Installation, virtuelle Maschine neustarten!&lt;br /&gt;
&lt;br /&gt;
===Lenny einrichten===&lt;br /&gt;
Einmaliger Prozess zum Einrichten von Debian und Installieren der notwendigen Pakete:&lt;br /&gt;
&lt;br /&gt;
Innerhalb der virtuellen Maschine anmelden als User '''root'''&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get upgrade&lt;br /&gt;
 apt-get install --no-install-recommends sudo openssh-server&lt;br /&gt;
 echo &amp;quot;tuxbox ALL=(ALL) ALL&amp;quot; &amp;gt;&amp;gt; /etc/sudoers&lt;br /&gt;
 ifconfig (die IP-Adresse von eth0 merken)&lt;br /&gt;
 logout&lt;br /&gt;
&lt;br /&gt;
'''''STRG+ALT'',''' um das VMWare-Fenster wieder zu verlassen&lt;br /&gt;
&lt;br /&gt;
per SSH ('''auf Windows ist [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Putty] zu empfehlen!''') zur virtuellen Maschine unter o.g. IP verbinden als User '''tuxbox''' einloggen&lt;br /&gt;
 sudo apt-get install --no-install-recommends cvs libtool autoconf automake gettext make g++ flex bison patch bzip2 pkg-config zlib1g-dev python&lt;br /&gt;
&lt;br /&gt;
für die Freunde des Midnight-Commanders: &lt;br /&gt;
 sudo apt-get install --no-install-recommends mc&lt;br /&gt;
&lt;br /&gt;
danach aufräumen: &lt;br /&gt;
 sudo apt-get clean&lt;br /&gt;
&lt;br /&gt;
=Tuxbox-CDK einrichten=&lt;br /&gt;
Als Bespiel soll hier eine allgemeine Vorgehensweise gezeigt werden, wie man sofort loslegen könnte. Detailierte Informationen zu Bauvorgang, Optionen usw. findet man unter [[Images und Yadd's erstellen]].&lt;br /&gt;
&lt;br /&gt;
 mkdir $HOME/cvs $HOME/archive $HOME/customization $HOME/archive&lt;br /&gt;
&lt;br /&gt;
Herunterladen/Aktualisieren des Tuxbox-CVS:&lt;br /&gt;
 cd $HOME/cvs&lt;br /&gt;
 CVS_RSH=ssh cvs -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox -z3 co -P .&lt;br /&gt;
(beim ersten Mal die Frage nach RSA key fingerprint mit yes beantworten)&lt;br /&gt;
&lt;br /&gt;
Kompilieren eines Images, dafür immer ein leeres Verzeichnis nehmen:&lt;br /&gt;
&lt;br /&gt;
 cd $HOME&lt;br /&gt;
 rm -rf compile image&lt;br /&gt;
 cp -r cvs compile&lt;br /&gt;
wenn Patches eingespielt werden sollen:&lt;br /&gt;
 cd $HOME/compile&lt;br /&gt;
 patch -p0 -E -i /home/tuxbox/datei.diff&lt;br /&gt;
weiter:&lt;br /&gt;
 cd $HOME/compile/cdk&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
&lt;br /&gt;
Für eine Übersicht aller Konfigurationsoptionen:&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=$HOME/image --with-cvsdir=$HOME/compile --with-archivedir=$HOME/archive --with-checkImage=rename&lt;br /&gt;
&lt;br /&gt;
optional: &lt;br /&gt;
 --with-rootpartitionsize=0x460000&lt;br /&gt;
 --with-customizationsdir=$HOME/customization&lt;br /&gt;
&lt;br /&gt;
Nun können Images kompiliert werden:&lt;br /&gt;
&lt;br /&gt;
 make flash-neutrino-squashfs-all&lt;br /&gt;
 make flash-enigma-squashfs-all&lt;br /&gt;
 make flash-enigma+neutrino-squashfs-all&lt;br /&gt;
&lt;br /&gt;
Das fertige Image liegt in&lt;br /&gt;
&lt;br /&gt;
 tuxbox@tuxbox:~$ ls -la $HOME/image/cdkflash/*img*&lt;br /&gt;
 -rw-r--r-- 1 tuxbox tuxbox 8257536 3. Feb 16:31 /home/tuxbox/image/cdkflash/neutrino-squashfs.img1x&lt;br /&gt;
 -rw-r--r-- 1 tuxbox tuxbox 8257536 3. Feb 16:31 /home/tuxbox/image/cdkflash/neutrino-squashfs.img2x&lt;br /&gt;
&lt;br /&gt;
=Weitere Informationen=&lt;br /&gt;
[[Images und Yadd's erstellen]]&lt;br /&gt;
=Weblinks=&lt;br /&gt;
[http://forum.tuxbox.org/forum/viewtopic.php?f=13&amp;amp;t=48503 Ursprungsthread zu diesem Howto im Tuxbox-Forum]&lt;/div&gt;</summary>
		<author><name>Rhabarber1848</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuxbox-neutrino.org/w/index.php?title=Erstellen_eines_VMWare-Images&amp;diff=13882</id>
		<title>Erstellen eines VMWare-Images</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuxbox-neutrino.org/w/index.php?title=Erstellen_eines_VMWare-Images&amp;diff=13882"/>
		<updated>2010-11-21T08:55:33Z</updated>

		<summary type="html">&lt;p&gt;Rhabarber1848: /* Lenny einrichten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Register]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:CDK]]&lt;br /&gt;
{{Development_sidebar}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Allgemein=&lt;br /&gt;
Als sehr nützlich für die Erstellung einer Entwicklungsumgebung hat sich das Aufsetzen einer Virtualisierung erwiesen, wenn man nicht unbedingt ein komplettes Linuxsystem einrichten möchte oder kann. Dank gestiegener Hardwareleistung, insbesondere bei Mehrkernsystemen, ist der Umgang mit solch einer Lösung fast gleichwertig und eine sehr gute Alternative zu einem echtem Linuxsystem. Vorallem Neulinge auf diesem Gebiet, bietet diese Alternative einen optimalen Einstieg.&lt;br /&gt;
Dank vorgefertigter und zum Teil für bestimmte Verwendungszwecke zugeschnittene Images, sind solche Systeme relativ schnell eingerichtet.&lt;br /&gt;
&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
Es wird davon ausgegangen, dass eine Windowsinstallation (&amp;gt;=WindowsXP) vorhanden ist und die enstprechende Hardware mit möglichst ordentlicher CPU, am besten Mehrkern-CPU's, vorhanden ist. &lt;br /&gt;
Natürlich sollte [[VMware]] installiert sein. Eine Lösung über andere Virtualisierungs-Plattformen wie sie z.B. von Sun's [[VirtualBox]] besteht,&lt;br /&gt;
ist im wesentlichen auch möglich. Andere sollten auch möglich sein, aber hierfür sind momentan keine weiteren Informationen bekannt.&lt;br /&gt;
&lt;br /&gt;
=Debian Lenny=&lt;br /&gt;
==Installation==&lt;br /&gt;
Es wird ein fertiges Image benötigt. Dafür diese Datei herunterladen:&lt;br /&gt;
&lt;br /&gt;
http://cdimage.debian.org/debian-cd/current/i386/iso-cd/debian-506-i386-netinst.iso&lt;br /&gt;
&lt;br /&gt;
===VMWare vorbereiten===&lt;br /&gt;
Einmaliger Prozess zum Erstellen des VMWare-Images:&lt;br /&gt;
&lt;br /&gt;
*Menü File, New, Virtual Machine, Weiter, Typical, Linux - Ubuntu,&lt;br /&gt;
*Speicherort auswählen, Use bridged networking, 8GB - &lt;br /&gt;
&lt;br /&gt;
Rest nicht verändern, Fertig stellen&lt;br /&gt;
&lt;br /&gt;
*Menü VM, Settings, CD-ROM - Use ISO Image&lt;br /&gt;
obiges ISO auswählen&lt;br /&gt;
&lt;br /&gt;
*Virtuelle Maschine starten&lt;br /&gt;
*Install,''' ''Enter'''''&lt;br /&gt;
*German,''' ''Enter'''''&lt;br /&gt;
*Deutschland,''' ''Enter'''''&lt;br /&gt;
*Deutsch,''' ''Enter'''''&lt;br /&gt;
(evtl. muss das Netzwerk konfiguriert werden)&lt;br /&gt;
*Rechnername tuxbox&lt;br /&gt;
*Geführt - verwende vollständige Festplatte,''' ''Enter'''''&lt;br /&gt;
'''''*Enter'''''&lt;br /&gt;
*Alle Dateien auf eine Partition,''' ''Enter'''''&lt;br /&gt;
*Partitionierung beenden und Änderungen übernehmen, ''Enter''&lt;br /&gt;
*Änderungen auf die Festplatten schreiben? Ja,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
...Grundsystem wird installiert&lt;br /&gt;
&lt;br /&gt;
*Root-Passwort vergeben&lt;br /&gt;
*Neuer Benutzer, Name:''' ''tuxbox'''''&lt;br /&gt;
*Benutzername:''' ''tuxbox'''''&lt;br /&gt;
Passwort vergeben&lt;br /&gt;
*Debian-Archiv-Spiegelserver Deutschland&lt;br /&gt;
*Server auswählen&lt;br /&gt;
*Paketverwendungserfassung nein,''' ''Enter'''''&lt;br /&gt;
*Keine Software-Sammlung auswählen&lt;br /&gt;
&lt;br /&gt;
alle Sterne entfernen,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
*Grub in Master Boot Record - Ja,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
Nach Beendigung der Installation, virtuelle Maschine neustarten!&lt;br /&gt;
&lt;br /&gt;
===Lenny einrichten===&lt;br /&gt;
Einmaliger Prozess zum Einrichten von Debian und Installieren der notwendigen Pakete:&lt;br /&gt;
&lt;br /&gt;
Innerhalb der virtuellen Maschine anmelden als User '''root'''&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get upgrade&lt;br /&gt;
 apt-get install --no-install-recommends sudo openssh-server&lt;br /&gt;
 echo &amp;quot;tuxbox ALL=(ALL) ALL&amp;quot; &amp;gt;&amp;gt; /etc/sudoers&lt;br /&gt;
 ifconfig (die IP-Adresse von eth0 merken)&lt;br /&gt;
 logout&lt;br /&gt;
&lt;br /&gt;
'''''STRG+ALT'',''' um das VMWare-Fenster wieder zu verlassen&lt;br /&gt;
&lt;br /&gt;
per SSH* zur virtuellen Maschine unter o.g. IP verbinden als User '''tuxbox''' einloggen&lt;br /&gt;
 sudo apt-get install --no-install-recommends cvs libtool autoconf automake gettext make g++ flex bison patch bzip2 pkg-config zlib1g-dev python&lt;br /&gt;
&lt;br /&gt;
für die Freunde des Midnight-Commanders: &lt;br /&gt;
 sudo apt-get install --no-install-recommends mc&lt;br /&gt;
&lt;br /&gt;
danach aufräumen: &lt;br /&gt;
 sudo apt-get clean&lt;br /&gt;
&lt;br /&gt;
'''Auf Windows ist [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Putty] zu empfehlen!'''&lt;br /&gt;
&lt;br /&gt;
=Tuxbox-CDK einrichten=&lt;br /&gt;
Als Bespiel soll hier eine allgemeine Vorgehensweise gezeigt werden, wie man sofort loslegen könnte. Detailierte Informationen zu Bauvorgang, Optionen usw. findet man unter [[Images und Yadd's erstellen]].&lt;br /&gt;
&lt;br /&gt;
 mkdir $HOME/cvs $HOME/archive $HOME/customization $HOME/archive&lt;br /&gt;
&lt;br /&gt;
Herunterladen/Aktualisieren des Tuxbox-CVS:&lt;br /&gt;
 cd $HOME/cvs&lt;br /&gt;
 CVS_RSH=ssh cvs -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox -z3 co -P .&lt;br /&gt;
(beim ersten Mal die Frage nach RSA key fingerprint mit yes beantworten)&lt;br /&gt;
&lt;br /&gt;
Kompilieren eines Images, dafür immer ein leeres Verzeichnis nehmen:&lt;br /&gt;
&lt;br /&gt;
 cd $HOME&lt;br /&gt;
 rm -rf compile image&lt;br /&gt;
 cp -r cvs compile&lt;br /&gt;
wenn Patches eingespielt werden sollen:&lt;br /&gt;
 cd $HOME/compile&lt;br /&gt;
 patch -p0 -E -i /home/tuxbox/datei.diff&lt;br /&gt;
weiter:&lt;br /&gt;
 cd $HOME/compile/cdk&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
&lt;br /&gt;
Für eine Übersicht aller Konfigurationsoptionen:&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=$HOME/image --with-cvsdir=$HOME/compile --with-archivedir=$HOME/archive --with-checkImage=rename&lt;br /&gt;
&lt;br /&gt;
optional: &lt;br /&gt;
 --with-rootpartitionsize=0x460000&lt;br /&gt;
 --with-customizationsdir=$HOME/customization&lt;br /&gt;
&lt;br /&gt;
Nun können Images kompiliert werden:&lt;br /&gt;
&lt;br /&gt;
 make flash-neutrino-squashfs-all&lt;br /&gt;
 make flash-enigma-squashfs-all&lt;br /&gt;
 make flash-enigma+neutrino-squashfs-all&lt;br /&gt;
&lt;br /&gt;
Das fertige Image liegt in&lt;br /&gt;
&lt;br /&gt;
 tuxbox@tuxbox:~$ ls -la $HOME/image/cdkflash/*img*&lt;br /&gt;
 -rw-r--r-- 1 tuxbox tuxbox 8257536 3. Feb 16:31 /home/tuxbox/image/cdkflash/neutrino-squashfs.img1x&lt;br /&gt;
 -rw-r--r-- 1 tuxbox tuxbox 8257536 3. Feb 16:31 /home/tuxbox/image/cdkflash/neutrino-squashfs.img2x&lt;br /&gt;
&lt;br /&gt;
=Weitere Informationen=&lt;br /&gt;
[[Images und Yadd's erstellen]]&lt;br /&gt;
=Weblinks=&lt;br /&gt;
[http://forum.tuxbox.org/forum/viewtopic.php?f=13&amp;amp;t=48503 Ursprungsthread zu diesem Howto im Tuxbox-Forum]&lt;/div&gt;</summary>
		<author><name>Rhabarber1848</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuxbox-neutrino.org/w/index.php?title=Erstellen_eines_VMWare-Images&amp;diff=13881</id>
		<title>Erstellen eines VMWare-Images</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuxbox-neutrino.org/w/index.php?title=Erstellen_eines_VMWare-Images&amp;diff=13881"/>
		<updated>2010-11-21T08:54:42Z</updated>

		<summary type="html">&lt;p&gt;Rhabarber1848: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Register]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:CDK]]&lt;br /&gt;
{{Development_sidebar}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Allgemein=&lt;br /&gt;
Als sehr nützlich für die Erstellung einer Entwicklungsumgebung hat sich das Aufsetzen einer Virtualisierung erwiesen, wenn man nicht unbedingt ein komplettes Linuxsystem einrichten möchte oder kann. Dank gestiegener Hardwareleistung, insbesondere bei Mehrkernsystemen, ist der Umgang mit solch einer Lösung fast gleichwertig und eine sehr gute Alternative zu einem echtem Linuxsystem. Vorallem Neulinge auf diesem Gebiet, bietet diese Alternative einen optimalen Einstieg.&lt;br /&gt;
Dank vorgefertigter und zum Teil für bestimmte Verwendungszwecke zugeschnittene Images, sind solche Systeme relativ schnell eingerichtet.&lt;br /&gt;
&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
Es wird davon ausgegangen, dass eine Windowsinstallation (&amp;gt;=WindowsXP) vorhanden ist und die enstprechende Hardware mit möglichst ordentlicher CPU, am besten Mehrkern-CPU's, vorhanden ist. &lt;br /&gt;
Natürlich sollte [[VMware]] installiert sein. Eine Lösung über andere Virtualisierungs-Plattformen wie sie z.B. von Sun's [[VirtualBox]] besteht,&lt;br /&gt;
ist im wesentlichen auch möglich. Andere sollten auch möglich sein, aber hierfür sind momentan keine weiteren Informationen bekannt.&lt;br /&gt;
&lt;br /&gt;
=Debian Lenny=&lt;br /&gt;
==Installation==&lt;br /&gt;
Es wird ein fertiges Image benötigt. Dafür diese Datei herunterladen:&lt;br /&gt;
&lt;br /&gt;
http://cdimage.debian.org/debian-cd/current/i386/iso-cd/debian-506-i386-netinst.iso&lt;br /&gt;
&lt;br /&gt;
===VMWare vorbereiten===&lt;br /&gt;
Einmaliger Prozess zum Erstellen des VMWare-Images:&lt;br /&gt;
&lt;br /&gt;
*Menü File, New, Virtual Machine, Weiter, Typical, Linux - Ubuntu,&lt;br /&gt;
*Speicherort auswählen, Use bridged networking, 8GB - &lt;br /&gt;
&lt;br /&gt;
Rest nicht verändern, Fertig stellen&lt;br /&gt;
&lt;br /&gt;
*Menü VM, Settings, CD-ROM - Use ISO Image&lt;br /&gt;
obiges ISO auswählen&lt;br /&gt;
&lt;br /&gt;
*Virtuelle Maschine starten&lt;br /&gt;
*Install,''' ''Enter'''''&lt;br /&gt;
*German,''' ''Enter'''''&lt;br /&gt;
*Deutschland,''' ''Enter'''''&lt;br /&gt;
*Deutsch,''' ''Enter'''''&lt;br /&gt;
(evtl. muss das Netzwerk konfiguriert werden)&lt;br /&gt;
*Rechnername tuxbox&lt;br /&gt;
*Geführt - verwende vollständige Festplatte,''' ''Enter'''''&lt;br /&gt;
'''''*Enter'''''&lt;br /&gt;
*Alle Dateien auf eine Partition,''' ''Enter'''''&lt;br /&gt;
*Partitionierung beenden und Änderungen übernehmen, ''Enter''&lt;br /&gt;
*Änderungen auf die Festplatten schreiben? Ja,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
...Grundsystem wird installiert&lt;br /&gt;
&lt;br /&gt;
*Root-Passwort vergeben&lt;br /&gt;
*Neuer Benutzer, Name:''' ''tuxbox'''''&lt;br /&gt;
*Benutzername:''' ''tuxbox'''''&lt;br /&gt;
Passwort vergeben&lt;br /&gt;
*Debian-Archiv-Spiegelserver Deutschland&lt;br /&gt;
*Server auswählen&lt;br /&gt;
*Paketverwendungserfassung nein,''' ''Enter'''''&lt;br /&gt;
*Keine Software-Sammlung auswählen&lt;br /&gt;
&lt;br /&gt;
alle Sterne entfernen,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
*Grub in Master Boot Record - Ja,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
Nach Beendigung der Installation, virtuelle Maschine neustarten!&lt;br /&gt;
&lt;br /&gt;
===Lenny einrichten===&lt;br /&gt;
Einmaliger Prozess zum Einrichten von Debian und Installieren der notwendigen Pakete:&lt;br /&gt;
&lt;br /&gt;
Innerhalb der virtuellen Maschine anmelden als User '''root'''&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get upgrade&lt;br /&gt;
 apt-get install --no-install-recommends sudo openssh-server&lt;br /&gt;
 echo &amp;quot;tuxbox ALL=(ALL) ALL&amp;quot; &amp;gt;&amp;gt; /etc/sudoers&lt;br /&gt;
 ifconfig (die IP-Adresse von eth0 merken)&lt;br /&gt;
 logout&lt;br /&gt;
&lt;br /&gt;
'''''STRG+ALT'',''' um das VMWare-Fenster wieder zu verlassen&lt;br /&gt;
&lt;br /&gt;
per SSH* zur virtuellen Maschine unter o.g. IP verbinden als User '''tuxbox''' einloggen&lt;br /&gt;
 sudo apt-get install --no-install-recommends cvs libtool autoconf automake gettext make g++ flex bison patch bzip2 pkg-config zlib1g-dev python&lt;br /&gt;
&lt;br /&gt;
für die Freunde des Midnight-Commanders: &lt;br /&gt;
 sudo apt-get install --no-install-recommends mc&lt;br /&gt;
&lt;br /&gt;
'''Auf Windows ist [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Putty] zu empfehlen!'''&lt;br /&gt;
&lt;br /&gt;
=Tuxbox-CDK einrichten=&lt;br /&gt;
Als Bespiel soll hier eine allgemeine Vorgehensweise gezeigt werden, wie man sofort loslegen könnte. Detailierte Informationen zu Bauvorgang, Optionen usw. findet man unter [[Images und Yadd's erstellen]].&lt;br /&gt;
&lt;br /&gt;
 mkdir $HOME/cvs $HOME/archive $HOME/customization $HOME/archive&lt;br /&gt;
&lt;br /&gt;
Herunterladen/Aktualisieren des Tuxbox-CVS:&lt;br /&gt;
 cd $HOME/cvs&lt;br /&gt;
 CVS_RSH=ssh cvs -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox -z3 co -P .&lt;br /&gt;
(beim ersten Mal die Frage nach RSA key fingerprint mit yes beantworten)&lt;br /&gt;
&lt;br /&gt;
Kompilieren eines Images, dafür immer ein leeres Verzeichnis nehmen:&lt;br /&gt;
&lt;br /&gt;
 cd $HOME&lt;br /&gt;
 rm -rf compile image&lt;br /&gt;
 cp -r cvs compile&lt;br /&gt;
wenn Patches eingespielt werden sollen:&lt;br /&gt;
 cd $HOME/compile&lt;br /&gt;
 patch -p0 -E -i /home/tuxbox/datei.diff&lt;br /&gt;
weiter:&lt;br /&gt;
 cd $HOME/compile/cdk&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
&lt;br /&gt;
Für eine Übersicht aller Konfigurationsoptionen:&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=$HOME/image --with-cvsdir=$HOME/compile --with-archivedir=$HOME/archive --with-checkImage=rename&lt;br /&gt;
&lt;br /&gt;
optional: &lt;br /&gt;
 --with-rootpartitionsize=0x460000&lt;br /&gt;
 --with-customizationsdir=$HOME/customization&lt;br /&gt;
&lt;br /&gt;
Nun können Images kompiliert werden:&lt;br /&gt;
&lt;br /&gt;
 make flash-neutrino-squashfs-all&lt;br /&gt;
 make flash-enigma-squashfs-all&lt;br /&gt;
 make flash-enigma+neutrino-squashfs-all&lt;br /&gt;
&lt;br /&gt;
Das fertige Image liegt in&lt;br /&gt;
&lt;br /&gt;
 tuxbox@tuxbox:~$ ls -la $HOME/image/cdkflash/*img*&lt;br /&gt;
 -rw-r--r-- 1 tuxbox tuxbox 8257536 3. Feb 16:31 /home/tuxbox/image/cdkflash/neutrino-squashfs.img1x&lt;br /&gt;
 -rw-r--r-- 1 tuxbox tuxbox 8257536 3. Feb 16:31 /home/tuxbox/image/cdkflash/neutrino-squashfs.img2x&lt;br /&gt;
&lt;br /&gt;
=Weitere Informationen=&lt;br /&gt;
[[Images und Yadd's erstellen]]&lt;br /&gt;
=Weblinks=&lt;br /&gt;
[http://forum.tuxbox.org/forum/viewtopic.php?f=13&amp;amp;t=48503 Ursprungsthread zu diesem Howto im Tuxbox-Forum]&lt;/div&gt;</summary>
		<author><name>Rhabarber1848</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuxbox-neutrino.org/w/index.php?title=Erstellen_eines_VMWare-Images&amp;diff=12766</id>
		<title>Erstellen eines VMWare-Images</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuxbox-neutrino.org/w/index.php?title=Erstellen_eines_VMWare-Images&amp;diff=12766"/>
		<updated>2010-04-05T19:34:35Z</updated>

		<summary type="html">&lt;p&gt;Rhabarber1848: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Register]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:CDK]]&lt;br /&gt;
{{Development_sidebar}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Allgemein=&lt;br /&gt;
Als sehr nützlich für die Erstellung einer Entwicklungsumgebung hat sich das Aufsetzen einer Virtualisierung erwiesen, wenn man nicht unbedingt ein komplettes Linuxsystem einrichten möchte oder kann. Dank gestiegener Hardwareleistung, insbesondere bei Mehrkernsystemen, ist der Umgang mit solch einer Lösung fast gleichwertig und eine sehr gute Alternative zu einem echtem Linuxsystem. Vorallem Neulinge auf diesem Gebiet, bietet diese Alternative einen optimalen Einstieg.&lt;br /&gt;
Dank vorgefertigter und zum Teil für bestimmte Verwendungszwecke zugeschnittene Images, sind solche Systeme relativ schnell eingerichtet.&lt;br /&gt;
&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
Es wird davon ausgegangen, dass eine Windowsinstallation (&amp;gt;=WindowsXP) vorhanden ist und die enstprechende Hardware mit möglichst ordentlicher CPU, am besten Mehrkern-CPU's, vorhanden ist. &lt;br /&gt;
Natürlich sollte [[VMware]] installiert sein. Eine Lösung über andere Virtualisierungs-Plattformen wie sie z.B. von Sun's [[VirtualBox]] besteht,&lt;br /&gt;
ist im wesentlichen auch möglich. Andere sollten auch möglich sein, aber hierfür sind momentan keine weiteren Informationen bekannt.&lt;br /&gt;
&lt;br /&gt;
=Debian Lenny=&lt;br /&gt;
==Installation==&lt;br /&gt;
Es wird ein fertiges Image benötigt. Dafür diese Datei herunterladen:&lt;br /&gt;
&lt;br /&gt;
http://cdimage.debian.org/debian-cd/current/i386/iso-cd/debian-504-i386-netinst.iso&lt;br /&gt;
&lt;br /&gt;
===VMWare vorbereiten===&lt;br /&gt;
Einmaliger Prozess zum Erstellen des VMWare-Images:&lt;br /&gt;
&lt;br /&gt;
*Menü File, New, Virtual Machine, Weiter, Typical, Linux - Ubuntu,&lt;br /&gt;
*Speicherort auswählen, Use bridged networking, 8GB - &lt;br /&gt;
&lt;br /&gt;
Rest nicht verändern, Fertig stellen&lt;br /&gt;
&lt;br /&gt;
*Menü VM, Settings, CD-ROM - Use ISO Image&lt;br /&gt;
obiges ISO auswählen&lt;br /&gt;
&lt;br /&gt;
*Virtuelle Maschine starten&lt;br /&gt;
*Install,''' ''Enter'''''&lt;br /&gt;
*German,''' ''Enter'''''&lt;br /&gt;
*Deutschland,''' ''Enter'''''&lt;br /&gt;
*Deutsch,''' ''Enter'''''&lt;br /&gt;
(evtl. muss das Netzwerk konfiguriert werden)&lt;br /&gt;
*Rechnername tuxbox&lt;br /&gt;
*Geführt - verwende vollständige Festplatte,''' ''Enter'''''&lt;br /&gt;
'''''*Enter'''''&lt;br /&gt;
*Alle Dateien auf eine Partition,''' ''Enter'''''&lt;br /&gt;
*Partitionierung beenden und Änderungen übernehmen, ''Enter''&lt;br /&gt;
*Änderungen auf die Festplatten schreiben? Ja,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
...Grundsystem wird installiert&lt;br /&gt;
&lt;br /&gt;
*Root-Passwort vergeben&lt;br /&gt;
*Neuer Benutzer, Name:''' ''tuxbox'''''&lt;br /&gt;
*Benutzername:''' ''tuxbox'''''&lt;br /&gt;
Passwort vergeben&lt;br /&gt;
*Debian-Archiv-Spiegelserver Deutschland&lt;br /&gt;
*Server auswählen&lt;br /&gt;
*Paketverwendungserfassung nein,''' ''Enter'''''&lt;br /&gt;
*Keine Software-Sammlung auswählen&lt;br /&gt;
&lt;br /&gt;
alle Sterne entfernen,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
*Grub in Master Boot Record - Ja,''' ''Enter'''''&lt;br /&gt;
&lt;br /&gt;
Nach Beendigung der Installation, virtuelle Maschine neustarten!&lt;br /&gt;
&lt;br /&gt;
===Lenny einrichten===&lt;br /&gt;
Einmaliger Prozess zum Einrichten von Debian und Installieren der notwendigen Pakete:&lt;br /&gt;
&lt;br /&gt;
Innerhalb der virtuellen Maschine anmelden als User '''root'''&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get upgrade&lt;br /&gt;
 apt-get install --no-install-recommends sudo openssh-server&lt;br /&gt;
 echo &amp;quot;tuxbox ALL=(ALL) ALL&amp;quot; &amp;gt;&amp;gt; /etc/sudoers&lt;br /&gt;
 ifconfig (die IP-Adresse von eth0 merken)&lt;br /&gt;
 logout&lt;br /&gt;
&lt;br /&gt;
'''''STRG+ALT'',''' um das VMWare-Fenster wieder zu verlassen&lt;br /&gt;
&lt;br /&gt;
per SSH* zur virtuellen Maschine unter o.g. IP verbinden als User '''tuxbox''' einloggen&lt;br /&gt;
 sudo apt-get install --no-install-recommends cvs libtool autoconf automake gettext make g++ flex bison patch bzip2 pkg-config zlib1g-dev python&lt;br /&gt;
&lt;br /&gt;
für die Freunde des Midnight-Commanders: &lt;br /&gt;
 sudo apt-get install --no-install-recommends mc&lt;br /&gt;
&lt;br /&gt;
'''Auf Windows ist [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Putty] zu empfehlen!'''&lt;br /&gt;
&lt;br /&gt;
=Tuxbox-CDK einrichten=&lt;br /&gt;
Als Bespiel soll hier eine allgemeine Vorgehensweise gezeigt werden, wie man sofort loslegen könnte. Detailierte Informationen zu Bauvorgang, Optionen usw. findet man unter [[Images und Yadd's erstellen]].&lt;br /&gt;
&lt;br /&gt;
 mkdir $HOME/cvs $HOME/archive $HOME/customization $HOME/archive&lt;br /&gt;
&lt;br /&gt;
Herunterladen/Aktualisieren des Tuxbox-CVS:&lt;br /&gt;
 cd $HOME/cvs&lt;br /&gt;
 CVS_RSH=ssh cvs -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox -z3 co -P .&lt;br /&gt;
(beim ersten Mal die Frage nach RSA key fingerprint mit yes beantworten)&lt;br /&gt;
&lt;br /&gt;
Kompilieren eines Images, dafür immer ein leeres Verzeichnis nehmen:&lt;br /&gt;
&lt;br /&gt;
 cd $HOME&lt;br /&gt;
 rm -rf compile image&lt;br /&gt;
 cp -r cvs compile&lt;br /&gt;
wenn Patches eingespielt werden sollen:&lt;br /&gt;
 cd $HOME/compile&lt;br /&gt;
 patch -p0 -E -i /home/tuxbox/datei.diff&lt;br /&gt;
weiter:&lt;br /&gt;
 cd $HOME/compile/cdk&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
&lt;br /&gt;
Für eine Übersicht aller Konfigurationsoptionen:&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=$HOME/image --with-cvsdir=$HOME/compile --with-archivedir=$HOME/archive --with-checkImage=rename&lt;br /&gt;
&lt;br /&gt;
optional: &lt;br /&gt;
 --with-rootpartitionsize=0x460000&lt;br /&gt;
 --with-customizationsdir=$HOME/customization&lt;br /&gt;
&lt;br /&gt;
Nun können Images kompiliert werden:&lt;br /&gt;
&lt;br /&gt;
 make flash-neutrino-squashfs-all&lt;br /&gt;
 make flash-enigma-squashfs-all&lt;br /&gt;
 make flash-enigma+neutrino-squashfs-all&lt;br /&gt;
&lt;br /&gt;
Das fertige Image liegt in&lt;br /&gt;
&lt;br /&gt;
 tuxbox@tuxbox:~$ ls -la $HOME/image/cdkflash/*img*&lt;br /&gt;
 -rw-r--r-- 1 tuxbox tuxbox 8257536 3. Feb 16:31 /home/tuxbox/image/cdkflash/neutrino-squashfs.img1x&lt;br /&gt;
 -rw-r--r-- 1 tuxbox tuxbox 8257536 3. Feb 16:31 /home/tuxbox/image/cdkflash/neutrino-squashfs.img2x&lt;br /&gt;
&lt;br /&gt;
=Weitere Informationen=&lt;br /&gt;
[[Images und Yadd's erstellen]]&lt;br /&gt;
=Weblinks=&lt;br /&gt;
[http://forum.tuxbox.org/forum/viewtopic.php?f=13&amp;amp;t=48503 Ursprungsthread zu diesem Howto im Tuxbox-Forum]&lt;/div&gt;</summary>
		<author><name>Rhabarber1848</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuxbox-neutrino.org/w/index.php?title=Dbox2_Entwicklungsumgebung&amp;diff=11898</id>
		<title>Dbox2 Entwicklungsumgebung</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuxbox-neutrino.org/w/index.php?title=Dbox2_Entwicklungsumgebung&amp;diff=11898"/>
		<updated>2009-12-27T11:20:31Z</updated>

		<summary type="html">&lt;p&gt;Rhabarber1848: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Register]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:CDK]]&lt;br /&gt;
{{Development_sidebar}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
{{Review}}&lt;br /&gt;
=Allgemeines=&lt;br /&gt;
Die Erstellung von [[Images]] und [[Yadd]]s erfolgt durch einen neuen bzw. überarbeiteten &amp;quot;[[Make|make]]&amp;quot; Prozesses, bisher auch als &amp;quot;Newmake&amp;quot; bekannt. Der inzwischen auch als [[Image erstellen|Oldmake]] bezeichnete Bulidvorgang wurde komplett abgelöst. Dieser existiert allerdings weiterhin als eigenständiger Zweig (Branch) im Tuxbox-CVS und kann auch weiter verwendet und gepflegt werden. Die entsprechenden Artikel, die Oldmake betreffen, kann man unter [[Development |Development (Oldmake)]] finden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Neben einer strukturierteren Basis, hat man jetzt den Vorteil, dass es auch ohne ohne großes Verständnis für den Buildprozess gelingen kann, [[Images|Flashimages]] und [[yadd|YADDs]] unter [[Linux|Linux]] zu erstellen.&lt;br /&gt;
Es gibt inzwischen auch eine auf Konsole basierende Frontendlösung, mit der sich [[Images|Flashimages]] oder [[yadd|YADDs]] benutzerdefiniert erstellen lassen, das sogenannte [[yBuild]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dieser Artikel basiert zum größtem Teil auf die deutsche Version von [http://bengt-martensson.de/dbox2/ Barfs Newmake-Dokumentation], die er uns freundlicherweise zur Verfügung  gestellt hat.  &lt;br /&gt;
Eine detaillierte Beschreibung (auch der [[Make|make]] targets) unter anderem auch in englischer Sprache befindet sich auf [http://bengt-martensson.de/dbox2/ Barf's Homepage].&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Dieser Artikel behandelt die [[Image]]- u. [[yadd|YADD]]-Herstellung sowie einfache Beipiele für Benutzeranpassungen (&amp;quot;[[Customization]]&amp;quot;). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Zur Geschichte==&lt;br /&gt;
Vor einigen Jahren war die Imageherstellung für die [[Tuxbox|Tuxbox]] so etwas wie [[Wikipedia:Schwarze Kunst|&amp;quot;Schwarze Kunst&amp;quot;]].&lt;br /&gt;
Die Makefile-Unterstützung war, insbesondere für andere [[Images]] als [[cramfs]]-[[Images]], ziemlich lückenhaft. Die [[CVS]] Werkzeuge waren schlecht oder unvollständig. Noch schlimmer, einige Teile wurden absichtlich geheim gehalten. Vorallem das Werkzeug, jetzt als [[mkflfs]] bekannt, welches inzwischen aber im [[CVS|CVS]]-Verzeichnis ''.../hostapps/[[Mkflfs|mkflfs]]'' zu finden ist, wurde zurückgehalten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Laut eines Forumsbeitrags aus dieser Zeit, waren die meisten Entwickler nicht in der Lage, eigene [[Images]] herzustellen. Die &amp;quot;Gilde der Imagehersteller&amp;quot; wurde geboren. Aus dieser Zeit dürften die &amp;quot;[[AlexW-Images]]&amp;quot; ein Begriff sein.&lt;br /&gt;
Hauptsächlich bestanden diese aus reinen [[CVS|CVS]]-Sources mit einigen mehr-oder-weniger geheim gehaltenen &amp;quot;Fixes&amp;quot;, (vermutlich) notwendig für das Herstellen eines funktionierenden [[Images]] aus dem [[CVS|CVS]]-Quellcode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Im August 2003, wurde es für das [[DBox2 Software Projekt|GNU DBox2 Software-Projekt]] in zunehmendem Maße peinlich, [[mkflfs]] geheim zu halten und der Quellcode für [[mkflfs]] wurde ins [[CVS]] eingecheckt. Auch die Funktionalität der [[Makefiles]] wurde stufenweise verbessert. Noch war viel zu wünschen übrig: Funktionalität, Pflegbarkeit, gesundes [[Software|Software]]-Design... Ein [[Image]] aus reinen [[CVS|CVS]]-Dateien zu bauen, war nicht wirklich möglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2004 wurde das [[YADI]] (&amp;quot;'''Y'''et '''A'''nother '''D'''Box '''I'''mage&amp;quot;) Projekt geboren. &amp;lt;br&amp;gt;&lt;br /&gt;
Sein Ziel war es, das &amp;quot;Imagebauen&amp;quot; zu automatisieren und zu vereinfachen. Zu diesem Zweck wurden eine Anzahl von [[Wikipedia:Skripte|Scripten]] und [[Wikipedia:Patches|Patches]] gesammelt und/oder geschrieben. Zusätzlich wurden flashfertige [[Images]] zur Verfügung gestellt.&lt;br /&gt;
[[YADI]] war ein grosser Erfolg. Das Ziel wurde erreicht. [[Images]] wurden zur Verfügung gestellt, die (fast) vollständig auf freier [[Software|Software]] basierten, sowohl inhaltlich als auch bezüglich der benötigten Werkzeuge, in einer Weise, die für den Benutzer durchaus nachvollziehbar war.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mit dem [[YADI]]-[[Skript|Skript]] war das automatische Imagebuilden zwar möglich, jedoch statt grundlegende Schwächen im [[CDK|CDK]]-Imagebau-Prozeß zu beseitigen, stellte man [[Skripte]] zum Imagebauen zur Verfügung. Es wurde kein übliches Buildsystem zur Verfügung gestellt, wie dies beispielsweise von [[Make]], oder ein neuerer Nachfolger wie [[Ant]],[[Cmake]] oder [[Maven]] könnten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Newmake, bis Ende 2008 verfügbar als alternativer [[Branch]] und seit 2009 als HEAD im [[CVS|CVS]], versucht diese Schwächen zu beseitigen. &lt;br /&gt;
Ein spezieller Dank an jeden, der Bugreports und Feedback geliefert hat. Insbesonderes gilt dies für dietmarw, der Newmake benutzt, um die [[Images#DietmarW-Images|dietmarW-Images]] zu erzeugen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ziel=&lt;br /&gt;
Das Ziel des vorliegenden Artikels ist es, dem Leser grundlegendes Know-How zu vermitteln. Es ist nicht das Ziel, eine idiotensichere Schritt-für-Schritt Anweisung bereitzustellen, wie das bei sogenannten HOWTO's der Fall wäre.&lt;br /&gt;
Kenntnisse im Umgang mit [[Wikipedia:Skriptsprache|Shellskripten]] wird für viele Teile, insbesondere für das [[Customization]]-Kapitel, aber nicht für [[Image]]/[[yadd|YADD]]-Herstellung in seiner einfachsten Art und Weise vorausgesetzt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der vorliegende Artikel versucht nicht die innere Funktion der [[Makefiles]] und des Makeprozesses zu beschreiben. Hierfür wird der Leser auf diverse Quellen, und zu relevanten Threads im [[CDK]]-Forum des [[Tuxbox|Tuxbox]]-Forums hingewiesen. Alle Optionen für ''configure'' werden auch nicht beschrieben, nur die Allgemeinsten und Wichtigsten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Wie schwierig ist es? =&lt;br /&gt;
Die Antwort könnte lauten: ''Es ist so schwerig wie man diesen Artikel zu lesen versteht.'' Für den Leser, der ohne Probleme den Inhalt dieses Artikels versteht, sollte es kein Probleme sein. Leser, für die das Meiste nur Kauderwelsch ist, sollten vielleicht besser bei fertigen [[Images|Images]] bleiben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Images|Images]] und [[Yadd|YADD]]'s bauen=&lt;br /&gt;
== Targets ==&lt;br /&gt;
Es gibt neben zahlreichen untergeordneten Zielen (Targets), zwei hauptrangige Targets, um [[Images]] oder [[Yadd]]'s zu bauen. Diese wären logischerweise entweder &lt;br /&gt;
*[[YADD]] &lt;br /&gt;
oder &lt;br /&gt;
*[[Image]]. &lt;br /&gt;
Ein [[YADD]] besteht aus einigen Dateien, die die DBox anstatt aus dem [[Flash]] über den [[TFTP]]-Service lädt, sowie ein [[Filesystem|Filesystem]], das über einen [[NFS-Server]] der dBox zur Verfügung gestellt wird.&lt;br /&gt;
Diese Daten befinden sich in der Regel in &lt;br /&gt;
*.../tftpboot&lt;br /&gt;
*.../cdkroot ''oder'' .../yaddroot&lt;br /&gt;
Diese Betriebsart hat insbesondere während der Softwareentwicklung oder beim Erlernen des Systems viele Vorteile.&lt;br /&gt;
&lt;br /&gt;
''Der Name &amp;quot;[[YADD]]&amp;quot; bedeutet übrigens &amp;quot;'''Y'''et '''A'''nother '''D'''Box '''D'''istribution&amp;quot; (&amp;quot;noch eine dBox Verteilung&amp;quot;).''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Erste Schritte und Überlegungen ===&lt;br /&gt;
Eine Empfehlung für den angehenden &amp;quot;[[Image|Image]]/[[Yadd|YADD]]-Lehrling&amp;quot; wäre:&amp;lt;br&amp;gt;&lt;br /&gt;
Baue zuerst ein [[YADD]] mit Deiner Lieblings-[[GUI]], und lerne damit umzugehen.&amp;lt;br&amp;gt; &lt;br /&gt;
Nächster Schritt wäre dann, ein [[jffs2]]-[[Image|Image]] mit der Lieblings-[[GUI]] zu erstellen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Meistens möchte man die folgenden Schritte kombinieren und/oder automatisieren. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In diesem Artikel bezeichnet &amp;quot;[[GUI]]&amp;quot; entweder &lt;br /&gt;
*[[Neutrino]]&lt;br /&gt;
*[[Enigma]]&lt;br /&gt;
*[[Lcars]]&lt;br /&gt;
*[[Radiobox]]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das &amp;quot;[[Filesystem]]&amp;quot; im Kontext eines kompletten [[Images]] bezeichnet das [[Dateisystem]], in dem das root-Verzeichnis liegt. &lt;br /&gt;
&lt;br /&gt;
Dies wären: &lt;br /&gt;
*[[squashfs]] (komprimiertes read-only-[[Dateisystem|Dateisystem]] (wird allgemnein leistungsfähiger als [[cramfs]] angesehen)&lt;br /&gt;
oder &lt;br /&gt;
*[[jffs2]] (ein &amp;quot;journalled&amp;quot; Read-Write-[[Filesystem|Filesystem]]).&lt;br /&gt;
 &lt;br /&gt;
'''Hinweis:'''&lt;br /&gt;
''[[Cramfs]]-Images, (komprimiertes, Read-only [[Filesystem|filesystem]] für embedded Systeme) werden vom Buildprozess mit CVS-Stand ab 26.07.2009 nicht mehr untertützt.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ein &amp;quot;'''[[Squashfs|Squashfs]] Komplett-[[Image|Image]]'''&amp;quot; besteht aus einem Root-[[Dateisystem|Dateisystem]] mit dem [[squashfs]] [[Dateisystem|Dateisystem]] und einem kleineren [[jffs2]]-[[Filesystem|Filesystem]], das nach '''/var''', dem schreibbaren Bereich eines [[Images]], gemounted wird.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Ein &amp;quot;'''[[Jffs2|jffs2]] Komplett-[[Image|Image]]'''&amp;quot; enthält dagegen kein separates ''/var-[[Dateisystem|Dateisystem]]'', weil [[Jffs2|jffs2]] bereits beschreibbar ist.&lt;br /&gt;
Welches Dateisystem man verwendet, hängt im Wesentlichem davon ab, was und wieviel man in das Image packen möchte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zusätzlich enthalten die Komplett-[[Images|Images]] eine weitere [[Partition|Partition]], die den [[u-boot]]-[[Bootloader]] enthalten. Diese [[Partition|Partition]] ist zwischen dBoxen mit einen und zwei [[Flash]]chips unterschiedlich. Dieses wird durch &amp;quot;'''1x'''&amp;quot; und &amp;quot;'''2x'''&amp;quot; angezeigt. Ein komplettes [[Image|Image]] würde demnach so benannt werden:&lt;br /&gt;
 &lt;br /&gt;
 [GUI]-[Filesystem].img[1, 2]x &lt;br /&gt;
z.B. als fertiges [[Image|Image]]: &lt;br /&gt;
 [[Neutrino|neutrino]]-[[Jffs2|jffs2]].img2x&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Buildsystem Voraussetzungen ==&lt;br /&gt;
Neben einem modernen [[Unix|Unix]]/[[Linux|Linux]] System ist '''ordentlich''' freier Speicherplatz zu empfehlen. Mit Speicherplatz sollte man deshalb nicht geizen, da beispielsweise bei Verwendung von [[ccache]] einiges an Daten zwischengelagert wird und je öfter man kompiliert, es dann doch eng werden könnte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das [[DBox2 Software Projekt|Tuxbox Projekt]] hat keine favorisierte Buildumgebung. Fragen wie &amp;quot;geht es mit Redhat x.y?&amp;quot; lassen sich nicht genau beantworten. Gewisse Anforderungen werden dagegen für Versionen der Werkzeuge, wie [[WP:autoconf|autoconf]], [[WP:automake|automake]], [[make]] usw. formuliert. Die meisten davon sind in den gängigsten Distributionen bereits enthalten bzw. können nachinstalliert werden. Die momentan erforderlichen Toolversionen sind in folgendender Tabelle zusammengefasst:&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:GNU_Tools}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Buildprozess überprüft zu Beginn automatisch einige dieser Anforderungen. Wenn eines dieser Werkzeuge fehlt, oder wenn die Version zu alt zu sein scheint, ist es in der Regel einfacher, die erforderliche Version nachträglich zu installieren, entweder als kompiliertes Paket, z.B. im [[rpm]]-Format vom jeweiligem Distributor, oder sich direkt die Quellen zu besorgen, zu kompilieren und zu installieren, als zu versuchen oder herauszufinden, ob die oben genannten Anforderungen wirklich notwendig sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''Hinweis''':&lt;br /&gt;
&lt;br /&gt;
''In anderen Anleitungen zum Buildvorgang wird gefordert, dass Werkzeuge wie [[fakeroot]],&lt;br /&gt;
[[mksquashfs]], [[mkcramfs]], [[mkjffs2fs]] (oder [[mkfs.jffs2]]), vielleicht auch [[mklibs]]&lt;br /&gt;
oder [[ccache]], auf Ihrem System installiert sein müssen. In dieser Umgebung ist dies nicht&lt;br /&gt;
erforderlich, da einige entweder überhaupt nicht benötigt werden bzw. die Installation im &lt;br /&gt;
Makeprozess selbst vorgenommen wird!''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Bauen auf einem [[Unix|Unix]]-non-[[Linux|Linux]] System sollte vermutlich auch möglich sein, so weit die erforderlichen [[GNU]] Werkzeuge vorhanden sind. Mit einem anderen [[make]] als [[GNU]] wird es fast sicher nicht funktionieren, da die [[GNU|GNU]]-Spezifikationen uneingeschränkt verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es wird davon abgeraten, eine Umbegebung z.B. mit [[Cygwin]] aufzubauen, da es mit Sicherheit nicht funktionieren wird. In dieser Richtung wurde zwar Einiges für den Makeprozess eingebaut, jedoch wurde der [[Cygwin]]-Support inzwischen entfernt, da der bisherige Entwicklungsstand nicht den Anforderungen entsprach, um aktuell auch damit arbeiten zu können. Dafür gibt es inzwischen wesentlich bessere Alternativen.&lt;br /&gt;
Empfehlenswert ist aber eine Buildumgebung mittels [[VMWare]] aufzubauen. Hierfür gibt es auch eine &amp;quot;konfektionierte&amp;quot; Lösung von yiogol, der hierfür ein passendes [http://www.dbox2-tuning.net/ulc/index.php?PHPSESSID=ecf28f3ddf88fa340678898f1636942c&amp;amp;direction=0&amp;amp;order=&amp;amp;directory=Kubuntu%20VMWare-Tuxbox%20CDK%20Image VMWare-Image] erstellt hat, dass im Prinzip alle notwendigen Zutaten enthält. Eine weitere Alternative wäre die Verwendung von [[VirtualBox]], eine OpenSource-Alternative zu [[VMWare]]. Für die Herstellung eines solchen Images gibt es auch Forenbeiträge (siehe [[#Weblinks|Weblinks]]). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Auschecken ==&lt;br /&gt;
{{Auschecken}}&lt;br /&gt;
&lt;br /&gt;
Nachdem die Daten ausgecheckt wurden, könnte kann man jetzt einige Patches auf die Quellen anwenden.&lt;br /&gt;
Wenn man zum ersten Mal kompiliert, ist es aber ratsam, vorerst keine Veränderungen vorzunehmen. Wenn Probleme auftreten, ist es viel einfacher (technisch sowohl als auch für jeden selbst) jemand zu helfen, der die &amp;quot;unveränderten [[CVS|CVS]] Quellen&amp;quot; verwendet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
Nach dem Auschecken bzw. Updaten müssen nun einge Zwischenschritte erledigt werden, damit der Buildprozess auch erkennt, was und vorallem wie er es machen soll.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man wechselt nun in das [[CDK|CDK]]-Unterverzeichnis&lt;br /&gt;
 cd [[CDK|cdk]]&lt;br /&gt;
und gibt diesen Befehl ein (ohne Argumente).&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
&lt;br /&gt;
Dieser erzeugt unter anderem ein [[Shellskript]] namens '''configure'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wird ''autogen.sh'' ausgeführt, wird dabei eine Anzahl von Optionen übergeben, um das System für das Builden eines [[Images|Images]], [[Yadd|YADD]] oder aller anderen gewünschten Ziele entsprechend den Benutzerwünschen vorzubereiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optionen ===&lt;br /&gt;
&lt;br /&gt;
Für uns sind vorerst nur wenige Optionen interessant. Die Standardvorgaben reichen vorerst völlig aus.&lt;br /&gt;
{{Newmake_Build_Optionen}}&lt;br /&gt;
Eine typische Anwendung (Konfiguration), der mit z.B. den Pfadnamen oben kompatibel wäre, könnte so eingestellt werden:&lt;br /&gt;
&lt;br /&gt;
 ./configure --with-cvsdir=&amp;quot;/[[Tuxbox|tuxbox]]-[[CVS|cvs]]&amp;quot; --prefix=&amp;quot;/[[Dbox2|dbox2]]&amp;quot; --enable-maintainer-mode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*''--with-cvsdir'' &lt;br /&gt;
sagt wo die Quellen zu finden sind, (darin sollte auch ein Unterverzeichnis ''.../[[CDK|cdk]]'' besitzen). In der Regel ist dies das Verzeichnis in das die Quelldaten gerade ausgecheckt wurden, während &lt;br /&gt;
*''--prefix''&lt;br /&gt;
bedeutet, dass eine Anzahl von wichtigen Verzeichnissen als Unterverzeichnisse des besagten Verzeichnisses erstellt werden sollen. Ihre Position kann durch andere Konfigurationsoptionen weiter beeinflußt werden.&lt;br /&gt;
*''--enable-maintainer-mode'' &lt;br /&gt;
ist, auch für Nichtmaintainers praktisch, da er den hergestellten [[Makefiles|Makefiles]] ermöglicht, sich automatisch neu zu erzeugen, sobald die Notwendigkeit entsteht, zum Beispiel nach einem [[Software|Software]]-[[Update|Update]].  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es gibt sicher noch andere nützliche Optionen. Einige werden weiter unten aufgelistet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Fehlerausgaben ===&lt;br /&gt;
Überprüfe bitte die Ausgaben von ''autogen'' auf Fehler (&amp;quot;Error&amp;quot;) und Warnungen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hierbei können diese Warnungen ignoriert werden:&lt;br /&gt;
&lt;br /&gt;
 /usr/local/share/aclocal/pkg.m4:5: warning: underquoted definition of PKG_CHECK_MODULES from autogen.sh &lt;br /&gt;
&lt;br /&gt;
ebenso folgende Warnungen von configure:&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
 configure: WARNING: using [[Tuxbox|tuxbox]] [[Mklibs|mklibs]]&lt;br /&gt;
 checking for mkjffs2... no&lt;br /&gt;
 checking for [[Mkfs.jffs2|mkfs.jffs2]]... no&lt;br /&gt;
 configure: WARNING: using [[Tuxbox|tuxbox]] [[Mkfs.jffs2|mkfs.jffs2]]&lt;br /&gt;
 checking for mksquashfs... no&lt;br /&gt;
 configure: WARNING: using [[Tuxbox|tuxbox]] [[Squashfs|squashfs]]&lt;br /&gt;
 ...&lt;br /&gt;
 &lt;br /&gt;
Dies sind nur Hinweise darauf, dass hier projekteigene Versionen einiger [[Tools|Tools]] verwendet werden.&lt;br /&gt;
&lt;br /&gt;
'''''Beachte!''' &lt;br /&gt;
Wenn man diesen Artikel mit älteren Beschreibungen (Oldmake) vergleicht,&lt;br /&gt;
bemerkt man, dass die Option '''--with-targetruleset=[standard,flash]''' nicht mehr&lt;br /&gt;
vorhanden ist. Bisher war es notwendig, bei der Konfiguration sich entweder auf Builds von [[YADDs]]&lt;br /&gt;
oder [[Images]] einzuschränken. Bei Newmake ist dieses nicht mehr notwendig.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Stop hand.png]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-top:10px; margin-right:0px; border: 3px solid #FF0000; padding: 0px 10px 1px 10px; background-color:#DEB0B0;  align:right; &amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;font color=&amp;quot;#000000&amp;quot; size=&amp;quot;5&amp;quot;&amp;gt;'''&lt;br /&gt;
Versuche niemals, als root zu bauen!'''&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kompilieren ==&lt;br /&gt;
Die high-level [[Make|make]] Targets, die für das Builden von Komplett-[[Images|Images]] relevant sind, lauten:&lt;br /&gt;
*&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;flash-[neutrino, enigma, all]&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;flash-[squashfs, jffs2, all]&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;[1x, 2x, alle]&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Für [[Yadd|YADD]]-Builds, sind diese: &lt;br /&gt;
*&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;yadd-[neutrino, enigma, all]&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Beispiele:'''&lt;br /&gt;
&lt;br /&gt;
 [[Make|make]] [[Flash|flash]]-[[Neutrino|neutrino]]-[[Jffs2|jffs2]]-all &lt;br /&gt;
&lt;br /&gt;
erzeugt flashbare [[Jffs2|jffs2]]-only [[Images|Images]] mit [[Neutrino|Neutrino]], für 1x-Boxen und für 2x-Boxen (Dateinamen ''[[Neutrino|neutrino]]-[[Jffs2|jffs2]].img1x'' und ''[[Neutrino|neutrino]]-[[Jffs2|jffs2]].img2x'').&lt;br /&gt;
&lt;br /&gt;
'''der Befehl:'''&lt;br /&gt;
&lt;br /&gt;
 make [[Yadd|yadd]]-[[Enigma|enigma]]&lt;br /&gt;
&lt;br /&gt;
erzeugt ein [[Yadd|YADD]], das [[Enigma|Enigma]] enthält.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 make flash-enigma+neutrino-squashfs-all&lt;br /&gt;
&lt;br /&gt;
diese Kombination erzeugt ein [[Squashfs]] [[Flash-Image]], welche [[Enigma]] und [[Neutrino]] gleichzeitig enthält.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 flash-neutrino-squashfs_nolzma-all&lt;br /&gt;
&lt;br /&gt;
diese Kombination erzeugt ein [[Neutrino]]-[[Squashfs]] [[Flash-Image]], ohne LZMA-Kompression.&lt;br /&gt;
&lt;br /&gt;
'''Hinweis:''' ''Die configure-Optionen --enable-lzma bzw. --disable-lzma haben keine Gültigkeit mehr, stattdessen wird dies im Targetnamen angegeben'' &lt;br /&gt;
&lt;br /&gt;
=== Zeitaufwand ===&lt;br /&gt;
Das Kompilieren kann bei so einem Projekt und je nach Konfiguration und Rechnerleistung schon einige Zeit in Anspruch nehmen.&lt;br /&gt;
Auf einem Athlon XP 1800 dauert ein Befehl wie '''[[Make|make]] [[Yadd|yadd]]-[[Neutrino|neutrino]]''' mit leeren Verzeichnissen etwa 1 und 1,5 Stunden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Verwendung von [[Ccache|ccache]] ====&lt;br /&gt;
Um den Vorgang insbesondere bei wiederholten Kompilieren und besonders auf langsameren Rechnern zu beschleunigen, steht die Option&lt;br /&gt;
* --enable-[[Ccache|ccache]]&lt;br /&gt;
zur Verfügung, welche man mit in die Konfiguration einbinden kann. Erfahrungsgemäß wird so durchschnittlich ca. 1-2 Drittel der Zeit eingespart.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Durch die Option '''--enable-[[Ccache|ccache]]''' wird erreicht, sollte das Tool bereits in deiner Distribution installiert sein, dass [[ccache]] automatisch erkannt wird und in das [[Tuxbox|Tuxbox]]-[[CDK|CDK]] eingebunden wird. Ist es nicht installiert, wird dies auch von configure angezeigt: &lt;br /&gt;
 ----------------------------------------&lt;br /&gt;
 ...&lt;br /&gt;
 ccache is not yet installed, but installation starts on first build of cdk environment or you can run make ccache&lt;br /&gt;
 ----------------------------------------&lt;br /&gt;
 ...&lt;br /&gt;
Falls [[Ccache]] nicht auf dem Host-System installiert ist, wird es beim ersten Bauvorgang automatisch eingebunden bzw. passend zum CDK installiert. Nachtraglich kann das Tool auch mit dem Target&lt;br /&gt;
 [[Make|make]] [[Ccache|ccache]]&lt;br /&gt;
in das [[CDK|CDK]] eingebaut werden. Ein Configure des CDK sollte dem möglichst vorausgegangen sein.&lt;br /&gt;
&lt;br /&gt;
'''Hinweis'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
''Die Wirkung von [[Ccache]] macht sich logischrweise erst bemerkbar, nachdem der Buildvorgang mindestens einmal durchgelaufen ist!''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Option ''--enable-[[Ccache|ccache]]'' ist normalerweise völlig ausreichend. Es stehen aber noch weitere untergeordnete Sub-Optionen zur Verfügung, die in Ausnahmefällen verwendet werden können: &lt;br /&gt;
*--with-maxcachesize=SIZE maximal&lt;br /&gt;
Hier gibt man an, wieviel Speicher [[ccache]] verwenden darf in GB z.B: für 2GB&lt;br /&gt;
 --with-maxcachesize=2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*--with-maxcachefiles=COUNT&lt;br /&gt;
Hier kann man angeben, wieviele Dateien [[ccache]] cachen darf.&lt;br /&gt;
 --with-maxcachefiles=20000&lt;br /&gt;
Hier würden es logischeweise 20000 sein.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Wirksamkeit von [[ccache]] lässt sich mit dem Befehl&lt;br /&gt;
 [[Ccache|ccache]] -s&lt;br /&gt;
prüfen. Als Ergebnis werden einige Statistiken ü[[BER|ber]] das Cache-Verhalten von [[Ccache|ccache]] ausgegeben:&lt;br /&gt;
 cache directory                     /home/&amp;lt;USER&amp;gt;/.[[Ccache|ccache]]&lt;br /&gt;
 cache hit                              4&lt;br /&gt;
 cache miss                           191&lt;br /&gt;
 called for [[Link|link]]                       17&lt;br /&gt;
 multiple source files                  4&lt;br /&gt;
 compile failed                        17&lt;br /&gt;
 preprocessor error                     2&lt;br /&gt;
 not a C/C++ file                       5&lt;br /&gt;
 autoconf compile/[[Link|link]]                178&lt;br /&gt;
 no input file                         15&lt;br /&gt;
 files in cache                       382&lt;br /&gt;
 cache size                           7.1 Mbytes&lt;br /&gt;
 max cache size                     976.6 Mbytes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tipp'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Um die benötigte Zeit genau zu ermitteln, kann man den Befehl '''time''' einbauen.&lt;br /&gt;
 time [[Make|make]] [[Yadd|yadd]]-[[Neutrino|neutrino]]&lt;br /&gt;
Am Ende des Bauvorganges werden damit die entsprechenden Zeitinformationen ausgegeben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Verwendung von [[Make]]-Optionen ====&lt;br /&gt;
Aktuell besteht auch die Möglichkeit den Bauvorgang mit der Makeoption '''-j''' zu beschleunigen. Hierbei können von [[Make]] gleichzeitig mehrere '''J'''obs erledigt werden, sofern diese keine Abhängigkeiten untereinander haben. Die Wirkungen sind durchaus auch von der verwendeten Hardware abhängig. Ein Rechner mit Mehrkern-Prozessor hat hier sicher die besseren Karten. Die Übergabe dieser Option erfolgt in dieser Form:&lt;br /&gt;
&lt;br /&gt;
 make J=[n] [target]&lt;br /&gt;
&lt;br /&gt;
'''n''' ist die Anzahl der Jobs, '''Target''' das jeweilige Ziel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
Hier einige Beispiele mit denen man [[Images|Images]], Yadds oder einzelne Targets bauen kann. Diese Beispiele sollten so wie sie hier vorgegeben sind ohne Veränderung auf jedem [[Linux|Linux]]-System mit den bisher beschriebenen Voraussetzungen laufen. Da die Systeme trotzdem [[Unterschiede|Unterschiede]] aufweisen können, kann man das aber nicht garantieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== [[Neutrino|neutrino]]-[[Jffs2|jffs2]]-[[Image|Image]] ====&lt;br /&gt;
 #! /bin/bash &lt;br /&gt;
 # beispiel.sh&lt;br /&gt;
 # Diese Script baut [[Neutrino|neutrino]]-[[Jffs2|jffs2]] [[Images|Images]], jeweils 1x und 2x&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 USERDIR=/home/$(whoami) &lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 LOGODIR=$USERDIR/Logos &lt;br /&gt;
 CP=$USERDIR/[[Tuxbox|tuxbox]]-[[CVS|cvs]] &lt;br /&gt;
 DB=$USERDIR/[[Dbox2|dbox2]] &lt;br /&gt;
 ARCHIVEDIR=$USERDIR/Archive &lt;br /&gt;
 export CVS_RSH=[[SSH|ssh]] &lt;br /&gt;
 #----------------------------------------------- &lt;br /&gt;
 cd &amp;quot;$CP&amp;quot;&lt;br /&gt;
 [[CVS|cvs]] -d anoncvs@[[CVS|cvs]].[[Tuxbox|tuxbox]].org:/[[CVS|cvs]]/[[Tuxbox|tuxbox]] -z3 co -P . &lt;br /&gt;
 cd [[CDK|cdk]]&lt;br /&gt;
 /bin/ln -sf $ARCHIVEDIR/ Archive&lt;br /&gt;
 ./autogen.sh &lt;br /&gt;
 ./configure --prefix=&amp;quot;$DB&amp;quot; --with-cvsdir=&amp;quot;$CP&amp;quot; --enable-flashrules --enable-[[Ccache|ccache]] --with-[[CheckImage|checkImage]]=rename --with-logosdir=&amp;quot;$LOGODIR&amp;quot; &lt;br /&gt;
 [[Make|make]] [[Flash|flash]]-[[Neutrino|neutrino]]-[[Jffs2|jffs2]]-all &lt;br /&gt;
&lt;br /&gt;
==== Neutrigma-[[squashfs]]-[[Image|Image]] ====&lt;br /&gt;
 #! /bin/bash &lt;br /&gt;
 # beispiel.sh&lt;br /&gt;
 # Diese Script baut ein kombiniertes Enigma, Neutrino (Neutrigma)-Squashfs-Image, jeweils 1x und 2x&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 USERDIR=/home/$(whoami) &lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 LOGODIR=$USERDIR/Logos &lt;br /&gt;
 CP=$USERDIR/[[Tuxbox|tuxbox]]-[[CVS|cvs]] &lt;br /&gt;
 DB=$USERDIR/[[Dbox2|dbox2]] &lt;br /&gt;
 ARCHIVEDIR=$USERDIR/Archive &lt;br /&gt;
 export CVS_RSH=[[SSH|ssh]] &lt;br /&gt;
 #----------------------------------------------- &lt;br /&gt;
 cd &amp;quot;$CP&amp;quot;&lt;br /&gt;
 [[CVS|cvs]] -d anoncvs@[[CVS|cvs]].[[Tuxbox|tuxbox]].org:/[[CVS|cvs]]/[[Tuxbox|tuxbox]] -z3 co -P . &lt;br /&gt;
 cd [[CDK|cdk]]&lt;br /&gt;
 /bin/ln -sf $ARCHIVEDIR/ Archive&lt;br /&gt;
 ./autogen.sh &lt;br /&gt;
 ./configure --prefix=&amp;quot;$DB&amp;quot; --with-cvsdir=&amp;quot;$CP&amp;quot; --enable-flashrules --enable-[[Ccache|ccache]] --with-[[CheckImage|checkImage]]=rename --with-logosdir=&amp;quot;$LOGODIR&amp;quot; &lt;br /&gt;
 [[Make|make]] flash-enigma+neutrino-squashfs-all&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==== [[Neutrino|Neutrino]] [[Yadd|YADD]] ====&lt;br /&gt;
 #! /bin/bash &lt;br /&gt;
 # beispiel.sh&lt;br /&gt;
 # Diese Script baut ein [[Neutrino|Neutrino]] [[Yadd|Yadd]]&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 USERDIR=/home/$(whoami) &lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 LOGODIR=/Logos &lt;br /&gt;
 CP=$USERDIR/[[Tuxbox|tuxbox]]-[[CVS|cvs]] &lt;br /&gt;
 DB=$USERDIR/[[Dbox2|dbox2]] &lt;br /&gt;
 ARCHIVEDIR=$USERDIR/Archive &lt;br /&gt;
 export CVS_RSH=[[SSH|ssh]] &lt;br /&gt;
 #----------------------------------------------- &lt;br /&gt;
 cd &amp;quot;$CP&amp;quot;&lt;br /&gt;
 [[CVS|cvs]] -d anoncvs@[[CVS|cvs]].[[Tuxbox|tuxbox]].org:/[[CVS|cvs]]/[[Tuxbox|tuxbox]] -z3 co -P . &lt;br /&gt;
 cd [[CDK|cdk]]&lt;br /&gt;
 /bin/ln -sf $ARCHIVEDIR/ Archive&lt;br /&gt;
 ./autogen.sh &lt;br /&gt;
 ./configure --prefix=&amp;quot;$DB&amp;quot; --with-cvsdir=&amp;quot;$CP&amp;quot; --with-logosdir=&amp;quot;$LOGODIR&amp;quot; --enable-[[Ccache|ccache]] &lt;br /&gt;
 [[Make|make]] [[Yadd|yadd]]-[[Neutrino|neutrino]]&lt;br /&gt;
&lt;br /&gt;
= Kernel 2.6.x =&lt;br /&gt;
&lt;br /&gt;
{{Bulid_kernel_26}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Was kommt dann...? =&lt;br /&gt;
== Booten von [[Yadd|YADD]] ==&lt;br /&gt;
Wenn ein [[Yadd|YADD]] frisch erzeugt wurde, kann damit auch die Box booten. Näheres dazu auch im Artikel [[CDK booten]].&amp;lt;br&amp;gt;&lt;br /&gt;
Newmake hält auch ein [[Make|Make]]-Target für den serversupport bereit.&lt;br /&gt;
 [[Make|make]] serversupport&lt;br /&gt;
Dieses erzeugt einige Konfigurationsdateien für den [[Server|Server]] der das [[Yadd|YADD]]-Build nahtlos an das [[Server|Server]]-Setup anknüpft.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Flashen|Flashen]] des [[Images|Images]] ==&lt;br /&gt;
Wenn ein [[Image|Image]] gebaut wurde, ist der logische nächste Schritt das Einspielen des [[Images|Images]] in den [[Flash|Flash]] der Box. Hierfür ist entweder, das interaktive [[Flashen|Flashen]] innerhalb der [[GUI|GUI]] mit den [[Installation:Neutrino|Expertenfunktionen]] zu benutzen, oder der ''dboxflasher'' zu verwenden. Der ''dboxflasher'' wird durch das [[Make|Make]]-Target &lt;br /&gt;
 [[Make|make]] serversupport&lt;br /&gt;
erzeugt.&amp;lt;br&amp;gt; &lt;br /&gt;
Siehe auch [[Installation]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Inkrementelle Builds ==&lt;br /&gt;
Im allgemeinen ist man nicht an einem einmaligen Build der [[Software|Software]] interessiert. Verbesserungen an den Quellen werden in das [[CVS|CVS]] täglich eingecheckt. Oft möchte man die [[Software|Software]] durch eigene Programmierung verbessern oder Patches anwenden. Es ist dabei wünschenswert, dass genau nur die Teile neu erzeugt wird, die neu erzeugt werden sollen, nicht mehr und nicht weniger. Newmake geht einen direkten Weg in diese Richtung. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Um ein Target neu zu bauen, benutze den Befehl &lt;br /&gt;
 [[Make|make]] [target]&lt;br /&gt;
und [[Make|make]] wird es, falls notwendig, neu erzeugen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es kann auch passieren, dass [[Make|make]] zusätzlich einen vollständig anderen Bestandteil neu erzeugt! Dies ist dann der Fall, wenn das jeweilige Target von anderen Teilen abhängt, die sich geändert haben.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In einige Situationen kann es auch wünschenswert sein, ein erneutes Bauen einer Komponente zu erzwingen. Einige Komponenten werden in einem Distributionsfile zum Verzeichnis [[CDK|cdk]]/Archive heruntergeladen, und wenn das Build stattfindet, ausgepackt, evtl. Patches angewendet, konfiguriert, kompiliert, installiert und die Quellen dann wieder gelöscht.&amp;lt;br&amp;gt;&lt;br /&gt;
Alles findet automatisch statt. Die [[Installation|Installation]] eines bestimmten Pakets wird durch das Anlegen einer Markerdatei im Verzeichnis ''[[CDK|cdk]]/.deps'' vermerkt.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Falls gewünscht, kann solch eine Markiererdatei entfernt werden, um das Neuerzeugen der entsprechenden Komponetne zu erzwingen. Es gibt hierfür auch entsprechende Targets, die &amp;quot;''Cleaning Targets''&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cleaning targets ==&lt;br /&gt;
Es gibt mehrere unterschiedliche Aufräum-Targets:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Make|make]] distclean&lt;br /&gt;
Das drastischste Reinigungs-Target, (fast) alles löschend, was nicht vom [[CVS|CVS]] ausgecheckt wurde.&lt;br /&gt;
Dieses ist eher selten notwendig. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Make|make]] mostlyclean&lt;br /&gt;
Ein intelligenteres Target ist ''mostlyclean''. Es säubert die Verzeichnisse, die Tuxboxquellen enthalten, lässt aber die Kompilationsumgebung und alle ''Auspacken-kompilieren-installieren-löschen-Komponente'' unberührt.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Auch das cdkroot Verzeichnis, (d.h. die [[Yadd|Yadd]]-[[Installation|Installation]]), sowie die [[Tftp|TFTP]]-Files ([[Kernel|Kernel]] und [[U-boot|u-boot]]) werden nicht angefasst.    &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Make|make]] depsclean&lt;br /&gt;
Löscht alle Markerdateien im /[[CDK|cdk]]/.deps Verzeichnis und zwingt so zum Neukompliieren aller [[Auspacken-kompilieren-installieren-löschen-Komponenten]].&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
Dies ist selten sinnvoll: Diese hängen von ihren Quellen und vielleicht von einem Patchfile ab, und der Makefile kennt diese Abhängigkeiten.  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Make|make]] clean&lt;br /&gt;
Kombiniert ''mostlyclean'', ''depsclean'', und ''[[Flash|flash]]-clean''. Versucht auch soviel wie möglich im cdkroot-Verzeichnis zu löschen, das nicht während des Bootstrapdurchlaufes installiert war. So wird&lt;br /&gt;
versucht, die Umgebung in einem Zustand zu bringen, wo die Buildumgebung gerade kompiliert worden ist, z.B. mit ''[[Make|make]] bootstrap''.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Make|make]] [[Flash|flash]]-semiclean&lt;br /&gt;
Dieses Target löscht die meisten Verzeichnisse in $(flashprefix), mit Ausnahme der Boot-Partitionen und der Kernelbauverzeichnisse.&amp;lt;br&amp;gt;&lt;br /&gt;
Dieses ist oft sinnvoll, da diese Bestandteile verhältnismässig sich selten ändern.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Make|make]] [[Flash|flash]]-mostlyclean&lt;br /&gt;
Zusätzlich zum ''[[Flash|flash]]-semiclean'' löscht dieses Target auch Bootfiles und die Kernbauverzeichnisse. Vollimages werden unberührt gelassen.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Make|make]] [[Flash|flash]]-clean&lt;br /&gt;
Dieses Target löscht Alles in $(flashprefix).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Einige Quellverzeichnisse können mit einem Befehl wie &lt;br /&gt;
 [[Make|make]] -C /[[Tuxbox|tuxbox]]-[[CVS|cvs]]/apps/[[Tuxbox|tuxbox]]/[[Neutrino|neutrino]] clean &lt;br /&gt;
gesäubert werden.&lt;br /&gt;
&lt;br /&gt;
== Aktualisierung des [[CVS|CVS]]-Quellcodes ==&lt;br /&gt;
Um die Quellen mit neueren Checkins zu aktualisieren, verwende diesen Befehl für das toplevel [[CVS|CVS]] Verzeichnis (oder von einem anderen Verzeichnis, wenn Ihr wisst, was ihr tut;-). Mögliche Fehler werden in das logfile [[CVS|cvs]].log geschrieben.&lt;br /&gt;
&lt;br /&gt;
 cvs up -r HEAD &amp;gt; cvs.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
'''Tipp'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Um mit dem [[CVS|CVS]] arbeiten zu können nimmt man für gewöhnlich die Konsole für Eingaben. Es gibt aber auch verschiedene Frontendwerkzeuge wie z.B. [http://www.crossvc.com CrossVC] oder [http://cervisia.kde.org/ Cervisia] um nur einige zu nennen, die einen recht komfortablen Umgang mit den [[CVS|CVS]]-Daten ermöglichen.&amp;lt;br&amp;gt; [[Bild:Crossvc.jpg|CrossVC als CVS Frontendlösung]] [[Bild:Cervisia.jpg|Cervisia als CVS Frontendlösung]]&amp;lt;br&amp;gt; &lt;br /&gt;
Auch einige [[IDE|IDE]]'s wie z.B. [[WP:Anjuta|Anjuta]] &amp;lt;br&amp;gt; [[Bild:anjuta.jpg|Anjuta als IDE mit CVS-Anbindung]]&amp;lt;br&amp;gt; bieten solche [[CVS|CVS]]-Schnittstellen an.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Customization|Customization]] ==&lt;br /&gt;
Ein &amp;quot;Schreckgespenst&amp;quot; für viele &amp;quot;[[Oldmake]]rs&amp;quot; ist anscheinend die so genannte [[Customization|Customization]]. Dies kann man immer wieder aus diversen Meinungen und Forumsbeiträgen diverser &amp;quot;Oldmaker&amp;quot; herauslesen. Ein Grund dafür dürfte wohl die scheinbare &amp;quot;gefühlte&amp;quot; Unmenge an Scripten sein, die damit in Verbindung gebracht wird. &lt;br /&gt;
Grundsätzlich ist es aber so, dass man zuerst einmal ein [[Image]] und/oder [[Yadd]] bauen sollte, ganz ohne Zusätze, um zumindest erst einmal zu sehen, was dabei herauskommt. Dies sind, also nichts weiter als beispielsweise völlig normale Images. Die flasht man sich auf die Box und kann man zweckentsprechend verwenden. Mehr erstmal nicht. Dies dürfte auch völlig ausreichend sein, aber wir sind ja Bastler und wollen ja mehr...und daraus ergibt sich der Bedarf an der Nutzung dieser [[Customization|Customization]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Will man z.B. ein Image für den Hausgebrauch bauen, mit dem man nach dem flashen sofort fernsehen will, kann man sich z.B. alle benötigten Firmawaredateien (Ucodes), Senderlisten usw. an Ort und Stelle im Image platzieren lassen, ohne dass es Änderungen an irgendeinem Makefile bedarf.  Das gleiche gilt auch, wenn man bespielsweise ein [[IDE-Interface]] betreiben möchte. Da das Tuxbox-Projekt hierfür enstprechende Möglichkeiten bereit hält, gibt es dafür auch entsprechende fertige Konfigurations-Optionen, die die entsprechende Funktionalität herstellen.&lt;br /&gt;
&lt;br /&gt;
=== Konfigurationsoptionen ===&lt;br /&gt;
Hier sollen zunächst einige verschiedene Möglichkeiten für die Konfigurations-Optionen vorgestellt werden.&lt;br /&gt;
Eine Komplettübersicht aller Optionen lässt sich mit&lt;br /&gt;
 ./configure --help&lt;br /&gt;
abrufen&lt;br /&gt;
&lt;br /&gt;
====--with-ucodesdir=[DIR]====&lt;br /&gt;
Hiermit kann ein Verzeichniss angegeben werden, welches die [[Ucodes|Ucodes (Firmaredateien]] enthält, die im [[Image|Image]] enthalten sein sollen.&lt;br /&gt;
'''Hinweis:'''&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#FF0000&amp;quot; size=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Ein [[Image|Image]], dass [[Ucodes|ucodes]] enth&amp;amp;auml;lt, darf &lt;br /&gt;
 nicht verbreitet werden!&amp;lt;/strong&amp;gt; &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====--with-logosdir=[DIR]==== &lt;br /&gt;
Legt ein Verzeichniss fest, das boot-logos (logo-[[LCD|lcd]] und logo-fb) enthält, die im [[Image|Image]] enthalten sein sollen.&lt;br /&gt;
&lt;br /&gt;
====--with-defaultlocale=[LOCALE]====&lt;br /&gt;
sorgt dafür, dass die gewünschte Sprache schon beim bauen eingestellt wird.&lt;br /&gt;
&lt;br /&gt;
====--with-rootpartitionsize=[SIZE]====&lt;br /&gt;
Legt die Rootpartitionsgröße für [[Squashfs|squashfs]] [[Images|Images]] fest. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Größe der var-[[Partition|Partition]] wird automatisch berechnet, wobei man den restlichen Flashspeicher nutzt, der nicht durch die anderen Partitionen benutzt wird. Die Standardgröße ist 0x660000. &lt;br /&gt;
Diese Zahl sollte eine Multiple der Erasesize, momentan 0x20000 sein. Dies wird allerdings ignoriert falls es wie bei der [[Jffs2|jffs2]]-Imageerstellung unsinnig wäre.&lt;br /&gt;
&lt;br /&gt;
====--with-updatehttpprefix=[URL]====&lt;br /&gt;
Nützlich für das Verteilen von Onlineupdates oder auch nur um im eigenen Heimnetzwerk mit Hilfe eines Servers seine Boxen up-to-date zu halten, ist die Angabe einer Updateadresse (Update-URL). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Adresse wird in dieser Form angegeben:&lt;br /&gt;
 --with-updatehttpprefix=&amp;lt;nowiki&amp;gt;http://www.deine-updateseite.de&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese Adresse erscheint beispielsweise in der Versionsdatei ''(.version)'', in den [[Neutrino:Service:Image_Informationen|Image-Informationen]] von [[Neutrino]] und sorgt dafür, dass Online-Updates über das [[Netzwerk]] abgerufen werden können (siehe: [[Neutrino:Service:Software-Aktualisierung]]).&lt;br /&gt;
Serverseitig muss natürlich auch eine entsprechende Informationsquelle für die entsprechenden Updates vorhandene sein. Dies übernehmen die sogenannten ''*.list''-Files, dessen Adresse in die Datei &lt;br /&gt;
 /etc/update.urls (siehe [[Neutrino:Service:Software-Aktualisierung#Experten-Funktionen|Experten-Funktionen]])&lt;br /&gt;
eingetragen werden muss.&lt;br /&gt;
Je nachdem was für ein Update abgerufen werden soll, werden dafür verschiedene ''*.list''-Files benötigt.&lt;br /&gt;
*img.list für Komplettimages&lt;br /&gt;
*squashfs.list für Root-squashfs Updates&lt;br /&gt;
Diese ''*.list''-Files enthalten alle Informationen die für das Online-Update benötigt werden. Das Format sollte so aussehen:&lt;br /&gt;
 [URL zum Update-file] [md5-Prüfsumme] [Image-Versions-String] [Name für das Image]&lt;br /&gt;
Beispiel:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://www.deine-homepage.de/downloads/Image-v2.0_neutrino_squashfs_1200200808281200_1x.img 06c30a36329d990194f249d3a3648aec 1200200808281200 Image-v2.0_1x&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Einträge in die ''*.list''-Files und ''update.urls'' lassen sich mit Hilfe von [[Newmake#Customization-Scripte|Customization-Scripte]]n erzeugen und anschließend ins Image einfügen (siehe auch: [[Newmake#.2F.version_anpassen|.version_anpassen]]). Die ''*.list''-Files können mit diversen Werkzeugen (z.B. ''ncftpput'') auf einen Server geladen werden.&lt;br /&gt;
Zu beachten wäre noch, das beim Update selbst zur Neutrino-Laufzeit eine Prüfung des Release-Zyklus erfolgt. Bei Neutrino ist derzeit 2.0 aktuell und sollte eingehalten werden. Ändern kann man dies in ''[[update.cpp]]'', zu finden im [[Neutrino]] CVS-Quellcode unter &lt;br /&gt;
 ./apps/tuxbox/neutrino/src/gui/[[update.cpp]]&lt;br /&gt;
&lt;br /&gt;
====--with-targetprefix=DIR==== &lt;br /&gt;
* standard: ''PREFIX/cdkroot''&lt;br /&gt;
Gibt an, wohin alle Targets gebaut werden sollen. Ein Target mit Namen ''make busybox'' baut also standardmäßig [[busybox]] genau dorthin. &lt;br /&gt;
*''PREFIX/cdkroot/bin''&lt;br /&gt;
&lt;br /&gt;
====--with-flashprefix=DIR==== &lt;br /&gt;
* standard: ''PREFIX/cdkflash''.&lt;br /&gt;
Gibt an, wohin alle Flash-Targets gebaut werden sollen.  Also ein Target mit Namen ''make flash-busybox'' baut also standardmäßig [[busybox]] genau dorthin: &lt;br /&gt;
*''PREFIX/cdkflash/root/bin''&lt;br /&gt;
Da beispielsweise das Flash-Target make ''flash-neutrino-squashfs'' gewisse Abhängigkeiten hat, die auch [[busybox]] betreffen, wird [[busybox]] auch hier hin gbaut.&lt;br /&gt;
*''PREFIX/cdkflash/root-neutrino-squashfs/bin''&lt;br /&gt;
&lt;br /&gt;
====--with-hostprefix=DIR====&lt;br /&gt;
* standard: *''PREFIX/cdk''&lt;br /&gt;
Gibt an wohin die Binaries für das [[Tuxbox-CDK]] optional gebaut werden&lt;br /&gt;
&lt;br /&gt;
====--with-bootprefix=DIR====&lt;br /&gt;
*standard: *''PREFIX/tftpboot''&lt;br /&gt;
Gibt optional an wohin die Bootfiles ([[Kernel]], [[U-boot]]) für das [[CDK]] bzw. [[Yadd]] gebaut werden&lt;br /&gt;
&lt;br /&gt;
====--with-serversupport=DIR====&lt;br /&gt;
* standard: *''PREFIX/serversupport''&lt;br /&gt;
Hier werden die Vorlagen der Konfigurationsdateien optional abgelegt, die für die Einrichtung eines bootfähigen [[CDK]] erstellt werden.&lt;br /&gt;
&lt;br /&gt;
====--with-customizationsdir=DIR====&lt;br /&gt;
* standard: *''cvsdir/cdk''&lt;br /&gt;
Hier werden optional die Customization-Scripte abgelegt, um vom Makeprozess dort abgerufen werden zu können. &lt;br /&gt;
&lt;br /&gt;
====--with-checkImage=[none,rename,warn]====&lt;br /&gt;
Gibt an, wie die Prüfung von Imaages erfolgen soll&lt;br /&gt;
*''none''=nichts&lt;br /&gt;
*''rename''=umbenennen (Image erhält die Endung -bad)&lt;br /&gt;
*''warn''=selbstredend&lt;br /&gt;
&lt;br /&gt;
====--with-cvsdir=DIR====&lt;br /&gt;
Gibt an, wo sich optional das CVS-Verzeichnis befindet&lt;br /&gt;
&lt;br /&gt;
====--with-appsdir=DIR====&lt;br /&gt;
* standard: ./cvsdir/apps&lt;br /&gt;
Gibt an, wo sich optional das apps-Quellcodeverzeichnis befindet.&lt;br /&gt;
Nützlich um auch andere Repositories als die aus dem Tuxbox-CVS einzubinden. Eine Möglichkeit wäre es z.B. ein geklontes git-Repository einzubinden, die derzeit von einigen Tuxboxentwicklern parallel betreut werden. &lt;br /&gt;
siehe: http://gitorious.org/projects/tuxbox-apps &lt;br /&gt;
&lt;br /&gt;
====--with-bootdir=DIR====&lt;br /&gt;
* standard: ./cvsdir/boot&lt;br /&gt;
Gibt an wo sich optional das boot-Quellcodeverzeichnis befindet&lt;br /&gt;
&lt;br /&gt;
====--with-driverdir=DIR====&lt;br /&gt;
* standard: ./cvsdir/driver&lt;br /&gt;
Gibt an wo sich optional das driver-Quellcodeverzeichnis befindet&lt;br /&gt;
&lt;br /&gt;
====--with-hostappsdir=DIR====&lt;br /&gt;
* standard: ./cvsdir/hostapps&lt;br /&gt;
Gibt an wo sich optional das hostapps-Quellcodeverzeichnis befindet&lt;br /&gt;
&lt;br /&gt;
====--with-gnuserver=ADDRESS====&lt;br /&gt;
Optionale Serveradresse für GNU-Sourcen (ohne ftp://)&lt;br /&gt;
&lt;br /&gt;
====--with-defaultserver=ADDRESS====&lt;br /&gt;
Serveradresse die genommen wird falls ein Server nicht verfügbar ist (ohne http://)&lt;br /&gt;
&lt;br /&gt;
====--with-busybox-conf=M4-File====&lt;br /&gt;
* standard: ./cvsdir/cdk/Patches/busybox.config.m4&lt;br /&gt;
Hier kann optional eine eigene M4-Macro-Konfigurationsdatei angegeben werden&lt;br /&gt;
&lt;br /&gt;
====--with-yadd-kernel-conf=FILE   --with-flash-kernel-conf=FILE====&lt;br /&gt;
* standard: ./cvsdir/cdk/Patches&lt;br /&gt;
Hier kann optional eine Konfigurationsdatei jeweils für Flash oder Yadd angegeben werden&lt;br /&gt;
&lt;br /&gt;
====--with-filesystems=comma seperated list of filesystems====&lt;br /&gt;
Hier können durch Komma getrennte Filesysteme angegeben werden. (siehe --enable-xfs, --disable-ext3) &lt;br /&gt;
 --with-filesystems=extfs,xfs,nfs,cifs,vfat,smbfs,lufs&lt;br /&gt;
''extfs'' stellt ein Alias für ''ext2'' und ''ext3'' dar, kann aber auch einzeln verwendet werden.&lt;br /&gt;
Der erste Eintrag wird als Standard verwendet und in der ''/etc/[[fstab]]'' verwendet &lt;br /&gt;
&lt;br /&gt;
====--with-filesystem-tools= comma seperated list of filesystem tools to be used====&lt;br /&gt;
Hier können durch Komma getrennte Dateisystemtools angegeben werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Zugelassene Werte: e2fsprogs, reiserfsprogs, dosfstools, xfsprogs, fdisk (standalone)&amp;lt;br&amp;gt;&lt;br /&gt;
Als Standard sind die passenden Tools aktiviert, die zu den aktivierten Dateisystemen gehören:&amp;lt;br&amp;gt;&lt;br /&gt;
ext2/ext3: e2fsprogs&amp;lt;br&amp;gt;&lt;br /&gt;
xfs: xfsprogs&amp;lt;br&amp;gt;&lt;br /&gt;
reiserfs: reiserfsprogs&amp;lt;br&amp;gt;&lt;br /&gt;
vfat: dosfstools&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Option ist dazu gedacht, nicht benötigte Tools nicht zu kompilieren.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer in einem ext2/vfat-Image nur e2fsprogs haben möchte, nutzt also --with-filesystem-tools=e2fsprogs&amp;lt;br&amp;gt;&lt;br /&gt;
Wer keine Dateisystemtools im Image haben möchte, nutzt also --with-filesystem-tools=&amp;quot;&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Dateisystemtools deaktivierter Dateisysteme sind nicht aktivierbar.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Parameter &amp;quot;fdisk&amp;quot; deaktiviert das fdisk-applet von busybox und installiert stattdessen fdisk aus dem utillinux-Paket. Diese Option ist standardmäßig aktiviert, wenn --enable-drive-gui genutzt wird.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====--enable-uclibc====&lt;br /&gt;
Aktviert Makerules für uClibc verlinkte Targets (derzeit noch experimentell) '''Erfahrungswerte erwünscht'''!&lt;br /&gt;
&lt;br /&gt;
====--enable-maintainer-mode====&lt;br /&gt;
Ermöglicht den hergestellten [[Makefiles|Makefiles]], sich automatisch neu zu erzeugen, sobald die Notwendigkeit entsteht, zum Beispiel nach einem [[Software|Software]]-[[Update|Update]]. &lt;br /&gt;
&lt;br /&gt;
====--enable-kernel26====&lt;br /&gt;
Es wird statt des üblichen 2.4.xer Kernel ein 2.6.xer Kernel gebaut (derzeit noch experimentell) '''Erfahrungswerte erwünscht'''!&lt;br /&gt;
'''Hinweis:''' ''Hierfür ist es notwendig die entsprechenden Treiber im Kernel2.6er CVS-Branch auszuchecken!'' Siehe auch: [[Images_und_Yadd%27s_mit_Kernel_2.6|Images_und_Yadd's_mit_Kernel_2.6]]&lt;br /&gt;
&lt;br /&gt;
====--enable-flashrules====&lt;br /&gt;
Targets für das bauen von [[Flash]]-[[Images]] werden aktiviert.&lt;br /&gt;
&lt;br /&gt;
====--enable-lirc====&lt;br /&gt;
Erzeugt Images/Yadds mit [[Lirc]]-Support&lt;br /&gt;
&lt;br /&gt;
====--enable-cdkVcInfo====&lt;br /&gt;
Das Tool [[cdkVcInfo]] wird automatisch mitgebaut. Diese Tool ist wie einige Andere auch ein Zusatz.&lt;br /&gt;
&lt;br /&gt;
====--enable-german-keymaps====&lt;br /&gt;
Tastatursupport&lt;br /&gt;
&lt;br /&gt;
====--enable-ide====&lt;br /&gt;
Ermöglicht das Bauen von Images/Yadds mit support für [[IDE-Interface]]s. Es werden hierfür die passenden Treiber und Kernel-Module gebaut.&lt;br /&gt;
&lt;br /&gt;
====--enable-mmc====&lt;br /&gt;
Ermöglicht das Bauen von Images/Yadds mit support für [[MMC]]s. Es werden hierfür die passenden Treiber und Kernel-Module gebaut.&lt;br /&gt;
&lt;br /&gt;
====--enable-sqlite====&lt;br /&gt;
Aktiviert SQL-Lite Support&lt;br /&gt;
&lt;br /&gt;
====--disable-ext3====&lt;br /&gt;
Deaktiviert Treiber für ext2/ext3 Dateisysteme (siehe --with-filesystems=)&lt;br /&gt;
Diese Option ist weiterhin gültig, kann aber weggelassen werden, wenn --with-filesystems aktiviert ist und wird nicht berücksichtigt, wenn --with-filesystems angegeben ist. &lt;br /&gt;
&lt;br /&gt;
====--enable-xfs====&lt;br /&gt;
Aktiviert Treiber für XFS und baut xfsprogs (siehe --with-filesystems=&amp;quot;xfs&amp;quot;)&lt;br /&gt;
Diese Option ist weiterhin gültig, kann aber weggelassen werden, wenn --with-filesystems aktiviert ist und wird nicht berücksichtigt, wenn --with-filesystems angegeben ist.&lt;br /&gt;
&lt;br /&gt;
====--enable-nfsserver====&lt;br /&gt;
Ermöglicht das Bauen eines NFS-Servers&lt;br /&gt;
&lt;br /&gt;
====--enable-sambaserver====&lt;br /&gt;
Ermöglicht das Bauen eines Samba-Servers&lt;br /&gt;
&lt;br /&gt;
====--enable-dosfstools====&lt;br /&gt;
Es werden dos Filesystem Werkzeuge gebaut&lt;br /&gt;
&lt;br /&gt;
====--enable-upnp====&lt;br /&gt;
Es wird Unterstützung fur upnp eingebaut, ermöglicht die Box als upnp-Client zu benutzen&lt;br /&gt;
&lt;br /&gt;
====--enable-flac====&lt;br /&gt;
Support für flac-Files im Audioplayer&lt;br /&gt;
&lt;br /&gt;
====--enable-ccache====&lt;br /&gt;
Aktiviert [[Kompiler]]-Unterstützung durch [[ccache]]&lt;br /&gt;
&lt;br /&gt;
====--enable-movieplayer2====&lt;br /&gt;
Aktiviert den MP2 für Neutrino (derzeit noch experimentell) '''Erfahrungswerte erwünscht'''!&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
==== Pfade ====&lt;br /&gt;
Es sind noch weitere Benutzeranpassungen möglich. Dafür ist es aber notwendig, etwas [[Wissen|Wissen]] ü[[BER|ber]] die innere Funktionsweise der [[Makefiles|Makefiles]] zu haben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In der Folge bezeichnet &lt;br /&gt;
 $(flashprefix) &lt;br /&gt;
den Wert der Makefile Variablen '''flashprefix''' (mit Konfiguration wie oben '''/[[Dbox2|dbox2]]/cdkflash''')&lt;br /&gt;
 $(targetprefix)&lt;br /&gt;
bezeichnet den Wert der Makefile Variablen '''targetprefix''' (mit Konfiguration wie oben '''/[[Dbox2|dbox2]]/cdkroot'''), und &lt;br /&gt;
 $(buildprefix) &lt;br /&gt;
bezeichnet den Wert der Makefile Variablen '''buildprefix''' (mit der Konfiguration oben '''/[[Tuxbox|tuxbox]]-[[CVS|cvs]]/[[CDK|cdk]]''').&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Um z.B. ein '''[[Neutrino|neutrino]]-[[Squashfs|squashfs]].img2x''' zu erzeugen, werden die folgenden Verzeichnisse erstellt:&amp;lt;br&amp;gt;&lt;br /&gt;
*'''$(flashprefix)/root''' (enthält [[Filesystem|Filesystem]]- und [[GUI|GUI]]-unabhängige Bestandteile)&lt;br /&gt;
*'''$(flashprefix)/root-[[Squashfs|squashfs]]''' (enthält den [[Kernel|Kernel]], für Root-[[Filesystem|Filesystem]] auf [[Squashfs|squashfs]] konfiguriert, zusammen mit seinen Treibern) und &lt;br /&gt;
*'''$(flashprefix)/root-[[Neutrino|neutrino]]''' (enthält die Neutrinoinstallation).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aus diesen drei Verzeichnissen, werden das Rootfilesystemverzeichniss&lt;br /&gt;
*'''$(flashprefix)/root-[[Neutrino|neutrino]]-[[Squashfs|squashfs]]''' und das&lt;br /&gt;
var-filesystemverzeichnis &lt;br /&gt;
*'''$(flashprefix)/var-[[Neutrino|neutrino]]''' gebaut.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hiermit ist es möglich, einen Befehl wie &lt;br /&gt;
 [[Make|make]] $(flashprefix)/root-[[Neutrino|neutrino]]-[[Jffs2|jffs2]]&lt;br /&gt;
bzw. wenn man sich im Verzeichnis ''./[[Tuxbox|tuxbox]]-[[CVS|cvs]]/[[CDK|cdk]]'' befindet, den Befehl&lt;br /&gt;
 [[Make|make]] root-[[Neutrino|neutrino]]-[[Jffs2|jffs2]]&lt;br /&gt;
einzugeben, wobei man bei erster VAriante natürlich '''$(flashprefix)''' selbst durch den realen Pfad ersetzen muss, da '''$(flashprefix)''' nur eine [[Make|make]]-Variable ist, welche in unserem Beispiel den Pfad zu '''./[[Dbox2|dbox2]]/cdkflash''' darstellt.&amp;lt;br&amp;gt;&lt;br /&gt;
Man kann so manuell gewünschten Änderungen an '''$(flashprefix)/root-[[Neutrino|neutrino]]-[[Jffs2|jffs2]]''' vornehmen, und dann, mit dem Befehl &lt;br /&gt;
 [[Make|make]] [[Flash|flash]]-[[Neutrino|neutrino]]-[[Jffs2|jffs2]]-2x &lt;br /&gt;
den Imagebau abschließen, um ein [[Image|Image]] zu erstellen, das diese manuellen Änderungen enthält. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dieses kann zwar für den einmaligen Imagebau sinnvoll sein, jedoch in vielen Fällen dürfte eine automatisierte und systematischere Methode erforderlich sein.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Customization|Customization]]-Scripte ===&lt;br /&gt;
Sofern diese Scripte vorhanden und ausführbar sind, werden innerhalb der wichtigsten Targets diese sogenannten ''[[Customization|Customization]]-Scripte'' automatisch aufgerufen bzw. ausgeführt.&lt;br /&gt;
Zum aktivieren der Scripte müssen diese lediglich in ein dafür vorgesehenes Verzeichnis abgelegt werden und ausführbar sein. Dieses Verzeichnis ist standardmäßig der '''*/[[CDK|cdk]]'''-Ordner.&lt;br /&gt;
Bei Bedarf kann mit der Option&lt;br /&gt;
 --with-customizationsdir=[DIR] &lt;br /&gt;
ein alternatives Verzeichnis für [[Customization|Customization]]-Scripte festgelegt werden. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Auf diese Scripte werden zwei Argumente zur Laufzeit übergeben: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Für Imagetargets sind dies&lt;br /&gt;
*$(flashprefix)&lt;br /&gt;
und &lt;br /&gt;
*$(buildprefix)&lt;br /&gt;
für Yaddtargets sind diese &lt;br /&gt;
*$(targetprefix)&lt;br /&gt;
und &lt;br /&gt;
*$(buildprefix)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Bezeichnung &amp;quot;Script&amp;quot; ist etwas irreführend, da sie eigentlich wie normale Programme mit zwei Argumenten ausgeführt werden. Anstelle eines [[Shell|Shell]]-Scripts könnte dies z.B. ein kompiliertes C Programme, oder ein [[Perl|Perl]]-Script sein.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Name eines [[Customization|Customization]] Scriptes besteht in der Regel aus dem Namen eines Targetverzeichnisses bzw. einem Target und dem angefügtem *'''-local.sh'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Für [[Flash|Flash]]-Targets ====&lt;br /&gt;
Der Name der [[Customization|Customization]] Scripte für [[Images|Images]] besteht aus den wie oben benannten Verzeichnissen (in diesem Fall Targets) in ''flashprefix'',&lt;br /&gt;
*root&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
dem Namen der jeweilige Benutzeroberfläche, als &amp;quot;[[GUI]]&amp;quot; in Klammern bezeichnet, also&lt;br /&gt;
*[[Neutrino|neutrino]]&lt;br /&gt;
*[[Enigma|enigma]]&lt;br /&gt;
*[[Lcars|lcars]]&lt;br /&gt;
*[[Radiobox|radiobox]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;[[FS]]&amp;quot; zeigt an welches [[Filesystem|Filesystem]] gemeint ist.&lt;br /&gt;
*[[Squashfs|squashfs]]&lt;br /&gt;
*[[Jffs2|jffs2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
so wäre die Bezeichnung der jeweiligen Scripte wie folgt aufgebaut: &lt;br /&gt;
*root-local.sh&lt;br /&gt;
*root-[GUI]-local.sh&lt;br /&gt;
*root-[GUI]-[FS]-local.sh&lt;br /&gt;
*root-[FS]-local.sh&lt;br /&gt;
*var-[GUI]-local.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Beispiele:'''&lt;br /&gt;
 root-local.sh&lt;br /&gt;
 root-[[Neutrino|neutrino]]-local.sh&lt;br /&gt;
 root-[[Neutrino|neutrino]]-[[Squashfs|squashfs]]-local.sh&lt;br /&gt;
 root-[[Squashfs|squashfs]]-local.sh&lt;br /&gt;
 var-[[Neutrino|neutrino]]-local.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Für [[Yadd|Yadd]]-Targets ====&lt;br /&gt;
Für Yadds ist das Prinzip ähnlich, nur dass es hier quasi nur einen Ordner gibt. Dafür stellvertretend steht dann &lt;br /&gt;
*[[Yadd|yadd]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das &amp;quot;[[GUI]]&amp;quot; in Klammern bezeichnet auch hier die jeweilig betroffene Benutzeroberflche, also&lt;br /&gt;
*[[Neutrino|neutrino]]&lt;br /&gt;
*[[Enigma|enigma]]&lt;br /&gt;
*[[Lcars|lcars]]&lt;br /&gt;
*[[Radiobox|radiobox]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
so wäre die Bezeichnung der jeweiligen Scripte so aufgebaut. &lt;br /&gt;
*[[Yadd|yadd]]-[GUI]-local.sh&lt;br /&gt;
'''Beispiel:'''&lt;br /&gt;
 [[Yadd|yadd]]-[[Neutrino|neutrino]]-local.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== für andere Targets ====&lt;br /&gt;
Die bisher benannten [[Customization|Customization]] Scripte für [[Flash|Flash]]- u. [[Yadd|Yadd]]-Targets sind die Gebräuchlichsten. Diese werden allerdings gewissermaßen  nur an die der bestehenden Targets angehängt, anders als es bei den anderen, von denen es in Newmake noch jede Menge mehr gibt, bei denen diese als Ersatz der eigentlichen Targets dienen.&amp;lt;br&amp;gt;&lt;br /&gt;
Im Prinzip ginge dies auf so gut wie alle Targets anzuwenden. Möchte man z.B. ein Contrib-Tool &amp;quot;customizen&amp;quot;, etwa [[hdparm]], kann man ein Script erstellen:&lt;br /&gt;
*hdparm-local.sh&lt;br /&gt;
Führt man dann das Target:&lt;br /&gt;
 [[Make|make]] hdparm&lt;br /&gt;
aus, wird beim Bauen das ausgeführt was im [[Customization|Customization]]-Script angelgt wurde. Die Aktionen im Original-Makefile werden übersprungen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Beispiel: version-local.sh =====&lt;br /&gt;
Diese Funktion ist recht interessant und dürfte recht oft Anwendung finden (siehe auch [[Newmake#.2F.version_anpassen|Anpassung .version-File]]):&amp;lt;br&amp;gt;&lt;br /&gt;
Während des [[Make|make]]-Durchlaufs werden einige Targets ausgeführt, welche die '''/.version'''-Files bei [[YADD]]&lt;br /&gt;
*'''version'''&lt;br /&gt;
bzw.&lt;br /&gt;
*'''[[Flash|flash]]-version''' &lt;br /&gt;
im [[Image]] erstellt.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Sofern eines dieser Scripte;&lt;br /&gt;
*'''version-local.sh''' &lt;br /&gt;
*'''[[Flash|flash]]-version-local.sh'''&lt;br /&gt;
vorhanden und ausführbar ist, wird es als Ersatz statt des originalen Targets ausgeführt, welches mit  &lt;br /&gt;
 [[Make|make]] version&lt;br /&gt;
bzw.&lt;br /&gt;
 [[Make|make]] [[Flash|flash]]-version&lt;br /&gt;
angestoßen wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Beispiele für Customization ====&lt;br /&gt;
Das Customizationscripting soll hier durch einige Beispiele noch mehr veranschaulicht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Warnung'''&lt;br /&gt;
''Auch falls die Beispiele in einigen Fällen benutzbar sind, werden die Scripte als Beispiele, nicht als Lösungen zu den realen Problemen gezeigt. Aus diesem Grund sind die Beispiele hier als Codefragmente, nicht als downloadbare Dateien, veröffentlicht. Bitte nicht verwenden, es sei denn es ist ungefährlich und Ihr versteht, wie sie funktionieren. Es ist grundlegende Script-Erfahrung erfordelich.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Lirc Komponenten einbauen =====&lt;br /&gt;
In einem [[Jffs2|jffs2]]-[[Image|Image]] wird dies gewünscht:&lt;br /&gt;
&lt;br /&gt;
   1. Eigene /etc/hosts benutzen,&lt;br /&gt;
   2. Eigene [[Neutrino|neutrino]].conf, [[Bouquets|bouquets]].[[XML|xml]], services.[[XML|xml]] benutzen&lt;br /&gt;
   3. einschließlich [[Lirc|lirc]]-Komponenten, zusammen mit eigenen [[Lirc|lirc]] Konfigurations-Dateien.&lt;br /&gt;
&lt;br /&gt;
1. und 3. sind [[Erweiterungen|Erweiterungen]], die nach '''$(flashprefix)/root''' kommen sollten, während 2. [[Neutrino|Neutrino]]-regeln sind, welche nach sollten '''$(flashprefix)/root-[[Neutrino|neutrino]]-[[Jffs2|jffs2]]''' gehöhren. &amp;lt;br&amp;gt;&lt;br /&gt;
Um 1. und 3. zu erreichen, wird das Script '''root-local.sh''' erstellt, z.B.:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 # root-local.sh&lt;br /&gt;
 flashprefix=$1&lt;br /&gt;
 buildprefix=$2&lt;br /&gt;
 newroot=$flashprefix/root&lt;br /&gt;
 myfiles=/home/somewhere/dbox/myfiles&lt;br /&gt;
 cp -f  $myfiles/etc/hosts $newroot/etc&lt;br /&gt;
 [[Make|make]] flashlirc&lt;br /&gt;
 cp -fr $myfiles/var/[[Tuxbox|tuxbox]]/config/[[Lirc|lirc]] $newroot/var/[[Tuxbox|tuxbox]]/config&lt;br /&gt;
&lt;br /&gt;
Das Script für 2. heist '''root-[[Neutrino|neutrino]]-local.sh''', was dem verherigen sehr ähnlich ist:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 # root-[[Neutrino|neutrino]]-local.sh&lt;br /&gt;
 flashprefix=$1&lt;br /&gt;
 buildprefix=$2&lt;br /&gt;
 newroot=$flashprefix/root-[[Neutrino|neutrino]]&lt;br /&gt;
 myfiles=/home/somewhere/dbox/myfiles&lt;br /&gt;
 cp $myfiles/var/[[Tuxbox|tuxbox]]/config/[[Neutrino|neutrino]].conf	 $newroot/var/[[Tuxbox|tuxbox]]/config&lt;br /&gt;
 cp $myfiles/var/[[Tuxbox|tuxbox]]/config/[[Zapit|zapit]]/[[Bouquets|bouquets]].[[XML|xml]] $newroot/var/[[Tuxbox|tuxbox]]/config/[[Zapit|zapit]]&lt;br /&gt;
 cp $myfiles/var/[[Tuxbox|tuxbox]]/config/[[Zapit|zapit]]/services.[[XML|xml]] $newroot/var/[[Tuxbox|tuxbox]]/config/[[Zapit|zapit]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== procps-Varianten von ps und top einbauen =====&lt;br /&gt;
Im Image werden die procps-Varianten von [[WP:Ps_%28Unix%29|ps]] und [[WP:Unix-Kommando#Prozessmanagement|top]] anstelle der [[WP:busybox|Busybox]]-Version gewünscht.&lt;br /&gt;
&lt;br /&gt;
In root-local.sh&lt;br /&gt;
&lt;br /&gt;
  make procps&lt;br /&gt;
&lt;br /&gt;
hinzufügen.&lt;br /&gt;
&lt;br /&gt;
In root-neutrino-local.sh&lt;br /&gt;
&lt;br /&gt;
  for i in top ps; do&lt;br /&gt;
    cp -va $flashprefix/../cdkroot/bin/$i $flashprefix/root-neutrino/bin/&lt;br /&gt;
    rm -v $flashprefix/root/bin/$i&lt;br /&gt;
  done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Games und Languages nuker ===== &lt;br /&gt;
Dieses Script löscht alle [[Spiele|Spiele]] (definiert als [[Plugins|plugins]] mit type=1 in ihrer Konfigurationsdatei), sowie unerwünschte Sprachfiles ([[Neutrino|Neutrino]] angenommen). Das File sollte von '''root-[[Neutrino|neutrino]]-$[[Filesystem|filesystem]]-local.sh''' aufgerufen werden.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 # Nukes all game [[Plugins|plugins]], as well as all [[Locale|locale]] files not listed in LANGUAGES&lt;br /&gt;
 newroot=$1/root-[[Neutrino|neutrino]]-[[Jffs2|jffs2]]&lt;br /&gt;
 LANGUAGES=&amp;quot;deutsch english&amp;quot;&lt;br /&gt;
 for f in $newroot/lib/[[Tuxbox|tuxbox]]/[[Plugins|plugins]]/*.cfg; do&lt;br /&gt;
    grep 'type=1' $f&amp;gt;/dev/null &amp;amp;&amp;amp; rm -f $newroot/lib/[[Tuxbox|tuxbox]]/[[Plugins|plugins]]/`basename $f .cfg`.*&lt;br /&gt;
 done&lt;br /&gt;
 for f in $newroot/share/[[Tuxbox|tuxbox]]/[[Neutrino|neutrino]]/[[Locale|locale]]/*; do&lt;br /&gt;
    (echo $LANGUAGES | grep -v `basename $f .[[Locale|locale]]` &amp;gt;/dev/null) &amp;amp;&amp;amp; rm -f $f&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== /.version anpassen =====&lt;br /&gt;
&lt;br /&gt;
{{edit_version_file}}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Eine eigene ''/.version''-File herzustellen (angezeigt von [[Neutrino|Neutrino]] durch dBox -&amp;gt; Services -&amp;gt; [[Image|Image]]-Version und [[cdkVcInfo]] beim Booten) ist daher sicher ein allgemeiner Wunsch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[Flash|flash]]-version-local.sh&lt;br /&gt;
&lt;br /&gt;
 #/bin/sh&lt;br /&gt;
 USER=$(whoami)&lt;br /&gt;
 if [ $0 = $CDIR/flash-version-local.sh ] ; then&lt;br /&gt;
    outfile=$FLASHDIR/root/.version&lt;br /&gt;
    type=&amp;quot;[[Image|Image]]&amp;quot;&lt;br /&gt;
 else&lt;br /&gt;
    outfile=$TARGETDIR/.version&lt;br /&gt;
    type=&amp;quot;[[Yadd|Yadd]]&amp;quot;&lt;br /&gt;
 fi;&lt;br /&gt;
 echo Creating $outfile ...&lt;br /&gt;
 echo &amp;quot;version=`./mkversion -[[Snapshot|snapshot]] -version 200`&amp;quot;      &amp;gt; $outfile&lt;br /&gt;
 echo &amp;quot;creator=$USER&amp;quot;                                     &amp;gt;&amp;gt; $outfile&lt;br /&gt;
 echo &amp;quot;imagename=$USER-$type&amp;quot;                             &amp;gt;&amp;gt; $outfile &lt;br /&gt;
 echo &amp;quot;homepage=[[HTTP|http]]://www.your-website.de&amp;quot;                   &amp;gt;&amp;gt; $outfile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== mkversion ===== &lt;br /&gt;
Das benannte Script ''mkversion'' erzeugt die etwas kryptische Versionszeichenkette:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 releasetype=3&lt;br /&gt;
 versionnumber=000&lt;br /&gt;
 year=`date +%Y`&lt;br /&gt;
 month=`date +%m`&lt;br /&gt;
 day=`date +%d`&lt;br /&gt;
 hour=`date +%H`&lt;br /&gt;
 minute=`date +%M`&lt;br /&gt;
 while expr $# &amp;gt; 0 ; do&lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
     -[[Release|release]]) &lt;br /&gt;
     releasetype=0&lt;br /&gt;
   ;;	&lt;br /&gt;
     -[[Snapshot|snapshot]]) &lt;br /&gt;
     releasetype=1&lt;br /&gt;
   ;;	&lt;br /&gt;
     -internal) &lt;br /&gt;
     releasetype=2&lt;br /&gt;
   ;;&lt;br /&gt;
    -version)&lt;br /&gt;
     versionnumber=$2&lt;br /&gt;
   shift&lt;br /&gt;
   ;;	&lt;br /&gt;
 esac&lt;br /&gt;
 shift&lt;br /&gt;
 done&lt;br /&gt;
 echo $releasetype$versionnumber$year$month$day$hour$minute&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Archivierung der [[Images|Images]] =====&lt;br /&gt;
Es ist eigentlich die Aufgabe des Buildprozesses, flashbare [[Images|Images]] zu erzeugen, und nicht sie zu archivieren. Jedoch kann die [[Customization|Customization]] leicht dazu &amp;quot;missbraucht&amp;quot; werden, um irgendeine Art der Archivierung zu ermöglichen, wie das folgende Beispiel zeigt:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 flashprefix=$1&lt;br /&gt;
 imagefile=`basename $0|sed -e s/-local.sh//`&lt;br /&gt;
 imagefilebase=`echo $imagefile|sed -e s/\.img.x//`&lt;br /&gt;
 extension=`echo $imagefile|sed -e s/[-a-z0-9]*\.//`&lt;br /&gt;
 newfilename=&amp;quot;barf-&amp;quot;$imagefilebase-`date --iso-8601`.$extension&lt;br /&gt;
 echo Copying $flashprefix/$imagefile to $flashprefix/$newfilename...&lt;br /&gt;
 cp $flashprefix/$imagefile $flashprefix/$newfilename&lt;br /&gt;
&lt;br /&gt;
Das Script sollte einen oder mehr der Namen &lt;br /&gt;
 [neutrino, enigma]-[squashfs, jffs2].[img1x, img2x]&lt;br /&gt;
haben. Es benennt die Files entsprechend dem Tagesdatum um.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Einige &amp;quot;best practices&amp;quot; =&lt;br /&gt;
In diesem Abschnitt befinden sich einige Richtlinien, die zwar nicht zwingend &amp;quot;notwendig&amp;quot; sind, um korrekte Ergebnisse zu erzeilen, jedoch werden sie langfristig helfen, bessere, zuverlässigere und pflegbare [[Software|Software]] zu erstellen. Dies betrifft Customizations, sowie zukünftige Änderungen am Makefile und deren Bestandteile selbst.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn man diese Richtlinien nicht mag, kann man sie ignorieren, zumindest wenn man [[Customization|Customization]] Scripte für den eigenen Bedarf schreibt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Idempotens ==&lt;br /&gt;
Es ist fast immer eine gute Idee zu versuchen, ein Installationsscript [[Wikipedia:Idempotent|idempotent]] zu schreiben. Dies bedeutet, dass das mehrmalige Ausführen den gleichen Effekt hat wie das einmalige Ausführen.&lt;br /&gt;
Benutze &amp;quot;[[Make|make]] install&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In der Vergangenheit hat das [[Tuxbox|Tuxbox]] Makefile die Komponenten zuerst in ''$(targetprefix)'' installiert, und dann die Imageverzeichnisse durch Kopieren der einzelnen Files aus der ''$(targetprefix)'' Hierarchie erstellt. Dieses ist keine sehr gute Softwaretechnik. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Zuerst gehört das Know-How bzgl. [[Installation|Installation]] des Paketes in das Makefile des Pakets, und soll nicht in einem einzigem großen Makefile sitzen, das einfach einzelne Files rüberkopiert. Wenn dieses Paket sich ändert, z.B. man ein Konfigurations-File hinzufügt oder löscht, wird es auch notwendig, das globale Makefile zu ändern.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Es ist häufig der Fall, dass das Makefile, das zu einem Paket gehört, include-Files, (statische) Bibliotheken, Info-Files etc. installiert, die nicht auf einem enbedded System mit beschränktem Speicher erwünscht sind. Die korrekte Lösung zu diesem (wirklichen!) Problem wäre, das Makefile des betreffenden Pakets zu ändern, entweder, um ein flashinstall-Target zu schreiben, oder das Makefile mit einem Parameter wie ''installsize=[full,flash]'' zu versehen.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn dies nicht durchführbar ist, ist es durchaus sinnvoller, daß nach [[Make|make]] -C ... install das Löschen unerwünschter Files besser ist, als das kopieren einzelner Files.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Zu erwähnen ist auch, daß in dem Schritt, der die Verzeichnisse ''$(flashprefix)/root-[[GUI|gui]]-[[Filesystem|filesystem]]'' erzeugt, das include-verzeichnis, sowie alle statischen Bibliotheken gelöscht werden und dynamische Bibliotheken von unbenutzten Symbolen gestrippt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Antworten auf einige Fragen ==&lt;br /&gt;
=== Falls das Build nicht gelingt ===&lt;br /&gt;
Es gibt kein Standardverfahren was zu tun wäre, wenn das Build misslingt. Es wird versucht, hier einige Richtlinien zu geben und diese zu lesen bevor man im Forum postet.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Zuerst, überprüft man den Output der ersten zwei Schritte, '''autogen.sh''' und '''configure''' auf Fehler und Warnungen. Jede Warnung oder Fehler, außer den fünf Warnungen, die oben genannt wurden, zeigen ein Problem an, dass ein Build wahrscheinlich unmöglich macht.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn ein Build abbricht, kann es die Umgebung in einem [[Wikipedia:Inkonsistent|inkonsistenten]] Zustand versetzen. Dies gilt insbesondere für die Verzeichnisse in '''$(flashprefix)'''. Wenn der Bau solch eines [[Make|Make]]-Targets abbricht, besteht das Verzeichnis, ist entsprechend seiner Änderungszeit aktuell, und ein folgender [[Make|make]] Befehl behandelt ihn wie fertig und okay. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Selbstverständlich wird ein fehlerhaftes Build das Ergebniss sein. Wenn ein Build eines Unterverzeichnisses von '''$(flashprefix)''' in die [[BR|Br]]üche geht, '''dann lösche man es''', bevor ein anderer [[Make|Make]] Befehl ausgeführt wird.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bei &amp;quot;es funktionierte gestern&amp;quot;-Problemen, ist vermutlich die Umgebung in solch einem Zustand. Ein mehr-oder-weniger drastischer Reinigungsbefehl (siehe oben) ist hierbei oft schneller als eine Problemsuche.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn man [[Hilfe|Hilfe]] benötigt, siehe unten!.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Nach dem [[Flashen|Flashen]]: &amp;quot;Kein System&amp;quot; auf dem [[LCD|LCD]]/Was ist diese &amp;quot;bad magic byte&amp;quot; Zeugs? ===&lt;br /&gt;
Diese Frage kommt hoffentlich nicht... Die kurze Antwort ist: Man weiß es nicht. Wir [[Wissen|wissen]] es nicht. Aber, wenn Ihr diesen Artikel so weit gelesen habt, erwartet bitte keine &amp;quot;kurze Antworten&amp;quot;, sondern &amp;quot;gute Antworten&amp;quot;. O.K. Das Thema ist ausführlich hier besprochen worden. &amp;lt;br&amp;gt;&lt;br /&gt;
Kurz gesagt, das [[Image|Image]] &amp;quot;ist&amp;quot; in Ordnung, es ist nur dass irgendwelche [[Firmware|Firmware]] in der dBox es zurückweisen wird, weil es einige &amp;quot;schlechte magische Bytes&amp;quot; auf bestimmten Adressen finden wird. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Das Programm [[checkImage]] aus dem [[CVS|CVS]], zu finden im Verzeichnis '''./hostapps/[[CheckImage|checkImage]]''' ermittelt diese &amp;quot;schlechten Bytes&amp;quot;, aber ändert nichts daran, um diese zu beheben. Die Erfahrung zeigt, daß [[Images|Images]], die [[checkImage]] für gut findet, wirklich laufen. [[Squashfs|squashfs]] [[Images|Images]], worüber sich [[CheckImage|checkImage]] beschwert, laufen im allgemeinen nicht, in einigen Ausnahmefällen laufen sie aber doch.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Auch bei [[Jffs2|jffs2]]-[[Images|Images]] ist es manchmal der Fall, dass sich [[checkImage]] beschwert, die [[Images|Images]] laufen, aber eben nicht immer. Mit diesen empirischen Beobachtungen ist man nun sich selbst überlassen.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Der Buildprozess weiß, wie dieses Programm aufgerufen werden kann, um die erzeugenden [[Images|Images]] automatisch zu überprüfen. Die Konfigurationsoption &lt;br /&gt;
 --with-[[CheckImage|checkImage]]=[none,rename,warn] &lt;br /&gt;
wird hierfür verwendet. Falls '''warn''' gewählt ist, wird für jedes [[Image|Image]], das den Test nicht besteht, eine leere Datei erzeugt, am Namen wird ''&amp;quot;_bad&amp;quot;'' angehängt. Wenn '''rename''' gewählt wird, wird das fragliche Imagefile nur umbenannt indem ''&amp;quot;_bad&amp;quot;'' angehängt wird.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Es muss noch erwähnt werden, daß die &amp;quot;schlechten magischen Bytes&amp;quot; in einem (oder mehreren!) der Partitionsteile sitzen, und werden nicht durch den abschließenden Schritt erzeugt, welche die endgültigen *.img1x und/oder *.img2x Files zusammenstellen. Es ist auch möglich, [[CheckImage|checkImage]] auf die einzelnen Partitionsfiles anzuwenden *.[[Jffs2|jffs2]] oder *.[[Squashfs|squashfs]], *.flfs1x, *.flfs2x. &lt;br /&gt;
Schließlich besitzt [[CheckImage|checkImage]] eine Debugoption, die nützlich sein kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ich habe ein Fehler gefunden! ==&lt;br /&gt;
Bugs, Unklarheiten, Verbesserungsvorschläge, etc. der [[Software|Software]] sollten vorzugsweise im [http://tuxbox-forum.dreambox-fan.de/forum/viewforum.php?f=7 Cross Development Kit - Forum] des [[Tuxbox|Tuxbox]]-Boards gepostet werden. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ich benötige [[Hilfe|Hilfe]]! ==&lt;br /&gt;
Supportanfragen können im [http://tuxbox-forum.dreambox-fan.de/forum/viewforum.php?f=7 Cross Development Kit - Forum] des [[Tuxbox|Tuxbox]]-Boards gepostet werden. Postings in deutsch oder englisch sind willkommen. Bitte nicht vergessen, die benutzten Konfigurationsoptionen zu erwähnen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Weblinks=&lt;br /&gt;
*[http://www.gnu.org/software/make/manual/make.html GNU Make manual]&lt;br /&gt;
*[http://www.gnu.org/software/autoconf/manual/ Autoconf manual]&lt;br /&gt;
*[http://www.gnu.org/software/automake/manual/ Automake manual]&lt;br /&gt;
*[http://sources.redhat.com/autobook/ GNU Autoconf, Automake, and Libtool]&lt;br /&gt;
*[http://www.gnu.org/prep/standards/ GNU Coding standards]&lt;br /&gt;
*[http://cvsbook.red-bean.com/ Open Source Development with CVS, 3rd Edition]&lt;br /&gt;
*Barf's Homepage: [http://bengt-martensson.de/dbox2/ Barfs ][[Newmake]]-Dokumentation&lt;br /&gt;
*[http://www.dreambox-fan.de/forum/viewtopic.php?f=13&amp;amp;t=48503&amp;amp;start=0&amp;amp;hilit=VMWare Herstellung eines VMWare-Images]&lt;br /&gt;
*http://linux.bytesex.org/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{review}}&lt;br /&gt;
&lt;br /&gt;
{{body}}&lt;/div&gt;</summary>
		<author><name>Rhabarber1848</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuxbox-neutrino.org/w/index.php?title=Development:GDB_Remote_einrichten&amp;diff=11759</id>
		<title>Development:GDB Remote einrichten</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuxbox-neutrino.org/w/index.php?title=Development:GDB_Remote_einrichten&amp;diff=11759"/>
		<updated>2009-10-30T08:13:41Z</updated>

		<summary type="html">&lt;p&gt;Rhabarber1848: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Register]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:CDK]]&lt;br /&gt;
{{Development_sidebar}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Build Konfiguration=&lt;br /&gt;
cdk/configure &lt;br /&gt;
damit alle Debugsymbole vorhanden sind&lt;br /&gt;
 --disable-flashrules&lt;br /&gt;
 &lt;br /&gt;
 make yadd-neutrino gdb gdb-remote&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Modifikation der Startscripte=&lt;br /&gt;
In cdkroot/etc/init.d/start_neutrino hinter die Zeile&lt;br /&gt;
Code:&lt;br /&gt;
 nhttpd&lt;br /&gt;
&lt;br /&gt;
folgendes einfügen:&lt;br /&gt;
Code:&lt;br /&gt;
 exit 0&lt;br /&gt;
&lt;br /&gt;
=Anwenden=&lt;br /&gt;
weil wir Neutrino manuell starten werden.&lt;br /&gt;
Yadd booten.&lt;br /&gt;
&lt;br /&gt;
Per Telnet auf die Dbox einloggen, dann:&lt;br /&gt;
Code:&lt;br /&gt;
 gdbserver :5555 neutrino&lt;br /&gt;
&lt;br /&gt;
gdb wartet dann auf den connect eines clients:&lt;br /&gt;
Zitat:&lt;br /&gt;
 Process neutrino created; pid = 189&lt;br /&gt;
 Listening on port 5555&lt;br /&gt;
&lt;br /&gt;
Auf dem Client ins Verzeichnis &lt;br /&gt;
 $prefix/cdk/bin &lt;br /&gt;
wechseln und&lt;br /&gt;
Code:&lt;br /&gt;
 ./powerpc-tuxbox-linux-gnu-gdb ../../cdkroot/bin/neutrino&lt;br /&gt;
&lt;br /&gt;
Dann geht es los:&lt;br /&gt;
Code:&lt;br /&gt;
 target remote dbox:5555&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
Wenn Neutrino abgestürzt ist, kann, wie gehabt, mit&lt;br /&gt;
Code:&lt;br /&gt;
 bt full&lt;br /&gt;
&lt;br /&gt;
ein backtrace erzeugt werden.&lt;br /&gt;
&lt;br /&gt;
=Weblinks=&lt;br /&gt;
http://forum.tuxbox.org/forum/viewtopic.php?p=366575#p366575&lt;/div&gt;</summary>
		<author><name>Rhabarber1848</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuxbox-neutrino.org/w/index.php?title=Neutrino:Esound_Soundserver&amp;diff=11378</id>
		<title>Neutrino:Esound Soundserver</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuxbox-neutrino.org/w/index.php?title=Neutrino:Esound_Soundserver&amp;diff=11378"/>
		<updated>2009-05-02T20:24:31Z</updated>

		<summary type="html">&lt;p&gt;Rhabarber1848: /* Voraussetzungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Register]]&lt;br /&gt;
[[Category:Neutrino]]&lt;br /&gt;
{{Neutrino_sidebar}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Allgemeines=&lt;br /&gt;
&lt;br /&gt;
Mit [[Esound]] werden Sounddateien, die z.B.mit einem Player-Programm auf einem Laptop abgespielt werden, über LAN oder WLAN zu einem zweiten PC übertragen und sind dort hörbar. In unserem Fall hier ist die [[dBox2]] der zweite PC. Zu beachten ist, dass Esound auf der Dbox ohne Support für das Laden und die spätere Wiedergabe von Samples kompiliert wurde, um auf libaudiofile.so (&amp;gt; 100kb im Flash) verzichten zu können.&lt;br /&gt;
&lt;br /&gt;
Was ist der Vorteil gegenüber der sonst üblichen Dateifreigabe? Nun, ich sitze am Laptop mit seinen lächerlichen Boxen, starte z.B. eine mp3 und aus meiner Stereoanlage, an die die [[dBox2]] angeschlossen ist, ertönen kräftige Laute. Und so geht es:&lt;br /&gt;
&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
Erforderlich ist ein aktuelles (Stand ab April 2009) [[Image]] mit dem &amp;quot;'''[[Esound|Esound Soundserver]]'''&amp;quot;, welches im [[Neutrino:Hauptmenü|Neutrino Hauptmenü]] ausgewählt wird.&lt;br /&gt;
In den Personalisierungseinstellungen ist dieser Menüpunkt, wie das Internetradio, deaktiviert und muss vor der ersten Benutzung erst sichtbar gemacht werden. &lt;br /&gt;
[[Bild:Menue-esound.png|none|thumb|300px]]&lt;br /&gt;
Wird dieser gestartet, belauscht die Box standardmäßig den Port 16001. Dies kann in der Datei &lt;br /&gt;
&lt;br /&gt;
 /var/etc/init.d/start_esound &lt;br /&gt;
mit dem Parameter &lt;br /&gt;
 -port xxx &lt;br /&gt;
&lt;br /&gt;
geändert werden.&lt;br /&gt;
&lt;br /&gt;
Alternativ zum Neutrino-Menüpunkt kann der Esound-Soundserver auch über yweb, Boxcontrol, Control gestartet und beendet werden.&lt;br /&gt;
&lt;br /&gt;
Nach dem Aufrufen von [[Esound]] erscheint eine kurze Meldung am Bildschirm.&lt;br /&gt;
[[Bild:Esound-end.png|none|thumb|300px]]&lt;br /&gt;
Während der Laufzeit des Esound-Soundservers funktioniert die Lautstärkeregelung der Dbox weiterhin.&lt;br /&gt;
&lt;br /&gt;
Wird der Server nicht mehr benötigt, kann mit der ''home''-Taste in den Normalbetrieb zurückgeschaltet werden.&lt;br /&gt;
&lt;br /&gt;
Nun braucht man nur noch einen PC, der die Sounddatei (das kann auch der Ton eines Filmes sein) zur D-Box schiebt. Das geht mit verschiedenen Medienplayern.&lt;br /&gt;
&lt;br /&gt;
=Grundprogramme für den PC=&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install esound&lt;br /&gt;
 sudo apt-get install esound-clients&lt;br /&gt;
&lt;br /&gt;
Mit &lt;br /&gt;
&lt;br /&gt;
 esd -port 16001 -tcp -public &amp;amp;&lt;br /&gt;
&lt;br /&gt;
kann jetzt ein Soundserver getartet werden. D.h. andere PC's senden ihre Sounddaten hier hin.&lt;br /&gt;
&lt;br /&gt;
Wenn die Dbox alleiniger Soundserver sein soll, ist das Paket esound und das Starten des Soundservers auf dem Client nicht erforderlich.&lt;br /&gt;
&lt;br /&gt;
=Windows=&lt;br /&gt;
Unter Windows eignet sich [[Winamp]] mit dem [http://home.in.tum.de/~pustka/WL-500g_as_wireless_soundcard.html Esound-plugin] out_esd.dll. Dazu unter Host die IP oder den Namen (hier &amp;quot;dbox2&amp;quot;) und den Port eintragen. &lt;br /&gt;
&lt;br /&gt;
''Ganz wichtig:'' Wenn die Verbindung zwischen Winamp und der Dbox2 nicht funktioniert, kann es aufgrund spezifischer Netzwerkkonfigurationen erforderlich sein, unter system32\drivers\etc\hosts die Zeile &amp;quot;192.168.0.5 dbox2&amp;quot; einzufügen, die IP-Adresse und der Hostname müssen dabei den lokalen Gegebenheiten angepasst werden.&lt;br /&gt;
&lt;br /&gt;
Ein Windows Rechner kann aber auch empfangen. Am einfachsten esound.zip runterladen und im DOS-Fenster mit &lt;br /&gt;
 esd.exe -tcp -port 16001 -public&lt;br /&gt;
starten.&lt;br /&gt;
&lt;br /&gt;
=Linux=&lt;br /&gt;
&lt;br /&gt;
Einen Linux PC bewegt man so zum Senden:&lt;br /&gt;
&lt;br /&gt;
==MPlayer==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install mplayer&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; gmplayer&lt;br /&gt;
&lt;br /&gt;
bei Preferences Audio ''esd'' wählen&lt;br /&gt;
&lt;br /&gt;
==Player auf xine Basis==&lt;br /&gt;
&lt;br /&gt;
hier muß noch ein esd plugin geladen werden&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install libxine1-gnome&lt;br /&gt;
&lt;br /&gt;
==amarok==&lt;br /&gt;
&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; amarokapp&lt;br /&gt;
&lt;br /&gt;
bei Audio Ausgabe ''esd'' wählen&lt;br /&gt;
&lt;br /&gt;
==KMPlayer==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install kmplayer&lt;br /&gt;
&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; kmplayer&lt;br /&gt;
&lt;br /&gt;
bei KMPlayer einrichten Ausgabe auf ''esd'' stellen&lt;br /&gt;
&lt;br /&gt;
==kaffeine==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install kaffeine&lt;br /&gt;
&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; kaffeine&lt;br /&gt;
&lt;br /&gt;
bei xine-Parameter ''esd'' wählen&lt;br /&gt;
&lt;br /&gt;
==mpg123==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install mpg123-esd&lt;br /&gt;
&lt;br /&gt;
 ESPEAKER=192.168.0.5:16001 mpg123-esd datei.mp3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Bitte beachten,'''&lt;br /&gt;
''die Player benötigen alle libxine1-gnome.''&lt;br /&gt;
&lt;br /&gt;
Wer Lust hat, kann ja bitte noch weitere Player testen.&lt;br /&gt;
&lt;br /&gt;
liab&lt;br /&gt;
&lt;br /&gt;
=Weblinks=&lt;br /&gt;
*esd Winamp Plugin http://www.linuxfan.dk/download/readme-ESD.txt&lt;br /&gt;
*Winamp-Player http://www.winamp.com/&lt;/div&gt;</summary>
		<author><name>Rhabarber1848</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuxbox-neutrino.org/w/index.php?title=Esound&amp;diff=11368</id>
		<title>Esound</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuxbox-neutrino.org/w/index.php?title=Esound&amp;diff=11368"/>
		<updated>2009-04-17T09:03:57Z</updated>

		<summary type="html">&lt;p&gt;Rhabarber1848: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der '''Enlightened Sound Daemon''', kurz '''EsounD''' oder '''esd''', ist ein Sound[[server]], der normalerweise von den [[WP:Fenstermanager|Fenstermanager]]n [[WP:Enlightenment|Enlightenment]] und [[WP:GNOME|Gnome]] verwendet wird.&lt;br /&gt;
&lt;br /&gt;
Zweck eines Soundservers ist es, dafür zu sorgen, dass mehrere [[Anwendungsprogramm|Anwendungen]] gleichzeitig Audiosignale ausgeben können. Dazu greifen die Anwendungen selbst nicht mehr direkt auf das Audiogerät beziehungsweise deren Treiber zu, sondern senden stattdessen den wiederzugebenden Audiostrom an den Soundserver. Dieser mischt die Ströme und spielt das Ergebnis dann über das Audiogerät ab.&lt;br /&gt;
&lt;br /&gt;
EsounD verfügt auch über einfache [[WP:Sequenzer (Musik)|Sequenzer]]fähigkeiten; so können [[WP:Computersample|Samples]] geladen und später wiedergegeben werden, auf der Dbox2 ist diese Funktion aus Platzgründen nicht implementiert. Weiterhin ist EsounD [[WP:Netzwerktransparenz|netzwerktransparent]] - ein Programm muss also nicht auf demselben [[WP:Host (Informationstechnik)|Host]] wie der Soundserver laufen, um Audioströme an diesen zu senden.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://www.tux.org/~ricdude/EsounD.html EsounD Website] (englisch)&lt;br /&gt;
* [ftp://ftp.gnome.org/pub/GNOME/sources/esound/0.2/ FTP-Server mit neuen Releases]&lt;/div&gt;</summary>
		<author><name>Rhabarber1848</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuxbox-neutrino.org/w/index.php?title=Neutrino:Esound_Soundserver&amp;diff=11367</id>
		<title>Neutrino:Esound Soundserver</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuxbox-neutrino.org/w/index.php?title=Neutrino:Esound_Soundserver&amp;diff=11367"/>
		<updated>2009-04-17T09:03:09Z</updated>

		<summary type="html">&lt;p&gt;Rhabarber1848: /* Allgemeines */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Register]]&lt;br /&gt;
[[Category:Neutrino]]&lt;br /&gt;
{{Neutrino_sidebar}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Allgemeines=&lt;br /&gt;
&lt;br /&gt;
Mit [[Esound]] werden Sounddateien, die z.B.mit einem Player-Programm auf einem Laptop abgespielt werden, über LAN oder WLAN zu einem zweiten PC übertragen und sind dort hörbar. In unserem Fall hier ist die [[dBox2]] der zweite PC. Zu beachten ist, dass Esound auf der Dbox ohne Support für das Laden und die spätere Wiedergabe von Samples kompiliert wurde, um auf libaudiofile.so (&amp;gt; 100kb im Flash) verzichten zu können.&lt;br /&gt;
&lt;br /&gt;
Was ist der Vorteil gegenüber der sonst üblichen Dateifreigabe? Nun, ich sitze am Laptop mit seinen lächerlichen Boxen, starte z.B. eine mp3 und aus meiner Stereoanlage, an die die [[dBox2]] angeschlossen ist, ertönen kräftige Laute. Und so geht es:&lt;br /&gt;
&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
Erforderlich ist ein aktuelles (Stand ab April 2009) [[Image]] mit dem &amp;quot;'''[[Esound|Esound Soundserver]]'''&amp;quot;, welches im [[Neutrino:Hauptmenü|Neutrino Hauptmenü]] ausgewählt wird.&lt;br /&gt;
In den Personalisierungseinstellungen ist dieser Menüpunkt, wie das Internetradio, deaktiviert und muss vor der ersten Benutzung erst sichtbar gemacht werden. &lt;br /&gt;
[[Bild:Menue-esound.png|none|thumb|300px]]&lt;br /&gt;
Wird dieser gestartet, belauscht die Box standardmäßig den Port 16001. Dies kann in der Datei &lt;br /&gt;
&lt;br /&gt;
 /var/etc/init.d/start_esound &lt;br /&gt;
mit dem Parameter &lt;br /&gt;
 -port xxx &lt;br /&gt;
&lt;br /&gt;
geändert werden.&lt;br /&gt;
&lt;br /&gt;
Nach dem Aufrufen von [[Esound]] erscheint eine kurze Meldung am Bildschirm.&lt;br /&gt;
[[Bild:Esound-end.png|none|thumb|300px]]&lt;br /&gt;
Während der Laufzeit des Esound-Soundservers funktioniert die Lautstärkeregelung der Dbox weiterhin.&lt;br /&gt;
&lt;br /&gt;
Wird der Server nicht mehr benötigt, kann mit der ''home''-Taste in den Normalbetrieb zurückgeschaltet werden.&lt;br /&gt;
&lt;br /&gt;
Nun braucht man nur noch einen PC, der die Sounddatei (das kann auch der Ton eines Filmes sein) zur D-Box schiebt. Das geht mit verschiedenen Medienplayern.&lt;br /&gt;
&lt;br /&gt;
=Grundprogramme für den PC=&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install esound&lt;br /&gt;
 sudo apt-get install esound-clients&lt;br /&gt;
&lt;br /&gt;
Mit &lt;br /&gt;
&lt;br /&gt;
 esd -port 16001 -tcp -public &amp;amp;&lt;br /&gt;
&lt;br /&gt;
kann jetzt ein Soundserver getartet werden. D.h. andere PC's senden ihre Sounddaten hier hin.&lt;br /&gt;
&lt;br /&gt;
Wenn die Dbox alleiniger Soundserver sein soll, ist das Paket esound und das Starten des Soundservers auf dem Client nicht erforderlich.&lt;br /&gt;
&lt;br /&gt;
=Windows=&lt;br /&gt;
Unter Windows eignet sich [[Winamp]] mit dem [http://home.in.tum.de/~pustka/WL-500g_as_wireless_soundcard.html Esound-plugin] out_esd.dll. Dazu unter Host die IP oder den Namen (hier &amp;quot;dbox2&amp;quot;) und den Port eintragen. &lt;br /&gt;
&lt;br /&gt;
''Ganz wichtig:'' Wenn die Verbindung zwischen Winamp und der Dbox2 nicht funktioniert, kann es aufgrund spezifischer Netzwerkkonfigurationen erforderlich sein, unter system32\drivers\etc\hosts die Zeile &amp;quot;192.168.0.5 dbox2&amp;quot; einzufügen, die IP-Adresse und der Hostname müssen dabei den lokalen Gegebenheiten angepasst werden.&lt;br /&gt;
&lt;br /&gt;
Ein Windows Rechner kann aber auch empfangen. Am einfachsten esound.zip runterladen und im DOS-Fenster mit &lt;br /&gt;
 esd.exe -tcp -port 16001 -public&lt;br /&gt;
starten.&lt;br /&gt;
&lt;br /&gt;
=Linux=&lt;br /&gt;
&lt;br /&gt;
Einen Linux PC bewegt man so zum Senden:&lt;br /&gt;
&lt;br /&gt;
==MPlayer==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install mplayer&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; gmplayer&lt;br /&gt;
&lt;br /&gt;
bei Preferences Audio ''esd'' wählen&lt;br /&gt;
&lt;br /&gt;
==Player auf xine Basis==&lt;br /&gt;
&lt;br /&gt;
hier muß noch ein esd plugin geladen werden&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install libxine1-gnome&lt;br /&gt;
&lt;br /&gt;
==amarok==&lt;br /&gt;
&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; amarokapp&lt;br /&gt;
&lt;br /&gt;
bei Audio Ausgabe ''esd'' wählen&lt;br /&gt;
&lt;br /&gt;
==KMPlayer==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install kmplayer&lt;br /&gt;
&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; kmplayer&lt;br /&gt;
&lt;br /&gt;
bei KMPlayer einrichten Ausgabe auf ''esd'' stellen&lt;br /&gt;
&lt;br /&gt;
==kaffeine==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install kaffeine&lt;br /&gt;
&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; kaffeine&lt;br /&gt;
&lt;br /&gt;
bei xine-Parameter ''esd'' wählen&lt;br /&gt;
&lt;br /&gt;
==mpg123==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install mpg123-esd&lt;br /&gt;
&lt;br /&gt;
 ESPEAKER=192.168.0.5:16001 mpg123-esd datei.mp3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Bitte beachten,'''&lt;br /&gt;
''die Player benötigen alle libxine1-gnome.''&lt;br /&gt;
&lt;br /&gt;
Wer Lust hat, kann ja bitte noch weitere Player testen.&lt;br /&gt;
&lt;br /&gt;
liab&lt;br /&gt;
&lt;br /&gt;
=Weblinks=&lt;br /&gt;
*esd Winamp Plugin http://www.linuxfan.dk/download/readme-ESD.txt&lt;br /&gt;
*Winamp-Player http://www.winamp.com/&lt;/div&gt;</summary>
		<author><name>Rhabarber1848</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuxbox-neutrino.org/w/index.php?title=Neutrino:Esound_Soundserver&amp;diff=11365</id>
		<title>Neutrino:Esound Soundserver</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuxbox-neutrino.org/w/index.php?title=Neutrino:Esound_Soundserver&amp;diff=11365"/>
		<updated>2009-04-15T21:42:27Z</updated>

		<summary type="html">&lt;p&gt;Rhabarber1848: /* Windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Register]]&lt;br /&gt;
[[Category:Neutrino]]&lt;br /&gt;
{{Neutrino_sidebar}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Allgemeines=&lt;br /&gt;
&lt;br /&gt;
Mit [[Esound]] werden Sounddateien, die z.B.mit einem Player-Programm auf einem Laptop abgespielt werden, über LAN oder WLAN zu einem zweiten PC übertragen und sind dort hörbar. In unserem Fall hier ist die [[dBox2]] der zweite PC.&lt;br /&gt;
&lt;br /&gt;
Was ist der Vorteil gegenüber der sonst üblichen Dateifreigabe? Nun, ich sitze am Laptop mit seinen lächerlichen Boxen, starte z.B. eine mp3 und aus meiner Stereoanlage, an die die [[dBox2]] angeschlossen ist, ertönen kräftige Laute. Und so geht es:&lt;br /&gt;
&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
Erforderlich ist ein aktuelles (Stand ab April 2009) [[Image]] mit dem &amp;quot;'''[[Esound|Esound Soundserver]]'''&amp;quot;, welches im [[Neutrino:Hauptmenü|Neutrino Hauptmenü]] ausgewählt wird.&lt;br /&gt;
In den Personalisierungseinstellungen ist dieser Menüpunkt, wie das Internetradio, deaktiviert und muss vor der ersten Benutzung erst sichtbar gemacht werden. &lt;br /&gt;
[[Bild:Menue-esound.png|none|thumb|300px]]&lt;br /&gt;
Wird dieser gestartet, belauscht die Box standardmäßig den Port 16001. Dies kann in der Datei &lt;br /&gt;
&lt;br /&gt;
 /var/etc/init.d/start_esound &lt;br /&gt;
mit dem Parameter &lt;br /&gt;
 -port xxx &lt;br /&gt;
&lt;br /&gt;
geändert werden.&lt;br /&gt;
&lt;br /&gt;
Nach dem Aufrufen von [[Esound]] erscheint eine kurze Meldung am Bildschirm.&lt;br /&gt;
[[Bild:Esound-end.png|none|thumb|300px]]&lt;br /&gt;
Während der Laufzeit des Esound-Soundservers funktioniert die Lautstärkeregelung der Dbox weiterhin.&lt;br /&gt;
&lt;br /&gt;
Wird der Server nicht mehr benötigt, kann mit der ''home''-Taste in den Normalbetrieb zurückgeschaltet werden.&lt;br /&gt;
&lt;br /&gt;
Nun braucht man nur noch einen PC, der die Sounddatei (das kann auch der Ton eines Filmes sein) zur D-Box schiebt. Das geht mit verschiedenen Medienplayern.&lt;br /&gt;
&lt;br /&gt;
=Grundprogramme für den PC=&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install esound&lt;br /&gt;
 sudo apt-get install esound-clients&lt;br /&gt;
&lt;br /&gt;
Mit &lt;br /&gt;
&lt;br /&gt;
 esd -port 16001 -tcp -public &amp;amp;&lt;br /&gt;
&lt;br /&gt;
kann jetzt ein Soundserver getartet werden. D.h. andere PC's senden ihre Sounddaten hier hin.&lt;br /&gt;
&lt;br /&gt;
Wenn die Dbox alleiniger Soundserver sein soll, ist das Paket esound und das Starten des Soundservers auf dem Client nicht erforderlich.&lt;br /&gt;
&lt;br /&gt;
=Windows=&lt;br /&gt;
Unter Windows eignet sich [[Winamp]] mit dem [http://home.in.tum.de/~pustka/WL-500g_as_wireless_soundcard.html Esound-plugin] out_esd.dll. Dazu unter Host die IP oder den Namen (hier &amp;quot;dbox2&amp;quot;) und den Port eintragen. &lt;br /&gt;
&lt;br /&gt;
''Ganz wichtig:'' Wenn die Verbindung zwischen Winamp und der Dbox2 nicht funktioniert, kann es aufgrund spezifischer Netzwerkkonfigurationen erforderlich sein, unter system32\drivers\etc\hosts die Zeile &amp;quot;192.168.0.5 dbox2&amp;quot; einzufügen, die IP-Adresse und der Hostname müssen dabei den lokalen Gegebenheiten angepasst werden.&lt;br /&gt;
&lt;br /&gt;
Ein Windows Rechner kann aber auch empfangen. Am einfachsten esound.zip runterladen und im DOS-Fenster mit &lt;br /&gt;
 esd.exe -tcp -port 16001 -public&lt;br /&gt;
starten.&lt;br /&gt;
&lt;br /&gt;
=Linux=&lt;br /&gt;
&lt;br /&gt;
Einen Linux PC bewegt man so zum Senden:&lt;br /&gt;
&lt;br /&gt;
==MPlayer==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install mplayer&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; gmplayer&lt;br /&gt;
&lt;br /&gt;
bei Preferences Audio ''esd'' wählen&lt;br /&gt;
&lt;br /&gt;
==Player auf xine Basis==&lt;br /&gt;
&lt;br /&gt;
hier muß noch ein esd plugin geladen werden&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install libxine1-gnome&lt;br /&gt;
&lt;br /&gt;
==amarok==&lt;br /&gt;
&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; amarokapp&lt;br /&gt;
&lt;br /&gt;
bei Audio Ausgabe ''esd'' wählen&lt;br /&gt;
&lt;br /&gt;
==KMPlayer==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install kmplayer&lt;br /&gt;
&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; kmplayer&lt;br /&gt;
&lt;br /&gt;
bei KMPlayer einrichten Ausgabe auf ''esd'' stellen&lt;br /&gt;
&lt;br /&gt;
==kaffeine==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install kaffeine&lt;br /&gt;
&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; kaffeine&lt;br /&gt;
&lt;br /&gt;
bei xine-Parameter ''esd'' wählen&lt;br /&gt;
&lt;br /&gt;
==mpg123==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install mpg123-esd&lt;br /&gt;
&lt;br /&gt;
 ESPEAKER=192.168.0.5:16001 mpg123-esd datei.mp3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Bitte beachten,'''&lt;br /&gt;
''die Player benötigen alle libxine1-gnome.''&lt;br /&gt;
&lt;br /&gt;
Wer Lust hat, kann ja bitte noch weitere Player testen.&lt;br /&gt;
&lt;br /&gt;
liab&lt;br /&gt;
&lt;br /&gt;
=Weblinks=&lt;br /&gt;
*esd Winamp Plugin http://www.linuxfan.dk/download/readme-ESD.txt&lt;br /&gt;
*Winamp-Player http://www.winamp.com/&lt;/div&gt;</summary>
		<author><name>Rhabarber1848</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuxbox-neutrino.org/w/index.php?title=Neutrino:Esound_Soundserver&amp;diff=11364</id>
		<title>Neutrino:Esound Soundserver</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuxbox-neutrino.org/w/index.php?title=Neutrino:Esound_Soundserver&amp;diff=11364"/>
		<updated>2009-04-15T21:38:21Z</updated>

		<summary type="html">&lt;p&gt;Rhabarber1848: /* Grundprogramme für den PC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Register]]&lt;br /&gt;
[[Category:Neutrino]]&lt;br /&gt;
{{Neutrino_sidebar}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Allgemeines=&lt;br /&gt;
&lt;br /&gt;
Mit [[Esound]] werden Sounddateien, die z.B.mit einem Player-Programm auf einem Laptop abgespielt werden, über LAN oder WLAN zu einem zweiten PC übertragen und sind dort hörbar. In unserem Fall hier ist die [[dBox2]] der zweite PC.&lt;br /&gt;
&lt;br /&gt;
Was ist der Vorteil gegenüber der sonst üblichen Dateifreigabe? Nun, ich sitze am Laptop mit seinen lächerlichen Boxen, starte z.B. eine mp3 und aus meiner Stereoanlage, an die die [[dBox2]] angeschlossen ist, ertönen kräftige Laute. Und so geht es:&lt;br /&gt;
&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
Erforderlich ist ein aktuelles (Stand ab April 2009) [[Image]] mit dem &amp;quot;'''[[Esound|Esound Soundserver]]'''&amp;quot;, welches im [[Neutrino:Hauptmenü|Neutrino Hauptmenü]] ausgewählt wird.&lt;br /&gt;
In den Personalisierungseinstellungen ist dieser Menüpunkt, wie das Internetradio, deaktiviert und muss vor der ersten Benutzung erst sichtbar gemacht werden. &lt;br /&gt;
[[Bild:Menue-esound.png|none|thumb|300px]]&lt;br /&gt;
Wird dieser gestartet, belauscht die Box standardmäßig den Port 16001. Dies kann in der Datei &lt;br /&gt;
&lt;br /&gt;
 /var/etc/init.d/start_esound &lt;br /&gt;
mit dem Parameter &lt;br /&gt;
 -port xxx &lt;br /&gt;
&lt;br /&gt;
geändert werden.&lt;br /&gt;
&lt;br /&gt;
Nach dem Aufrufen von [[Esound]] erscheint eine kurze Meldung am Bildschirm.&lt;br /&gt;
[[Bild:Esound-end.png|none|thumb|300px]]&lt;br /&gt;
Während der Laufzeit des Esound-Soundservers funktioniert die Lautstärkeregelung der Dbox weiterhin.&lt;br /&gt;
&lt;br /&gt;
Wird der Server nicht mehr benötigt, kann mit der ''home''-Taste in den Normalbetrieb zurückgeschaltet werden.&lt;br /&gt;
&lt;br /&gt;
Nun braucht man nur noch einen PC, der die Sounddatei (das kann auch der Ton eines Filmes sein) zur D-Box schiebt. Das geht mit verschiedenen Medienplayern.&lt;br /&gt;
&lt;br /&gt;
=Grundprogramme für den PC=&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install esound&lt;br /&gt;
 sudo apt-get install esound-clients&lt;br /&gt;
&lt;br /&gt;
Mit &lt;br /&gt;
&lt;br /&gt;
 esd -port 16001 -tcp -public &amp;amp;&lt;br /&gt;
&lt;br /&gt;
kann jetzt ein Soundserver getartet werden. D.h. andere PC's senden ihre Sounddaten hier hin.&lt;br /&gt;
&lt;br /&gt;
Wenn die Dbox alleiniger Soundserver sein soll, ist das Paket esound und das Starten des Soundservers auf dem Client nicht erforderlich.&lt;br /&gt;
&lt;br /&gt;
=Windows=&lt;br /&gt;
Bei windows eignet sich [[Winamp]] mit dem [[Esound]] [[Link-Text]]plugin (die Datei heißt out_esd.dll). Dazu unter Host die IP oder den Namen (hier &amp;quot;dbox2&amp;quot;) und den Port eintragen. &lt;br /&gt;
&lt;br /&gt;
''Ganz wichtig:'' Unter system32\drivers\etc\hosts die Zeile &amp;quot;192.168.0.5 dbox2&amp;quot; einfügen. Vergißt man das, funktioniert es je nach Netzwerkkonfiguration nicht!&lt;br /&gt;
&lt;br /&gt;
Ein Windows Rechner kann aber auch empfangen. Am einfachsten esound.zip runterladen und im DOS-Fenster mit &lt;br /&gt;
 esd.exe -tcp -port 16001 -public&lt;br /&gt;
starten.&lt;br /&gt;
&lt;br /&gt;
=Linux=&lt;br /&gt;
&lt;br /&gt;
Einen Linux PC bewegt man so zum Senden:&lt;br /&gt;
&lt;br /&gt;
==MPlayer==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install mplayer&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; gmplayer&lt;br /&gt;
&lt;br /&gt;
bei Preferences Audio ''esd'' wählen&lt;br /&gt;
&lt;br /&gt;
==Player auf xine Basis==&lt;br /&gt;
&lt;br /&gt;
hier muß noch ein esd plugin geladen werden&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install libxine1-gnome&lt;br /&gt;
&lt;br /&gt;
==amarok==&lt;br /&gt;
&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; amarokapp&lt;br /&gt;
&lt;br /&gt;
bei Audio Ausgabe ''esd'' wählen&lt;br /&gt;
&lt;br /&gt;
==KMPlayer==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install kmplayer&lt;br /&gt;
&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; kmplayer&lt;br /&gt;
&lt;br /&gt;
bei KMPlayer einrichten Ausgabe auf ''esd'' stellen&lt;br /&gt;
&lt;br /&gt;
==kaffeine==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install kaffeine&lt;br /&gt;
&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; kaffeine&lt;br /&gt;
&lt;br /&gt;
bei xine-Parameter ''esd'' wählen&lt;br /&gt;
&lt;br /&gt;
==mpg123==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install mpg123-esd&lt;br /&gt;
&lt;br /&gt;
 ESPEAKER=192.168.0.5:16001 mpg123-esd datei.mp3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Bitte beachten,'''&lt;br /&gt;
''die Player benötigen alle libxine1-gnome.''&lt;br /&gt;
&lt;br /&gt;
Wer Lust hat, kann ja bitte noch weitere Player testen.&lt;br /&gt;
&lt;br /&gt;
liab&lt;br /&gt;
&lt;br /&gt;
=Weblinks=&lt;br /&gt;
*esd Winamp Plugin http://www.linuxfan.dk/download/readme-ESD.txt&lt;br /&gt;
*Winamp-Player http://www.winamp.com/&lt;/div&gt;</summary>
		<author><name>Rhabarber1848</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuxbox-neutrino.org/w/index.php?title=Neutrino:Esound_Soundserver&amp;diff=11363</id>
		<title>Neutrino:Esound Soundserver</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuxbox-neutrino.org/w/index.php?title=Neutrino:Esound_Soundserver&amp;diff=11363"/>
		<updated>2009-04-15T21:37:50Z</updated>

		<summary type="html">&lt;p&gt;Rhabarber1848: /* Voraussetzungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Register]]&lt;br /&gt;
[[Category:Neutrino]]&lt;br /&gt;
{{Neutrino_sidebar}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Allgemeines=&lt;br /&gt;
&lt;br /&gt;
Mit [[Esound]] werden Sounddateien, die z.B.mit einem Player-Programm auf einem Laptop abgespielt werden, über LAN oder WLAN zu einem zweiten PC übertragen und sind dort hörbar. In unserem Fall hier ist die [[dBox2]] der zweite PC.&lt;br /&gt;
&lt;br /&gt;
Was ist der Vorteil gegenüber der sonst üblichen Dateifreigabe? Nun, ich sitze am Laptop mit seinen lächerlichen Boxen, starte z.B. eine mp3 und aus meiner Stereoanlage, an die die [[dBox2]] angeschlossen ist, ertönen kräftige Laute. Und so geht es:&lt;br /&gt;
&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
Erforderlich ist ein aktuelles (Stand ab April 2009) [[Image]] mit dem &amp;quot;'''[[Esound|Esound Soundserver]]'''&amp;quot;, welches im [[Neutrino:Hauptmenü|Neutrino Hauptmenü]] ausgewählt wird.&lt;br /&gt;
In den Personalisierungseinstellungen ist dieser Menüpunkt, wie das Internetradio, deaktiviert und muss vor der ersten Benutzung erst sichtbar gemacht werden. &lt;br /&gt;
[[Bild:Menue-esound.png|none|thumb|300px]]&lt;br /&gt;
Wird dieser gestartet, belauscht die Box standardmäßig den Port 16001. Dies kann in der Datei &lt;br /&gt;
&lt;br /&gt;
 /var/etc/init.d/start_esound &lt;br /&gt;
mit dem Parameter &lt;br /&gt;
 -port xxx &lt;br /&gt;
&lt;br /&gt;
geändert werden.&lt;br /&gt;
&lt;br /&gt;
Nach dem Aufrufen von [[Esound]] erscheint eine kurze Meldung am Bildschirm.&lt;br /&gt;
[[Bild:Esound-end.png|none|thumb|300px]]&lt;br /&gt;
Während der Laufzeit des Esound-Soundservers funktioniert die Lautstärkeregelung der Dbox weiterhin.&lt;br /&gt;
&lt;br /&gt;
Wird der Server nicht mehr benötigt, kann mit der ''home''-Taste in den Normalbetrieb zurückgeschaltet werden.&lt;br /&gt;
&lt;br /&gt;
Nun braucht man nur noch einen PC, der die Sounddatei (das kann auch der Ton eines Filmes sein) zur D-Box schiebt. Das geht mit verschiedenen Medienplayern.&lt;br /&gt;
&lt;br /&gt;
=Grundprogramme für den PC=&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install esound&lt;br /&gt;
 sudo apt-get install esound-clients&lt;br /&gt;
&lt;br /&gt;
Mit &lt;br /&gt;
&lt;br /&gt;
 esd -port 16001 -tcp -public &amp;amp;&lt;br /&gt;
&lt;br /&gt;
kann jetzt ein Soundserver getartet werden. D.h. andere PC's senden ihre Sounddaten hier hin.&lt;br /&gt;
&lt;br /&gt;
Wenn die Dbox alleiniger Soundserver sein soll, ist das Paket esound auf dem Client nicht erforderlich.&lt;br /&gt;
&lt;br /&gt;
=Windows=&lt;br /&gt;
Bei windows eignet sich [[Winamp]] mit dem [[Esound]] [[Link-Text]]plugin (die Datei heißt out_esd.dll). Dazu unter Host die IP oder den Namen (hier &amp;quot;dbox2&amp;quot;) und den Port eintragen. &lt;br /&gt;
&lt;br /&gt;
''Ganz wichtig:'' Unter system32\drivers\etc\hosts die Zeile &amp;quot;192.168.0.5 dbox2&amp;quot; einfügen. Vergißt man das, funktioniert es je nach Netzwerkkonfiguration nicht!&lt;br /&gt;
&lt;br /&gt;
Ein Windows Rechner kann aber auch empfangen. Am einfachsten esound.zip runterladen und im DOS-Fenster mit &lt;br /&gt;
 esd.exe -tcp -port 16001 -public&lt;br /&gt;
starten.&lt;br /&gt;
&lt;br /&gt;
=Linux=&lt;br /&gt;
&lt;br /&gt;
Einen Linux PC bewegt man so zum Senden:&lt;br /&gt;
&lt;br /&gt;
==MPlayer==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install mplayer&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; gmplayer&lt;br /&gt;
&lt;br /&gt;
bei Preferences Audio ''esd'' wählen&lt;br /&gt;
&lt;br /&gt;
==Player auf xine Basis==&lt;br /&gt;
&lt;br /&gt;
hier muß noch ein esd plugin geladen werden&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install libxine1-gnome&lt;br /&gt;
&lt;br /&gt;
==amarok==&lt;br /&gt;
&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; amarokapp&lt;br /&gt;
&lt;br /&gt;
bei Audio Ausgabe ''esd'' wählen&lt;br /&gt;
&lt;br /&gt;
==KMPlayer==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install kmplayer&lt;br /&gt;
&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; kmplayer&lt;br /&gt;
&lt;br /&gt;
bei KMPlayer einrichten Ausgabe auf ''esd'' stellen&lt;br /&gt;
&lt;br /&gt;
==kaffeine==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install kaffeine&lt;br /&gt;
&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; kaffeine&lt;br /&gt;
&lt;br /&gt;
bei xine-Parameter ''esd'' wählen&lt;br /&gt;
&lt;br /&gt;
==mpg123==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install mpg123-esd&lt;br /&gt;
&lt;br /&gt;
 ESPEAKER=192.168.0.5:16001 mpg123-esd datei.mp3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Bitte beachten,'''&lt;br /&gt;
''die Player benötigen alle libxine1-gnome.''&lt;br /&gt;
&lt;br /&gt;
Wer Lust hat, kann ja bitte noch weitere Player testen.&lt;br /&gt;
&lt;br /&gt;
liab&lt;br /&gt;
&lt;br /&gt;
=Weblinks=&lt;br /&gt;
*esd Winamp Plugin http://www.linuxfan.dk/download/readme-ESD.txt&lt;br /&gt;
*Winamp-Player http://www.winamp.com/&lt;/div&gt;</summary>
		<author><name>Rhabarber1848</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuxbox-neutrino.org/w/index.php?title=Neutrino:Esound_Soundserver&amp;diff=11362</id>
		<title>Neutrino:Esound Soundserver</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuxbox-neutrino.org/w/index.php?title=Neutrino:Esound_Soundserver&amp;diff=11362"/>
		<updated>2009-04-15T21:36:48Z</updated>

		<summary type="html">&lt;p&gt;Rhabarber1848: /* Voraussetzungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Register]]&lt;br /&gt;
[[Category:Neutrino]]&lt;br /&gt;
{{Neutrino_sidebar}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Allgemeines=&lt;br /&gt;
&lt;br /&gt;
Mit [[Esound]] werden Sounddateien, die z.B.mit einem Player-Programm auf einem Laptop abgespielt werden, über LAN oder WLAN zu einem zweiten PC übertragen und sind dort hörbar. In unserem Fall hier ist die [[dBox2]] der zweite PC.&lt;br /&gt;
&lt;br /&gt;
Was ist der Vorteil gegenüber der sonst üblichen Dateifreigabe? Nun, ich sitze am Laptop mit seinen lächerlichen Boxen, starte z.B. eine mp3 und aus meiner Stereoanlage, an die die [[dBox2]] angeschlossen ist, ertönen kräftige Laute. Und so geht es:&lt;br /&gt;
&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
Erforderlich ist ein aktuelles (Stand ab April 2009) [[Image]] mit dem &amp;quot;'''[[Esound|Esound Soundserver]]'''&amp;quot;, welches im [[Neutrino:Hauptmenü|Neutrino Hauptmenü]] ausgewählt wird.&lt;br /&gt;
In den Personalisierungseinstellungen ist dieser Menüpunkt, wie das Internetradio, deaktiviert und muss vor der ersten Benutzung erst sichtbar gemacht werden. &lt;br /&gt;
[[Bild:Menue-esound.png|none|thumb|300px]]&lt;br /&gt;
Wird dieser gestartet, belauscht die Box standardmäßig den Port 16001. Dies kann in der Datei &lt;br /&gt;
&lt;br /&gt;
 /var/etc/init.d/start_esound &lt;br /&gt;
mit dem Parameter &lt;br /&gt;
 -port xxx &lt;br /&gt;
&lt;br /&gt;
geändert werden.&lt;br /&gt;
&lt;br /&gt;
Nach dem Aufrufen von [[Esound]] erscheint eine kurze Meldung am Bildschirm.&lt;br /&gt;
[[Bild:Esound-end.png|none|thumb|300px]]&lt;br /&gt;
Wird der Server nicht mehr benötigt, kann mit der ''home''-Taste in den Normalbetrieb zurückgeschaltet werden.&lt;br /&gt;
&lt;br /&gt;
Nun braucht man nur noch einen PC, der die Sounddatei (das kann auch der Ton eines Filmes sein) zur D-Box schiebt. Das geht mit verschiedenen Medienplayern.&lt;br /&gt;
&lt;br /&gt;
=Grundprogramme für den PC=&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install esound&lt;br /&gt;
 sudo apt-get install esound-clients&lt;br /&gt;
&lt;br /&gt;
Mit &lt;br /&gt;
&lt;br /&gt;
 esd -port 16001 -tcp -public &amp;amp;&lt;br /&gt;
&lt;br /&gt;
kann jetzt ein Soundserver getartet werden. D.h. andere PC's senden ihre Sounddaten hier hin.&lt;br /&gt;
&lt;br /&gt;
Wenn die Dbox alleiniger Soundserver sein soll, ist das Paket esound auf dem Client nicht erforderlich.&lt;br /&gt;
&lt;br /&gt;
=Windows=&lt;br /&gt;
Bei windows eignet sich [[Winamp]] mit dem [[Esound]] [[Link-Text]]plugin (die Datei heißt out_esd.dll). Dazu unter Host die IP oder den Namen (hier &amp;quot;dbox2&amp;quot;) und den Port eintragen. &lt;br /&gt;
&lt;br /&gt;
''Ganz wichtig:'' Unter system32\drivers\etc\hosts die Zeile &amp;quot;192.168.0.5 dbox2&amp;quot; einfügen. Vergißt man das, funktioniert es je nach Netzwerkkonfiguration nicht!&lt;br /&gt;
&lt;br /&gt;
Ein Windows Rechner kann aber auch empfangen. Am einfachsten esound.zip runterladen und im DOS-Fenster mit &lt;br /&gt;
 esd.exe -tcp -port 16001 -public&lt;br /&gt;
starten.&lt;br /&gt;
&lt;br /&gt;
=Linux=&lt;br /&gt;
&lt;br /&gt;
Einen Linux PC bewegt man so zum Senden:&lt;br /&gt;
&lt;br /&gt;
==MPlayer==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install mplayer&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; gmplayer&lt;br /&gt;
&lt;br /&gt;
bei Preferences Audio ''esd'' wählen&lt;br /&gt;
&lt;br /&gt;
==Player auf xine Basis==&lt;br /&gt;
&lt;br /&gt;
hier muß noch ein esd plugin geladen werden&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install libxine1-gnome&lt;br /&gt;
&lt;br /&gt;
==amarok==&lt;br /&gt;
&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; amarokapp&lt;br /&gt;
&lt;br /&gt;
bei Audio Ausgabe ''esd'' wählen&lt;br /&gt;
&lt;br /&gt;
==KMPlayer==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install kmplayer&lt;br /&gt;
&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; kmplayer&lt;br /&gt;
&lt;br /&gt;
bei KMPlayer einrichten Ausgabe auf ''esd'' stellen&lt;br /&gt;
&lt;br /&gt;
==kaffeine==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install kaffeine&lt;br /&gt;
&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; kaffeine&lt;br /&gt;
&lt;br /&gt;
bei xine-Parameter ''esd'' wählen&lt;br /&gt;
&lt;br /&gt;
==mpg123==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install mpg123-esd&lt;br /&gt;
&lt;br /&gt;
 ESPEAKER=192.168.0.5:16001 mpg123-esd datei.mp3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Bitte beachten,'''&lt;br /&gt;
''die Player benötigen alle libxine1-gnome.''&lt;br /&gt;
&lt;br /&gt;
Wer Lust hat, kann ja bitte noch weitere Player testen.&lt;br /&gt;
&lt;br /&gt;
liab&lt;br /&gt;
&lt;br /&gt;
=Weblinks=&lt;br /&gt;
*esd Winamp Plugin http://www.linuxfan.dk/download/readme-ESD.txt&lt;br /&gt;
*Winamp-Player http://www.winamp.com/&lt;/div&gt;</summary>
		<author><name>Rhabarber1848</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuxbox-neutrino.org/w/index.php?title=Neutrino:Esound_Soundserver&amp;diff=11361</id>
		<title>Neutrino:Esound Soundserver</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuxbox-neutrino.org/w/index.php?title=Neutrino:Esound_Soundserver&amp;diff=11361"/>
		<updated>2009-04-15T21:35:29Z</updated>

		<summary type="html">&lt;p&gt;Rhabarber1848: /* Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Register]]&lt;br /&gt;
[[Category:Neutrino]]&lt;br /&gt;
{{Neutrino_sidebar}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Allgemeines=&lt;br /&gt;
&lt;br /&gt;
Mit [[Esound]] werden Sounddateien, die z.B.mit einem Player-Programm auf einem Laptop abgespielt werden, über LAN oder WLAN zu einem zweiten PC übertragen und sind dort hörbar. In unserem Fall hier ist die [[dBox2]] der zweite PC.&lt;br /&gt;
&lt;br /&gt;
Was ist der Vorteil gegenüber der sonst üblichen Dateifreigabe? Nun, ich sitze am Laptop mit seinen lächerlichen Boxen, starte z.B. eine mp3 und aus meiner Stereoanlage, an die die [[dBox2]] angeschlossen ist, ertönen kräftige Laute. Und so geht es:&lt;br /&gt;
&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
Erforderlich ist ein aktuelles (Stand ab April 2009) [[Image]] mit dem &amp;quot;'''[[Esound|Esound Soundserver]]'''&amp;quot;, welches im [[Neutrino:Hauptmenü|Neutrino Hauptmenü]] ausgewählt wird. &lt;br /&gt;
[[Bild:Menue-esound.png|none|thumb|300px]]&lt;br /&gt;
Wird dieser gestartet, belauscht die Box standardmäßig den Port 16001. Dies kann in der Datei &lt;br /&gt;
&lt;br /&gt;
 /var/etc/init.d/start_esound &lt;br /&gt;
mit dem Parameter &lt;br /&gt;
 -port xxx &lt;br /&gt;
&lt;br /&gt;
geändert werden.&lt;br /&gt;
&lt;br /&gt;
Nach dem Aufrufen von [[Esound]] erscheint eine kurze Meldung am Bildschirm.&lt;br /&gt;
[[Bild:Esound-end.png|none|thumb|300px]]&lt;br /&gt;
Wird der Server nicht mehr benötigt, kann mit der ''home''-Taste in den Normalbetrieb zurückgeschaltet werden.&lt;br /&gt;
&lt;br /&gt;
Nun braucht man nur noch einen PC, der die Sounddatei (das kann auch der Ton eines Filmes sein) zur D-Box schiebt. Das geht mit verschiedenen Medienplayern.&lt;br /&gt;
&lt;br /&gt;
=Grundprogramme für den PC=&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install esound&lt;br /&gt;
 sudo apt-get install esound-clients&lt;br /&gt;
&lt;br /&gt;
Mit &lt;br /&gt;
&lt;br /&gt;
 esd -port 16001 -tcp -public &amp;amp;&lt;br /&gt;
&lt;br /&gt;
kann jetzt ein Soundserver getartet werden. D.h. andere PC's senden ihre Sounddaten hier hin.&lt;br /&gt;
&lt;br /&gt;
Wenn die Dbox alleiniger Soundserver sein soll, ist das Paket esound auf dem Client nicht erforderlich.&lt;br /&gt;
&lt;br /&gt;
=Windows=&lt;br /&gt;
Bei windows eignet sich [[Winamp]] mit dem [[Esound]] [[Link-Text]]plugin (die Datei heißt out_esd.dll). Dazu unter Host die IP oder den Namen (hier &amp;quot;dbox2&amp;quot;) und den Port eintragen. &lt;br /&gt;
&lt;br /&gt;
''Ganz wichtig:'' Unter system32\drivers\etc\hosts die Zeile &amp;quot;192.168.0.5 dbox2&amp;quot; einfügen. Vergißt man das, funktioniert es je nach Netzwerkkonfiguration nicht!&lt;br /&gt;
&lt;br /&gt;
Ein Windows Rechner kann aber auch empfangen. Am einfachsten esound.zip runterladen und im DOS-Fenster mit &lt;br /&gt;
 esd.exe -tcp -port 16001 -public&lt;br /&gt;
starten.&lt;br /&gt;
&lt;br /&gt;
=Linux=&lt;br /&gt;
&lt;br /&gt;
Einen Linux PC bewegt man so zum Senden:&lt;br /&gt;
&lt;br /&gt;
==MPlayer==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install mplayer&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; gmplayer&lt;br /&gt;
&lt;br /&gt;
bei Preferences Audio ''esd'' wählen&lt;br /&gt;
&lt;br /&gt;
==Player auf xine Basis==&lt;br /&gt;
&lt;br /&gt;
hier muß noch ein esd plugin geladen werden&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install libxine1-gnome&lt;br /&gt;
&lt;br /&gt;
==amarok==&lt;br /&gt;
&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; amarokapp&lt;br /&gt;
&lt;br /&gt;
bei Audio Ausgabe ''esd'' wählen&lt;br /&gt;
&lt;br /&gt;
==KMPlayer==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install kmplayer&lt;br /&gt;
&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; kmplayer&lt;br /&gt;
&lt;br /&gt;
bei KMPlayer einrichten Ausgabe auf ''esd'' stellen&lt;br /&gt;
&lt;br /&gt;
==kaffeine==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install kaffeine&lt;br /&gt;
&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; kaffeine&lt;br /&gt;
&lt;br /&gt;
bei xine-Parameter ''esd'' wählen&lt;br /&gt;
&lt;br /&gt;
==mpg123==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install mpg123-esd&lt;br /&gt;
&lt;br /&gt;
 ESPEAKER=192.168.0.5:16001 mpg123-esd datei.mp3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Bitte beachten,'''&lt;br /&gt;
''die Player benötigen alle libxine1-gnome.''&lt;br /&gt;
&lt;br /&gt;
Wer Lust hat, kann ja bitte noch weitere Player testen.&lt;br /&gt;
&lt;br /&gt;
liab&lt;br /&gt;
&lt;br /&gt;
=Weblinks=&lt;br /&gt;
*esd Winamp Plugin http://www.linuxfan.dk/download/readme-ESD.txt&lt;br /&gt;
*Winamp-Player http://www.winamp.com/&lt;/div&gt;</summary>
		<author><name>Rhabarber1848</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuxbox-neutrino.org/w/index.php?title=Neutrino:Esound_Soundserver&amp;diff=11360</id>
		<title>Neutrino:Esound Soundserver</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuxbox-neutrino.org/w/index.php?title=Neutrino:Esound_Soundserver&amp;diff=11360"/>
		<updated>2009-04-15T21:33:49Z</updated>

		<summary type="html">&lt;p&gt;Rhabarber1848: /* Grundprogramme für den PC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Register]]&lt;br /&gt;
[[Category:Neutrino]]&lt;br /&gt;
{{Neutrino_sidebar}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Allgemeines=&lt;br /&gt;
&lt;br /&gt;
Mit [[Esound]] werden Sounddateien, die z.B.mit einem Player-Programm auf einem Laptop abgespielt werden, über LAN oder WLAN zu einem zweiten PC übertragen und sind dort hörbar. In unserem Fall hier ist die [[dBox2]] der zweite PC.&lt;br /&gt;
&lt;br /&gt;
Was ist der Vorteil gegenüber der sonst üblichen Dateifreigabe? Nun, ich sitze am Laptop mit seinen lächerlichen Boxen, starte z.B. eine mp3 und aus meiner Stereoanlage, an die die [[dBox2]] angeschlossen ist, ertönen kräftige Laute. Und so geht es:&lt;br /&gt;
&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
Erforderlich ist ein aktuelles (Stand ab April 2009) [[Image]] mit dem &amp;quot;'''[[Esound|Esound Soundserver]]'''&amp;quot;, welches im [[Neutrino:Hauptmenü|Neutrino Hauptmenü]] ausgewählt wird. &lt;br /&gt;
[[Bild:Menue-esound.png|none|thumb|300px]]&lt;br /&gt;
Wird dieser gestartet, belauscht die Box standardmäßig den Port 16001. Dies kann in der Datei &lt;br /&gt;
&lt;br /&gt;
 /var/etc/init.d/start_esound &lt;br /&gt;
mit dem Parameter &lt;br /&gt;
 -port xxx &lt;br /&gt;
&lt;br /&gt;
geändert werden.&lt;br /&gt;
&lt;br /&gt;
Nach dem Aufrufen von [[Esound]] erscheint eine kurze Meldung am Bildschirm.&lt;br /&gt;
[[Bild:Esound-end.png|none|thumb|300px]]&lt;br /&gt;
Wird der Server nicht mehr benötigt, kann mit der ''home''-Taste in den Normalbetrieb zurückgeschaltet werden.&lt;br /&gt;
&lt;br /&gt;
Nun braucht man nur noch einen PC, der die Sounddatei (das kann auch der Ton eines Filmes sein) zur D-Box schiebt. Das geht mit verschiedenen Medienplayern.&lt;br /&gt;
&lt;br /&gt;
=Grundprogramme für den PC=&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install esound&lt;br /&gt;
 sudo apt-get install esound-clients&lt;br /&gt;
&lt;br /&gt;
Mit &lt;br /&gt;
&lt;br /&gt;
 esd -port 16001 -tcp -public &amp;amp;&lt;br /&gt;
&lt;br /&gt;
kann jetzt ein Soundserver getartet werden. D.h. andere PC's senden ihre Sounddaten hier hin.&lt;br /&gt;
&lt;br /&gt;
Wenn die Dbox alleiniger Soundserver sein soll, ist das Paket esound auf dem Client nicht erforderlich.&lt;br /&gt;
&lt;br /&gt;
=Windows=&lt;br /&gt;
Bei windows eignet sich [[Winamp]] mit dem [[Esound]] [[Link-Text]]plugin (die Datei heißt out_esd.dll). Dazu unter Host die IP oder den Namen (hier &amp;quot;dbox2&amp;quot;) und den Port eintragen. &lt;br /&gt;
&lt;br /&gt;
''Ganz wichtig:'' Unter system32\drivers\etc\hosts die Zeile &amp;quot;192.168.0.5 dbox2&amp;quot; einfügen. Vergißt man das, funktioniert es je nach Netzwerkkonfiguration nicht!&lt;br /&gt;
&lt;br /&gt;
Ein Windows Rechner kann aber auch empfangen. Am einfachsten esound.zip runterladen und im DOS-Fenster mit &lt;br /&gt;
 esd.exe -tcp -port 16001 -public&lt;br /&gt;
starten.&lt;br /&gt;
&lt;br /&gt;
=Linux=&lt;br /&gt;
&lt;br /&gt;
Einen Linux PC bewegt man so zum Senden:&lt;br /&gt;
&lt;br /&gt;
==MPlayer==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install mplayer&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; gmplayer&lt;br /&gt;
&lt;br /&gt;
bei Preferences Audio ''esd'' wählen&lt;br /&gt;
&lt;br /&gt;
==Player auf xine Basis==&lt;br /&gt;
&lt;br /&gt;
hier muß noch ein esd plugin geladen werden&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install libxine1-gnome&lt;br /&gt;
&lt;br /&gt;
==amarok==&lt;br /&gt;
&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; amarokapp&lt;br /&gt;
&lt;br /&gt;
bei Audio Ausgabe ''esd'' wählen&lt;br /&gt;
&lt;br /&gt;
==KMPlayer==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install kmplayer&lt;br /&gt;
&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; kmplayer&lt;br /&gt;
&lt;br /&gt;
bei KMPlayer einrichten Ausgabe auf ''esd'' stellen&lt;br /&gt;
&lt;br /&gt;
==kaffeine==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install kaffeine&lt;br /&gt;
&lt;br /&gt;
 export ESPEAKER=192.168.0.5:16001 &amp;amp;&amp;amp; kaffeine&lt;br /&gt;
&lt;br /&gt;
bei xine-Parameter ''esd'' wählen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Bitte beachten,'''&lt;br /&gt;
''die Player benötigen alle libxine1-gnome.''&lt;br /&gt;
&lt;br /&gt;
Wer Lust hat, kann ja bitte noch weitere Player testen.&lt;br /&gt;
&lt;br /&gt;
liab&lt;br /&gt;
&lt;br /&gt;
=Weblinks=&lt;br /&gt;
*esd Winamp Plugin http://www.linuxfan.dk/download/readme-ESD.txt&lt;br /&gt;
*Winamp-Player http://www.winamp.com/&lt;/div&gt;</summary>
		<author><name>Rhabarber1848</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuxbox-neutrino.org/w/index.php?title=Dbox2_Entwicklungsumgebung&amp;diff=10817</id>
		<title>Dbox2 Entwicklungsumgebung</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuxbox-neutrino.org/w/index.php?title=Dbox2_Entwicklungsumgebung&amp;diff=10817"/>
		<updated>2008-07-07T07:47:21Z</updated>

		<summary type="html">&lt;p&gt;Rhabarber1848: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Register]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:CDK]]&lt;br /&gt;
{{Development_sidebar}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
{{Review}}&lt;br /&gt;
=Allgemeines=&lt;br /&gt;
Newmake ist eine Überarbeitung des alten &amp;quot;[[Make|make]]&amp;quot; Prozesses, inzwischen auch als [[Image erstellen|Oldmake]] bezeichnet, und wurde durch Barf ins Leben gerufen.&lt;br /&gt;
Neben einer deutlich strukturierteren Basis, bietet es unter anderem auch den Vorteil, dass es auch ohne ohne großes Verständnis für den Buildprozess gelingen kann, [[Images|Flashimages]] und [[yadd|YADDs]] unter [[Linux|Linux]] zu erstellen.&lt;br /&gt;
Basierend auf Newmake gibt es inzwischen auch eine auf Scripts basierende Quasi-Frontendlösung, mit der sich [[Images|Flashimages]] oder [[yadd|YADDs]] benutzerdefiniert erstellen lassen, das sogenannte [[yBuild]].&amp;lt;br&amp;gt;&lt;br /&gt;
Dieser Artikel basiert zum größtem Teil auf die deutsche Version von [http://bengt-martensson.de/dbox2/ Barfs Newmake-Dokumentation], die er uns freundlicheweise zur Verfügung  gestellt hat.  &lt;br /&gt;
Eine detaillierte Beschreibung (auch der [[Make|make]] targets) unter anderem auch in englischer Sprache befindet sich auf [http://bengt-martensson.de/dbox2/ Barf's Homepage].&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Dieser Artikel behandelt Newmake aus Sicht des Benutzers (nicht Entwickler). Es behandelt die [[Image]]- u. [[yadd|YADD]]-Herstellung sowie einfache Beipiele für Benutzeranpassungen (&amp;quot;[[Customization]]&amp;quot;). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Zur Geschichte==&lt;br /&gt;
Vor einigen Jahren war die Imageherstellung für die [[Tuxbox|Tuxbox]] so etwas wie [[Wikipedia:Schwarze Kunst|&amp;quot;Schwarze Kunst&amp;quot;]].&lt;br /&gt;
Die Makefile-Unterstützung war, insbesondere für andere [[Images]] als [[cramfs]]-[[Images]], ziehmlich lückenhaft. Die [[CVS]] Werkzeuge waren schlecht, oder unvollständig. Noch schlimmer, einige Teile wurden absichtlich geheim gehalten. Vorallem das Werkzeug, jetzt als [[mkflfs]] bekannt, welches inzwischen aber im [[CVS|CVS]]-Verzeichnis ''.../hostapps/[[Mkflfs|mkflfs]]'' zu finden ist, wurde zurückgehalten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Laut eines Forumsbeitrags aus dieser Zeit, waren die meisten Entwickler nicht in der Lage, eigene [[Images]] herzustellen. Die &amp;quot;Gilde der Imagehersteller&amp;quot; wurde geboren. Aus dieser Zeit dürften die &amp;quot;[[AlexW-Images]]&amp;quot; ein Begriff sein.&lt;br /&gt;
Hauptsächlich bestanden diese aus reinen [[CVS|CVS]]-Sources mit einigen mehr-oder-weniger geheim gehaltenen &amp;quot;Fixes&amp;quot;, (vermutlich) notwendig für das Herstellen eines funktionierenden [[Images]] aus dem [[CVS|CVS]]-Quellcode.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Im August 2003, wurde es für das [[DBox2 Software Projekt|GNU DBox2 Software-Projekt]] in zunehmendem Maße peinlich, [[mkflfs]] geheim zu halten und der Quellcode für [[mkflfs]] wurde ins [[CVS]] eingecheckt. Auch die Funktionalität der [[Makefiles]] wurde stufenweise verbessert. Noch war viel zu wünschen übrig: Funktionalität, Pflegbarkeit, gesundes [[Software|Software]]-Design... &amp;lt;br&amp;gt;&lt;br /&gt;
Ein [[Image]] aus reinen [[CVS|CVS]]-Dateien zu bauen, war nicht wirklich möglich.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
2004 wurde das [[YADI]] (&amp;quot;'''Y'''et '''A'''nother '''D'''Box '''I'''mage&amp;quot;) Projekt geboren. &amp;lt;br&amp;gt;&lt;br /&gt;
Sein Ziel war es, das &amp;quot;Imagebauen&amp;quot; zu automatisieren und zu vereinfachen. Zu diesem Zweck wurden eine Anzahl von [[Wikipedia:Skripte|Scripten]] und [[Wikipedia:Patches|Patches]] gesammelt und/oder geschrieben. Zusätzlich wurden flashfertige [[Images]] zur Verfügung gestellt.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[YADI]] war ein grosser Erfolg. Das Ziel wurde erreicht. [[Images]] wurden zur Verfügung gestellt, die (fast) vollständig auf freier [[Software|Software]] basierten, sowohl inhaltlich als auch bezüglich der benötigten Werkzeuge, in einer Weise, die für den Benutzer durchaus nachvollziehbar war.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem [[YADI]]-[[Skript|Skript]] war das automatische Imagebuilden zwar möglich, jedoch statt grundlegende Schwächen im [[CDK|CDK]]-Imagebau-Prozeß zu beseitigen, stellte man [[Skripte]] zum Imagebauen zur Verfügung. Es wurde kein übliches Buildsystem zur Verfügung gestellt, wie dies beispielsweise von [[Make]], oder ein neuerer Nachfolger wie [[Ant]],[[Cmake]] oder [[Maven]] könnten.&amp;lt;br&amp;gt;&lt;br /&gt;
Newmake, verfügbar als alternativer [[Branch]] im [[CVS|CVS]], versucht diese Schwächen zu beseitigen.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Ein spezieller Dank an jedem, der Bugreports und Feedback geliefert hat. Insbesonderes gilt dies für dietmarw, der Newmake benutzt, um die [[images|dietmarW-Images]] zu erzeugen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ziel=&lt;br /&gt;
Das Ziel des vorliegenden Artikels ist es, dem Leser grundlegendes Know-How zu vermitteln. Es ist nicht das Ziel, eine idiotensichere Schritt-für-Schritt Anweisung bereitzustellen, wie das bei sogenannten HOWTO's der Fall wäre.&amp;lt;br&amp;gt;&lt;br /&gt;
Kenntnisse im Umgang mit [[Wikipedia:Skriptsprache|Shellskripten]] wird für viele Teile, insbesondere für das [[Customization]]-Kapitel, aber nicht für [[Image]]/[[yadd|YADD]]-Herstellung in seiner einfachsten Art und Weise vorausgesetzt.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Der vorliegende Artikel versucht nicht die innere Funktion der [[Makefiles]] und des Makeprozesses zu beschreiben. Hierfür wird der Leser auf diverse Quellen, und zu relevanten Threads im [[CDK]]-Forum des [[Tuxbox|Tuxbox]]-Forums hingewiesen. Alle Optionen für ''configure'' werden auch nicht beschrieben, nur die Allgemeinsten und Wichtigsten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Wie schwierig ist es? =&lt;br /&gt;
Die Antwort könnte lauten: ''Es ist so schwerig wie man diesen Artikel zu lesen versteht.'' Für den Leser, der ohne Probleme den Inhalt dieses Artikels versteht, sollte es kein Probleme sein. Leser, für die das Meiste nur Kauderwelsch ist, sollten vielleicht besser bei fertigen [[Images|Images]] bleiben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Images|Images]] und [[Yadd|YADD]]'s bauen=&lt;br /&gt;
== Targets ==&lt;br /&gt;
Es gibt neben zahlreichen untergeordneten Zielen (Targets), zwei hauptrangige Targets. Diese wären entweder &lt;br /&gt;
*[[YADD]] &lt;br /&gt;
oder &lt;br /&gt;
*[[Image]]. &lt;br /&gt;
Ein [[YADD]] besteht aus einigen Dateien, die die DBox anstatt aus dem [[Flash]] ü[[BER|ber]] den [[TFTP]]-Service lädt, sowie ein [[Filesystem|Filesystem]], das ü[[BER|ber]] einen [[NFS-Server]] der dBox zur Verfügung gestellt wird.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Betriebsart hat insbesondere während der Softwareentwicklung oder beim Erlernen des Systems viele Vorteile. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Name &amp;quot;[[YADD]]&amp;quot; bedeutet übrigens &amp;quot;'''Y'''et '''A'''nother '''D'''Box '''D'''istribution&amp;quot; (&amp;quot;noch eine dBox Verteilung&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Erste Schritte und Überlegungen ===&lt;br /&gt;
Eine Empfehlung für den angehenden &amp;quot;[[Image|Image]]/[[Yadd|YADD]]-Lehrling&amp;quot; wäre:&amp;lt;br&amp;gt;&lt;br /&gt;
Baue zuerst ein [[YADD]] mit Deiner Lieblings-[[GUI]], und lerne damit umzugehen.&amp;lt;br&amp;gt; &lt;br /&gt;
Nächster Schritt wäre dann, ein [[jffs2]]-[[Image|Image]] mit der Lieblings-[[GUI]] zu erstellen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Meistens möchte man die folgenden Schritte kombinieren und/oder automatisieren. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In diesem Artikel bezeichnet &amp;quot;[[GUI]]&amp;quot; entweder &lt;br /&gt;
*[[Neutrino]] oder &lt;br /&gt;
*[[Enigma]]&lt;br /&gt;
*[[Lcars]]&lt;br /&gt;
*[[Radiobox]]. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Das &amp;quot;[[Filesystem]]&amp;quot; im Kontext eines kompletten [[Images]] bezeichnet das [[Dateisystem]], in dem das root-Verzeichnis liegt. Diese kann ein &lt;br /&gt;
*[[cramfs]] (ein komprimiertes, Read-only [[Filesystem|filesystem]] für embedded Systeme) sein, &lt;br /&gt;
*[[squashfs]] (ein weiterd komprimiertes read-only-[[Dateisystem|Dateisystem]], was leistungsfähiger als [[cramfs]] betrachtet wird)&lt;br /&gt;
oder &lt;br /&gt;
*[[jffs2]] (ein &amp;quot;journalled&amp;quot; Read-Write-[[Filesystem|Filesystem]]).&lt;br /&gt;
Ein &amp;quot;[[Cramfs|cramfs]] Komplett-[[Image|Image]]&amp;quot; besteht aus einem Root-[[Dateisystem|Dateisystem]] mit dem [[cramfs]] [[Dateisystem|Dateisystem]] und einem kleineren [[jffs2]]-[[Filesystem|Filesystem]], das nach '''/var''' gemounted wird.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Analog gilt dies auch für &amp;quot;'''[[Squashfs|squashfs]] Komplett-[[Images|Images]]'''&amp;quot;, während ein &amp;quot;'''[[Jffs2|jffs2]] Komplett-[[Image|Image]]'''&amp;quot; kein separates ''/var-[[Dateisystem|Dateisystem]]'' enthält, weil [[Jffs2|jffs2]] an sich beschreibbar (var) ist.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Zusätzlich enthalten die Komplett-[[Images|Images]] eine weitere [[Partition|Partition]], die den [[u-boot]]-[[Bootloader]] enthalten. Diese [[Partition|Partition]] ist zwischen dBoxen mit einen und zwei Flashchips unterschiedlich. Dieses wird durch &amp;quot;'''1x'''&amp;quot; und &amp;quot;'''2x'''&amp;quot; angezeigt. Ein komplettes [[Image|Image]] würde demnach so benannt werden:&lt;br /&gt;
 &lt;br /&gt;
 [neutrino, enigma]-[cramfs, squashfs, jffs2].img[1, 2]x, &lt;br /&gt;
z.B. als fertiges [[Image|Image]]: &lt;br /&gt;
 [[Neutrino|neutrino]]-[[Jffs2|jffs2]].img2x.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Buildsystem Voraussetzungen ==&lt;br /&gt;
Die Voraussetzungen auf dem Buildhost können in etwa so zusammengefasst werden: &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Ein modernes [[Unix|Unix]]/[[Linux|Linux]] System mit ca. 2 GB freiem Speicherplatz. Epfehlenswert ist es aber mehr Speicherplatz einzuplanen, da beispielsweise bei Verwendung von [[ccache]] einiges an Daten zwischengelagert wird und je öfter man kompiliert, es dann doch eng werden könnte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das [[DBox2 Software Projekt|Tuxbox Projekt]] hat keine favorisierte Buildumgebung. Fragen wie &amp;quot;geht es mit Redhat x.y?&amp;quot; lassen sich nicht genau beantworten. Der Grund hierfür ist, dass niemand sich wirklich dafür interessiert, die Eigenschaften der bestimmten Distributionen zu erkunden. Gewisse Anforderungen werden dagegen für Versionen der Werkzeuge, wie [[WP:autoconf|autoconf]], [[WP:automake|automake]], [[make]] usw. formuliert. Die meisten davon sind in den gängigsten Distributionen bereits enthalten bzw. können nachinstalliert werden. Die momentan erfordelichen Toolversionen sind in folgendender Tabelle zusammengefasst:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Vorlage:GNU_Tools}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Der Buildprozess überprüft zu Beginn automatisch einige dieser Anforderungen. Wenn eines dieser [[Tools|Tools]] fehlt, oder wenn die Version zu alt zu sein scheint, ist es in der Regel einfacher, die erforderliche Version nachträglich zu installieren, entweder als kompiliertes Paket, z.B. im [[rpm]]-Format vom jeweiligem Distributor, oder sich direkt die Quellen zu besorgen, zu kompilieren und zu installieren, als zu versuchen oder herauszufinden, ob die oben genannten Anforderungen wirklich notwendig sind.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Hinweis''':&amp;lt;br&amp;gt;&lt;br /&gt;
In anderen [[Anleitungen|Anleitungen]] zum Buildvorgang wird gefordert, dass [[Tools|Tools]] wie [[fakeroot]],&lt;br /&gt;
[[mksquashfs]], [[mkcramfs]], [[mkjffs2fs]] (oder [[mkfs.jffs2]]), vielleicht auch [[mklibs]]&lt;br /&gt;
oder [[ccache]], auf Ihrem System installiert sein müssen. In dieser Umgebung ist dies nicht&lt;br /&gt;
erfordelich, da einige entweder überhaupt nicht benötigt werden bzw. die [[Installation|Installation]] im &lt;br /&gt;
Makeprozess selbst vorgenommen wird!&lt;br /&gt;
&amp;lt;br&amp;gt;''&lt;br /&gt;
Builden auf einem [[Unix|Unix]]-non-[[Linux|Linux]] System sollte vermutlich auch möglich sein, so weit die erforderlichen [[GNU]] Werkzeuge vorhanden sind. Mit einem anderen [[make]] als [[GNU]] wird es fast sicher nicht funktionieren, da die [[GNU|GNU]]-[[Erweiterungen|Erweiterungen]] uneingeschränkt verwendet werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Es wird daher davon abgeraten eine Umbegebung z.B. mit [[Cygwin]] aufzubauen, da es höchstwahrscheinlich nicht funktionieren wird. In dieser Richtung wurde zwar Einiges für den Makeprozess eingebaut, jedoch dürfte der gegenwärtige Entwicklungsstand nicht den gegenwärtigen Anforderungen entsprechen, um aktuell auch damit arbeiten zu können.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Empfehlenswert ist allerdings eine Buildumgebung mittels [[VMWare]] aufzubauen. Hierfür gibt es auch eine &amp;quot;konfektionierte&amp;quot; Lösung von yiogol, der hierfür ein passendes [[VMWare-Image]] erstellt hat, dass im Prinzip alle notwendigen Zutaten enthält.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Auschecken ==&lt;br /&gt;
Die [[Tuxbox|Tuxbox]] Quellen werden durch den [[Tuxbox|Tuxbox]] [[CVS-Server]] bereitgestellt.&amp;lt;br&amp;gt;&lt;br /&gt;
Regelmäßige Quellreleases sind niemals gemacht worden, und sind auch nicht für die Zukünft geplant. Für unsere Zwecke werden die Quellen anonym &amp;quot;ausgecheckt&amp;quot;, was bedeutet, dass diese auf die eigene Festplatte kopiert werden, indem man zuerst auf einer (lokalen) Festplatte mit &amp;quot;ordentlich&amp;quot; freiem Platz ein leeres Verzeichnis erstellt, z.B. ''/[[Tuxbox|tuxbox]]-[[CVS|cvs]]'' und in diesen Ordner wechselt, und diesen Befehl ausführt.&lt;br /&gt;
&lt;br /&gt;
 [[CVS|cvs]] -d anoncvs@[[CVS|cvs]].[[Tuxbox|tuxbox]].org:/[[CVS|cvs]]/[[Tuxbox|tuxbox]] -z3 co -f -r newmake -P .&lt;br /&gt;
&lt;br /&gt;
Dieser Befehl checkt die Newmake Files aus. In Fällen, in denen keine Newmake Version vorhanden ist, wird die HEAD-Version ausgecheckt.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Hinweis:'''&lt;br /&gt;
''Im HEAD gibt es zwei Files:''&lt;br /&gt;
*[[CDK|cdk]]/root/etc/init.d/rcS&lt;br /&gt;
''und'' &lt;br /&gt;
*[[CDK|cdk]]/root/etc/init.d/rcS.insmod&lt;br /&gt;
''Im [[Newmake]] werden diese nicht benötigt da sie mittels''&lt;br /&gt;
 [[CDK|cdk]]/root/etc/init.d/rcS.m4&lt;br /&gt;
''erzeugt werden.''&lt;br /&gt;
''Um auf der sicheren Seite zu sein, ist es ratsam, diese beiden zu löschen''. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nachdem die Daten ausgecheckt wurden, könnte kann man jetzt einige Patches auf die Quellen anwenden.&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn man aber zum ersten Mal kompiliert, ist es ratsam, vorerst keine Patches anzuwenden. Wenn Probleme auftreten, ist es viel einfacher (technisch sowohl als auch für jeden selbst) jemand zu helfen, der die &amp;quot;unveränderten [[CVS|CVS]] Quellen&amp;quot; verwendet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
Jetzt müssen einge Zwischenschritte erledigt werden, damit der Buildprozess auch erkennt, was und vorallem wie er es machen soll.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Man wechselt nun in das [[CDK|CDK]]-Unterverzeichnis&lt;br /&gt;
 cd [[CDK|cdk]]&lt;br /&gt;
und gibt diesen Befehl ein (ohne Argumente).&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
&lt;br /&gt;
Dieser erzeugt unter anderem ein [[Shellskript]] namens '''configure'''. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wird ''autogen.sh'' ausgeführt, wird dabei eine Anzahl von Optionen übergeben, um das System für das Builden eines [[Images|Images]], [[Yadd|YADD]] oder aller anderen gewünschten Ziele entsprechend den Benutzerwünschen vorzubereiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optionen ===&lt;br /&gt;
{{Newmake_Build_Optionen}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Für uns sind vorerst nur wenige Optionen interessant. Die Standardvorgaben reichen vorerst völlig aus.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine typische Anwendung (Konfiguration), der mit z.B. den Pfadnamen oben kompatibel wäre, könnte so eingestellt werden:&lt;br /&gt;
&lt;br /&gt;
 ./configure --with-cvsdir=&amp;quot;/[[Tuxbox|tuxbox]]-[[CVS|cvs]]&amp;quot; --prefix=&amp;quot;/[[Dbox2|dbox2]]&amp;quot; --enable-maintainer-mode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*''--with-cvsdir'' &lt;br /&gt;
sagt wo die Quellen zu finden sind, (darin sollte auch ein Unterverzeichnis ''.../[[CDK|cdk]]'' besitzen). In der Regel ist dies das Verzeichnis in das die Quelldaten gerade ausgecheckt wurden, während &lt;br /&gt;
*''--prefix''&lt;br /&gt;
bedeutet, dass eine Anzahl von wichtigen Verzeichnissen als Unterverzeichnisse des besagten Verzeichnisses erstellt werden sollen. Ihre Position kann durch andere Konfigurationsoptionen weiter beeinflußt werden.&lt;br /&gt;
*''--enable-maintainer-mode'' &lt;br /&gt;
ist, auch für Nichtmaintainers praktisch, da er den hergestellten [[Makefiles|Makefiles]] ermöglicht, sich automatisch neu zu erzeugen, sobald die Notwendigkeit entsteht, zum Beispiel nach einem [[Software|Software]]-[[Update|Update]].  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es gibt sicher noch andere nützliche Optionen. Einige werden später noch besprochen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Fehlerausgaben ===&lt;br /&gt;
Überprüfe bitte die Ausgaben von ''autogen'' auf Fehler (&amp;quot;Error&amp;quot;) und Warnungen.&amp;lt;br&amp;gt; &lt;br /&gt;
Hierbei können diese Warnungen ignoriert werden:&lt;br /&gt;
&lt;br /&gt;
 /usr/local/share/aclocal/pkg.m4:5: warning: underquoted definition of PKG_CHECK_MODULES from autogen.sh &lt;br /&gt;
&lt;br /&gt;
ebenso folgende Warnungen von configure:&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
 configure: WARNING: using [[Tuxbox|tuxbox]] [[Mklibs|mklibs]]&lt;br /&gt;
 checking for mkcramfs... no&lt;br /&gt;
 configure: WARNING: using [[Tuxbox|tuxbox]] [[Cramfs|cramfs]]&lt;br /&gt;
 checking for mkjffs2... no&lt;br /&gt;
 checking for [[Mkfs.jffs2|mkfs.jffs2]]... no&lt;br /&gt;
 configure: WARNING: using [[Tuxbox|tuxbox]] [[Mkfs.jffs2|mkfs.jffs2]]&lt;br /&gt;
 checking for mksquashfs... no&lt;br /&gt;
 configure: WARNING: using [[Tuxbox|tuxbox]] [[Squashfs|squashfs]]&lt;br /&gt;
 ...&lt;br /&gt;
 &lt;br /&gt;
Dies sind nur Hinweise darauf, dass hier projekteigene Versionen einiger [[Tools|Tools]] verwendet werden.&lt;br /&gt;
&lt;br /&gt;
'''''Beachte!''' &lt;br /&gt;
Wenn man diesen Artikel mit ähnlichen Beschreibungen aus vergangenen Zeiten  &lt;br /&gt;
vergleicht, bemerkt man, dass die Option '''--with-targetruleset=[standard,flash]''' nicht mehr&lt;br /&gt;
vorhanden ist. Bisher war es notwendig, bei der Konfiguration sich entweder auf Builds von [[YADDs]]&lt;br /&gt;
oder [[Images]] einzuschränken. Bei Newmake ist dieses nicht mehr notwendig.&lt;br /&gt;
&amp;lt;br&amp;gt;''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Stop hand.png]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-top:10px; margin-right:0px; border: 3px solid #FF0000; padding: 0px 10px 1px 10px; background-color:#DEB0B0;  align:right; &amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;font color=&amp;quot;#000000&amp;quot; size=&amp;quot;5&amp;quot;&amp;gt;'''&lt;br /&gt;
Versuche niemals, als root zu bauen!'''&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kompilieren ==&lt;br /&gt;
Die high-level [[Make|make]] Targets, die für das Builden von Komplett-[[Images|Images]] relevant sind, lauten:&lt;br /&gt;
*&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;flash-&amp;lt;/nowiki&amp;gt;[neutrino, enigma, all]&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;flash-&amp;lt;/nowiki&amp;gt;[cramfs, squashfs, jffs2, all]&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;[1x, 2x, alle]&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Für [[Yadd|YADD]]-Builds, sind diese: &lt;br /&gt;
*&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;yadd-&amp;lt;/nowiki&amp;gt;[neutrino, enigma, all]&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Beispiele:'''&lt;br /&gt;
&lt;br /&gt;
 [[Make|make]] [[Flash|flash]]-[[Neutrino|neutrino]]-[[Jffs2|jffs2]]-all &lt;br /&gt;
&lt;br /&gt;
erzeugt flashbare [[Jffs2|jffs2]]-only [[Images|Images]] mit [[Neutrino|Neutrino]], für 1x-Boxen und für 2x-Boxen (Dateinamen ''[[Neutrino|neutrino]]-[[Jffs2|jffs2]].img1x'' und ''[[Neutrino|neutrino]]-[[Jffs2|jffs2]].img2x'').&lt;br /&gt;
&lt;br /&gt;
'''der Befehl:'''&lt;br /&gt;
&lt;br /&gt;
 [[Make|make]] [[Yadd|yadd]]-[[Enigma|enigma]]&lt;br /&gt;
&lt;br /&gt;
erzeugt ein [[Yadd|YADD]], das [[Enigma|Enigma]] enthält.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Zeitaufwand ===&lt;br /&gt;
Das Kompilieren kann bei so einem Projekt und je nach Konfiguration und Rechnerleistung schon einige Zeit in Anspruch nehmen.&amp;lt;br&amp;gt;&lt;br /&gt;
Auf einem Athlon XP 1800 dauert ein Befehl wie '''[[Make|make]] [[Yadd|yadd]]-[[Neutrino|neutrino]]''' mit leeren Verzeichnissen etwa 1 und 1,5 Stunden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Verwendung von [[Ccache|ccache]] ====&lt;br /&gt;
Um den Vorgang insbesondere bei wiederholten Kompilieren und besonders auf langsameren Rechnern zu beschleunigen, steht die Option&lt;br /&gt;
* --enable-[[Ccache|ccache]]&lt;br /&gt;
zur Verfügung, welche man mit in die Konfiguration einbinden kann. Erfahrungsgemäß wird so durchschnittlich ca. 1-2 Drittel der Zeit eingespart.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Durch die Option '''--enable-[[Ccache|ccache]]''' wird erreicht, sollte das Tool bereits in deiner Distribution installiert sein, dass [[ccache]] automatisch erkannt wird und in das [[Tuxbox|Tuxbox]]-[[CDK|CDK]] eingebunden wird. Ist es nicht installiert, wird dies auch von configure angezeigt: &lt;br /&gt;
 ...&lt;br /&gt;
 ----------------------------------------&lt;br /&gt;
 [[Ccache|ccache]] support:                 no&lt;br /&gt;
 [[Ccache|ccache]] installdir:&lt;br /&gt;
 [[Ccache|ccache]] is not installed please run [[Make|make]] [[Ccache|ccache]] or install it and configure again&lt;br /&gt;
 ----------------------------------------&lt;br /&gt;
 ...&lt;br /&gt;
Dann sollte man das Tool nachinstallieren oder mit dem Target&lt;br /&gt;
 [[Make|make]] [[Ccache|ccache]]&lt;br /&gt;
in das [[CDK|CDK]] einbauen und configure wiederholen.&lt;br /&gt;
&lt;br /&gt;
'''Hinweis'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
''[[Ccache]] macht sich erst bemerkbar, nachdem der Buildvorgang mindestens einmal durchgelaufen ist!''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Option ''--enable-[[Ccache|ccache]]'' ist normalerweise völlig ausreichend. Es stehen aber noch weitere untergeordnete Sub-Optionen zur Verfügung, die in Ausnahmefällen verwendet werden können: &lt;br /&gt;
*--with-ccachedir=DIR&lt;br /&gt;
Diese Option kann man verwenden, wenn man [[ccache]] beispielsweise nur als Binary abgelegt hat und den Pfad dazu bestimmen möchte.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Hinweis'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
''Die Option '''--with-ccachedir''' bewirkt auch das die mit '''[[Make|make]] [[Ccache|ccache]]''' installierte Version im [[CDK|CDK]] und/oder auch die evtl. im System installierte Version ignoriert wird!''&lt;br /&gt;
&lt;br /&gt;
*--with-maxcachesize=SIZE maximal&lt;br /&gt;
Hier gibt man an, wieviel Speicher [[ccache]] verwenden darf in GB z.B: für 2GB&lt;br /&gt;
 --with-maxcachesize=2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*--with-maxcachefiles=COUNT&lt;br /&gt;
Hier kann man angeben, wieviele Dateien [[ccache]] cachen darf.&lt;br /&gt;
 --with-maxcachefiles=20000&lt;br /&gt;
Hier würden es logischeweise 20000 sein.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Wirksamkeit von [[ccache]] lässt sich mit dem Befehl&lt;br /&gt;
 [[Ccache|ccache]] -s&lt;br /&gt;
prüfen. Als Ergebnis werden einige Statistiken ü[[BER|ber]] das Cache-Verhalten von [[Ccache|ccache]] ausgegeben:&lt;br /&gt;
 cache directory                     /home/&amp;lt;USER&amp;gt;/.[[Ccache|ccache]]&lt;br /&gt;
 cache hit                              4&lt;br /&gt;
 cache miss                           191&lt;br /&gt;
 called for [[Link|link]]                       17&lt;br /&gt;
 multiple source files                  4&lt;br /&gt;
 compile failed                        17&lt;br /&gt;
 preprocessor error                     2&lt;br /&gt;
 not a C/C++ file                       5&lt;br /&gt;
 autoconf compile/[[Link|link]]                178&lt;br /&gt;
 no input file                         15&lt;br /&gt;
 files in cache                       382&lt;br /&gt;
 cache size                           7.1 Mbytes&lt;br /&gt;
 max cache size                     976.6 Mbytes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tipp'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Um die benötigte Zeit genau zu ermitteln, kann man den Befehl '''time''' einbauen.&lt;br /&gt;
 time [[Make|make]] [[Yadd|yadd]]-[[Neutrino|neutrino]]&lt;br /&gt;
Am Ende des Bauvorganges werden damit die entsprechenden Zeitinformationen ausgegeben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
Hier einige Beispiele mit denen man [[Images|Images]], Yadds oder einzelne Targets bauen kann. Diese Beispiele sollten so wie sie hier vorgegeben sind ohne Veränderung auf jedem [[Linux|Linux]]-System mit den bisher beschriebenen Voraussetzungen laufen. Da die Systeme trotzdem [[Unterschiede|Unterschiede]] aufweisen können, kann man das aber nicht garantieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== [[Neutrino|neutrino]]-[[Jffs2|jffs2]]-[[Image|Image]] ====&lt;br /&gt;
 #! /bin/bash &lt;br /&gt;
 # beispiel.sh&lt;br /&gt;
 # Diese Script baut [[Neutrino|neutrino]]-[[Jffs2|jffs2]] [[Images|Images]], jeweils 1x und 2x&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 USERDIR=/home/$(whoami) &lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 LOGODIR=$USERDIR/Logos &lt;br /&gt;
 CP=$USERDIR/[[Tuxbox|tuxbox]]-[[CVS|cvs]] &lt;br /&gt;
 DB=$USERDIR/[[Dbox2|dbox2]] &lt;br /&gt;
 ARCHIVEDIR=$USERDIR/Archive &lt;br /&gt;
 export CVS_RSH=[[SSH|ssh]] &lt;br /&gt;
 #----------------------------------------------- &lt;br /&gt;
 cd &amp;quot;$CP&amp;quot;&lt;br /&gt;
 [[CVS|cvs]] -d anoncvs@[[CVS|cvs]].[[Tuxbox|tuxbox]].org:/[[CVS|cvs]]/[[Tuxbox|tuxbox]] -z3 co -f -r newmake -P . &lt;br /&gt;
 cd [[CDK|cdk]]&lt;br /&gt;
 /bin/ln -sf $ARCHIVEDIR/ Archive&lt;br /&gt;
 ./autogen.sh &lt;br /&gt;
 ./configure --prefix=&amp;quot;$DB&amp;quot; --with-cvsdir=&amp;quot;$CP&amp;quot; --enable-flashrules --enable-[[Ccache|ccache]] --with-[[CheckImage|checkImage]]=rename --with-logosdir=&amp;quot;$LOGODIR&amp;quot; &lt;br /&gt;
 [[Make|make]] [[Flash|flash]]-[[Neutrino|neutrino]]-[[Jffs2|jffs2]]-all &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== [[Neutrino|Neutrino]] [[Yadd|YADD]] ====&lt;br /&gt;
 #! /bin/bash &lt;br /&gt;
 # beispiel.sh&lt;br /&gt;
 # Diese Script baut ein [[Neutrino|Neutrino]] [[Yadd|Yadd]]&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 USERDIR=/home/$(whoami) &lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 LOGODIR=/Logos &lt;br /&gt;
 CP=$USERDIR/[[Tuxbox|tuxbox]]-[[CVS|cvs]] &lt;br /&gt;
 DB=$USERDIR/[[Dbox2|dbox2]] &lt;br /&gt;
 ARCHIVEDIR=$USERDIR/Archive &lt;br /&gt;
 export CVS_RSH=[[SSH|ssh]] &lt;br /&gt;
 #----------------------------------------------- &lt;br /&gt;
 cd &amp;quot;$CP&amp;quot;&lt;br /&gt;
 [[CVS|cvs]] -d anoncvs@[[CVS|cvs]].[[Tuxbox|tuxbox]].org:/[[CVS|cvs]]/[[Tuxbox|tuxbox]] -z3 co -f -r newmake -P . &lt;br /&gt;
 cd [[CDK|cdk]]&lt;br /&gt;
 /bin/ln -sf $ARCHIVEDIR/ Archive&lt;br /&gt;
 ./autogen.sh &lt;br /&gt;
 ./configure --prefix=&amp;quot;$DB&amp;quot; --with-cvsdir=&amp;quot;$CP&amp;quot; --with-logosdir=&amp;quot;$LOGODIR&amp;quot; --enable-[[Ccache|ccache]] &lt;br /&gt;
 [[Make|make]] [[Yadd|yadd]]-[[Neutrino|neutrino]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Was kommt dann...? =&lt;br /&gt;
== Booten von [[Yadd|YADD]] ==&lt;br /&gt;
Wenn ein [[Yadd|YADD]] frisch erzeugt wurde, kann damit auch die Box booten. Näheres dazu auch im Artikel [[CDK booten]].&amp;lt;br&amp;gt;&lt;br /&gt;
Newmake hält auch ein [[Make|Make]]-Target für den serversupport bereit.&lt;br /&gt;
 [[Make|make]] serversupport&lt;br /&gt;
Dieses erzeugt einige Konfigurationsdateien für den [[Server|Server]] der das [[Yadd|YADD]]-Build nahtlos an das [[Server|Server]]-Setup anknüpft.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Flashen|Flashen]] des [[Images|Images]] ==&lt;br /&gt;
Wenn ein [[Image|Image]] gebaut wurde, ist der logische nächste Schritt das Einspielen des [[Images|Images]] in den [[Flash|Flash]] der Box. Hierfür ist entweder, das interaktive [[Flashen|Flashen]] innerhalb der [[GUI|GUI]] mit den [[Installation:Neutrino|Expertenfunktionen]] zu benutzen, oder der ''dboxflasher'' zu verwenden. Der ''dboxflasher'' wird durch das [[Make|Make]]-Target &lt;br /&gt;
 [[Make|make]] serversupport&lt;br /&gt;
erzeugt.&amp;lt;br&amp;gt; &lt;br /&gt;
Siehe auch [[Installation]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Inkrementelle Builds ==&lt;br /&gt;
Im allgemeinen ist man nicht an einem einmaligen Build der [[Software|Software]] interessiert. Verbesserungen an den Quellen werden in das [[CVS|CVS]] täglich eingecheckt. Oft möchte man die [[Software|Software]] durch eigene Programmierung verbessern oder Patches anwenden. Es ist dabei wünschenswert, dass genau nur die Teile neu erzeugt wird, die neu erzeugt werden sollen, nicht mehr und nicht weniger. Newmake geht einen direkten Weg in diese Richtung. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Um ein Target neu zu bauen, benutze den Befehl &lt;br /&gt;
 [[Make|make]] [target]&lt;br /&gt;
und [[Make|make]] wird es, falls notwendig, neu erzeugen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es kann auch passieren, dass [[Make|make]] zusätzlich einen vollständig anderen Bestandteil neu erzeugt! Dies ist dann der Fall, wenn das jeweilige Target von anderen Teilen abhängt, die sich geändert haben.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In einige Situationen kann es auch wünschenswert sein, ein erneutes Bauen einer Komponente zu erzwingen. Einige Komponenten werden in einem Distributionsfile zum Verzeichnis [[CDK|cdk]]/Archive heruntergeladen, und wenn das Build stattfindet, ausgepackt, evtl. Patches angewendet, konfiguriert, kompiliert, installiert und die Quellen dann wieder gelöscht.&amp;lt;br&amp;gt;&lt;br /&gt;
Alles findet automatisch statt. Die [[Installation|Installation]] eines bestimmten Pakets wird durch das Anlegen einer Markerdatei im Verzeichnis ''[[CDK|cdk]]/.deps'' vermerkt.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Falls gewünscht, kann solch eine Markiererdatei entfernt werden, um das Neuerzeugen der entsprechenden Komponetne zu erzwingen. Es gibt hierfür auch entsprechende Targets, die &amp;quot;''Cleaning Targets''&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cleaning targets ==&lt;br /&gt;
Es gibt mehrere unterschiedliche Aufräum-Targets:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Make|make]] distclean&lt;br /&gt;
Das drastischste Reinigungs-Target, (fast) alles löschend, was nicht vom [[CVS|CVS]] ausgecheckt wurde.&lt;br /&gt;
Dieses ist eher selten notwendig. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Make|make]] mostlyclean&lt;br /&gt;
Ein intelligenteres Target ist ''mostlyclean''. Es säubert die Verzeichnisse, die Tuxboxquellen enthalten, lässt aber die Kompilationsumgebung und alle ''Auspacken-kompilieren-installieren-löschen-Komponente'' unberührt.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Auch das cdkroot Verzeichnis, (d.h. die [[Yadd|Yadd]]-[[Installation|Installation]]), sowie die [[Tftp|TFTP]]-Files ([[Kernel|Kernel]] und [[U-boot|u-boot]]) werden nicht angefasst.    &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Make|make]] depsclean&lt;br /&gt;
Löscht alle Markerdateien im /[[CDK|cdk]]/.deps Verzeichnis und zwingt so zum Neukompliieren aller [[Auspacken-kompilieren-installieren-löschen-Komponenten]].&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
Dies ist selten sinnvoll: Diese hängen von ihren Quellen und vielleicht von einem Patchfile ab, und der Makefile kennt diese Abhängigkeiten.  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Make|make]] clean&lt;br /&gt;
Kombiniert ''mostlyclean'', ''depsclean'', und ''[[Flash|flash]]-clean''. Versucht auch soviel wie möglich im cdkroot-Verzeichnis zu löschen, das nicht während des Bootstrapdurchlaufes installiert war. So wird&lt;br /&gt;
versucht, die Umgebung in einem Zustand zu bringen, wo die Buildumgebung gerade kompiliert worden ist, z.B. mit ''[[Make|make]] bootstrap''.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Make|make]] [[Flash|flash]]-semiclean&lt;br /&gt;
Dieses Target löscht die meisten Verzeichnisse in $(flashprefix), mit Ausnahme der Boot-Partitionen und der Kernelbauverzeichnisse.&amp;lt;br&amp;gt;&lt;br /&gt;
Dieses ist oft sinnvoll, da diese Bestandteile verhältnismässig sich selten ändern.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Make|make]] [[Flash|flash]]-mostlyclean&lt;br /&gt;
Zusätzlich zum ''[[Flash|flash]]-semiclean'' löscht dieses Target auch Bootfiles und die Kernbauverzeichnisse. Vollimages werden unberührt gelassen.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 [[Make|make]] [[Flash|flash]]-clean&lt;br /&gt;
Dieses Target löscht Alles in $(flashprefix).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Einige Quellverzeichnisse können mit einem Befehl wie &lt;br /&gt;
 [[Make|make]] -C /[[Tuxbox|tuxbox]]-[[CVS|cvs]]/apps/[[Tuxbox|tuxbox]]/[[Neutrino|neutrino]] clean &lt;br /&gt;
gesäubert werden.&lt;br /&gt;
&lt;br /&gt;
== Aktualisierung des [[CVS|CVS]]-Quellcodes ==&lt;br /&gt;
Um die Quellen mit neueren Checkins zu aktualisieren, verwende diesen Befehl für das toplevel [[CVS|CVS]] Verzeichnis (oder von einem anderen Verzeichnis, wenn Ihr wisst, was ihr tut;-). Mögliche Fehler werden in das logfile [[CVS|cvs]].log geschrieben.&lt;br /&gt;
&lt;br /&gt;
 [[CVS|cvs]] up -f -r Newmake -dP &amp;gt; [[CVS|cvs]].log 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
'''Tipp'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Um mit dem [[CVS|CVS]] arbeiten zu können nimmt man für gewöhnlich die Konsole für Eingaben. Es gibt aber auch verschiedene Frontendwerkzeuge wie z.B. [http://www.crossvc.com CrossVC] oder [http://cervisia.kde.org/ Cervisia] um nur einige zu nennen, die einen recht komfortablen Umgang mit den [[CVS|CVS]]-Daten ermöglichen.&amp;lt;br&amp;gt; [[Bild:Crossvc.jpg|CrossVC als CVS Frontendlösung]] [[Bild:Cervisia.jpg|Cervisia als CVS Frontendlösung]]&amp;lt;br&amp;gt; &lt;br /&gt;
Auch einige [[IDE|IDE]]'s wie z.B. [[WP:Anjuta|Anjuta]] &amp;lt;br&amp;gt; [[Bild:anjuta.jpg|Anjuta als IDE mit CVS-Anbindung]]&amp;lt;br&amp;gt; bieten solche [[CVS|CVS]]-Schnittstellen an.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Customization|Customization]] ==&lt;br /&gt;
Bisher lief immer alles darauf hinaus [[Images|Images]] oder Yadds zu bauen, die aus unveränderten [[CVS|CVS]]-Quellen gebaut wurden.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Images|Images]] und die Yadds können aber auch angepasst (&amp;quot;customized&amp;quot;) werden, ohne die [[Makefiles|Makefiles]] zu ändern.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Hier gibt es verschiedene Möglichkeiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Konfigurationsoptionen ===&lt;br /&gt;
hier einige nützliche Optionen:&amp;lt;br&amp;gt;&lt;br /&gt;
Hiermit kann ein Verzeichniss angegeben werden, welches die [[Ucodes|Ucodes]] enthält, die im [[Image|Image]] enthalten sein sollen.&lt;br /&gt;
 --with-ucodesdir=[DIR]&lt;br /&gt;
'''Hinweis:'''&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#FF0000&amp;quot; size=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Ein [[Image|Image]], dass [[Ucodes|ucodes]] enth&amp;amp;auml;lt, darf &lt;br /&gt;
 nicht verbreitet werden!&amp;lt;/strong&amp;gt; &amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Mit der Option &lt;br /&gt;
 --with-logosdir=[DIR] &lt;br /&gt;
kann ein Verzeichniss angegeben werden, das boot-logos (logo-[[LCD|lcd]] und logo-fb) enthält, die im [[Image|Image]] enthalten sein sollen.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Option&lt;br /&gt;
 --with-defaultlocale=[LOCALE]&lt;br /&gt;
sorgt dafür, dass die gewünschte Sprache schon beim bauen eingestellt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ändern der Partitionierung ===&lt;br /&gt;
Die Rootpartitionsgröße für [[Cramfs|cramfs]] und [[Squashfs|squashfs]] [[Images|Images]] kann mit der Configure-Option &lt;br /&gt;
 --with-rootpartitionsize=[SIZE]&lt;br /&gt;
angegeben werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Die Größe der var-[[Partition|Partition]] wird automatisch berechnet, wobei man den restlichen Flashspeicher nutzt, der nicht durch die anderen Partitionen benutzt wird. Die Standardgröße ist 0x660000. &lt;br /&gt;
Diese Zahl sollte eine Multiple der Erasesize, momentan 0x20000 sein. Dies wird allerdings ignoriert falls es wie bei der [[Jffs2|jffs2]]-Imageerstellung unsinnig wäre.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
==== Pfade ====&lt;br /&gt;
Es sind noch weitere Benutzeranpassungen möglich. Dafür ist es aber notwendig, etwas [[Wissen|Wissen]] ü[[BER|ber]] die innere Funktionsweise der [[Makefiles|Makefiles]] zu haben.&amp;lt;br&amp;gt;&lt;br /&gt;
In der Folge bezeichnet &lt;br /&gt;
 $(flashprefix) &lt;br /&gt;
den Wert der Makefile Variablen '''flashprefix''' (mit Konfiguration wie oben '''/[[Dbox2|dbox2]]/cdkflash''')&lt;br /&gt;
 $(targetprefix)&lt;br /&gt;
bezeichnet den Wert der Makefile Variablen '''targetprefix''' (mit Konfiguration wie oben '''/[[Dbox2|dbox2]]/cdkroot'''), und &lt;br /&gt;
 $(buildprefix) &lt;br /&gt;
bezeichnet den Wert der Makefile Variablen '''buildprefix''' (mit der Konfiguration oben '''/[[Tuxbox|tuxbox]]-[[CVS|cvs]]/[[CDK|cdk]]''').&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Um z.B. ein '''[[Neutrino|neutrino]]-[[Cramfs|cramfs]].img2x''' zu erzeugen, werden die folgenden Verzeichnisse erstellt:&amp;lt;br&amp;gt;&lt;br /&gt;
*'''$(flashprefix)/root''' (enthält [[Filesystem|Filesystem]]- und [[GUI|GUI]]-unabhängige Bestandteile)&lt;br /&gt;
*'''$(flashprefix)/root-[[Cramfs|cramfs]]''' (enthält den [[Kernel|Kernel]], für Root-[[Filesystem|Filesystem]] auf [[Cramfs|cramfs]] konfiguriert, zusammen mit seinen Treibern) und &lt;br /&gt;
*'''$(flashprefix)/root-[[Neutrino|neutrino]]''' (enthält die Neutrinoinstallation).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Aus diesen drei Verzeichnissen, werden das Rootfilesystemverzeichniss&lt;br /&gt;
*'''$(flashprefix)/root-[[Neutrino|neutrino]]-[[Cramfs|cramfs]]''' und das&lt;br /&gt;
var-filesystemverzeichnis &lt;br /&gt;
*'''$(flashprefix)/var-[[Neutrino|neutrino]]''' gebaut.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Hiermit ist es möglich, einen Befehl wie &lt;br /&gt;
 [[Make|make]] $(flashprefix)/root-[[Neutrino|neutrino]]-[[Jffs2|jffs2]]&lt;br /&gt;
bzw. wenn man sich im Verzeichnis ''./[[Tuxbox|tuxbox]]-[[CVS|cvs]]/[[CDK|cdk]]'' befindet, den Befehl&lt;br /&gt;
 [[Make|make]] root-[[Neutrino|neutrino]]-[[Jffs2|jffs2]]&lt;br /&gt;
einzugeben, wobei man bei erster VAriante natürlich '''$(flashprefix)''' selbst durch den realen Pfad ersetzen muss, da '''$(flashprefix)''' nur eine [[Make|make]]-Variable ist, welche in unserem Beispiel den Pfad zu '''./[[Dbox2|dbox2]]/cdkflash''' darstellt.&amp;lt;br&amp;gt;&lt;br /&gt;
Man kann so manuell gewünschten Änderungen an '''$(flashprefix)/root-[[Neutrino|neutrino]]-[[Jffs2|jffs2]]''' vornehmen, und dann, mit dem Befehl &lt;br /&gt;
 [[Make|make]] [[Flash|flash]]-[[Neutrino|neutrino]]-[[Jffs2|jffs2]]-2x &lt;br /&gt;
den Imagebau abschließen, um ein [[Image|Image]] zu erstellen, das diese manuellen Änderungen enthält. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dieses kann zwar für den einmaligen Imagebau sinnvoll sein, jedoch in vielen Fällen dürfte eine automatisierte und systematischere Methode erforderlich sein.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Customization|Customization]]-Scripte ===&lt;br /&gt;
Sofern diese Scripte vorhanden und ausführbar sind, werden innerhalb der wichtigsten Targets diese sogenannten ''[[Customization|Customization]]-Scripte'' automatisch aufgerufen bzw. ausgeführt.&lt;br /&gt;
Zum aktivieren der Scripte müssen diese lediglich in ein dafür vorgesehenes Verzeichnis abgelegt werden und ausführbar sein. Dieses Verzeichnis ist standardmäßig der '''*/[[CDK|cdk]]'''-Ordner.&lt;br /&gt;
Bei Bedarf kann mit der Option&lt;br /&gt;
 --with-customizationsdir=[DIR] &lt;br /&gt;
ein alternatives Verzeichnis für [[Customization|Customization]]-Scripte festgelegt werden. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Auf diese Scripte werden zwei Argumente zur Laufzeit übergeben: &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Für Imagetargets sind dies&lt;br /&gt;
*$(flashprefix)&lt;br /&gt;
und &lt;br /&gt;
*$(buildprefix)&lt;br /&gt;
für Yaddtargets sind diese &lt;br /&gt;
*$(targetprefix)&lt;br /&gt;
und &lt;br /&gt;
*$(buildprefix)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Die Bezeichnung &amp;quot;Script&amp;quot; ist etwas irreführend, da sie eigentlich wie normale Programme mit zwei Argumenten ausgeführt werden. Anstelle eines [[Shell|Shell]]-Scripts könnte dies z.B. ein kompiliertes C Programme, oder ein [[Perl|Perl]]-Script sein.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Name eines [[Customization|Customization]] Scriptes besteht in der Regel aus dem Namen eines Targetverzeichnisses bzw. einem Target und dem angefügtem *'''-local.sh'''.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Für [[Flash|Flash]]-Targets ====&lt;br /&gt;
Der Name der [[Customization|Customization]] Scripte für [[Images|Images]] besteht aus den wie oben benannten Verzeichnissen (in diesem Fall Targets) in ''flashprefix'',&lt;br /&gt;
*root&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
dem Namen der jeweilige Benutzeroberfläche, als &amp;quot;[[GUI]]&amp;quot; in Klammern bezeichnet, also&lt;br /&gt;
*[[Neutrino|neutrino]]&lt;br /&gt;
*[[Enigma|enigma]]&lt;br /&gt;
*[[Lcars|lcars]]&lt;br /&gt;
*[[Radiobox|radiobox]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;[[FS]]&amp;quot; zeigt an welches [[Filesystem|Filesystem]] gemeint ist.&lt;br /&gt;
*[[Cramfs|cramfs]]&lt;br /&gt;
*[[Squashfs|squashfs]]&lt;br /&gt;
*[[Jffs2|jffs2]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
so wäre die Bezeichnung der jeweiligen Scripte wie folgt aufgebaut: &lt;br /&gt;
*root-local.sh&lt;br /&gt;
*root-[GUI]-local.sh&lt;br /&gt;
*root-[GUI]-[FS]-local.sh&lt;br /&gt;
*root-[FS]-local.sh&lt;br /&gt;
*var-[GUI]-local.sh&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Beispiele:'''&lt;br /&gt;
 root-local.sh&lt;br /&gt;
 root-[[Neutrino|neutrino]]-local.sh&lt;br /&gt;
 root-[[Neutrino|neutrino]]-[[Squashfs|squashfs]]-local.sh&lt;br /&gt;
 root-[[Squashfs|squashfs]]-local.sh&lt;br /&gt;
 var-[[Neutrino|neutrino]]-local.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Für [[Yadd|Yadd]]-Targets ====&lt;br /&gt;
Für Yadds ist das Prinzip ähnlich, nur dass es hier quasi nur einen Ordner gibt. Dafür stellvertretend steht dann &lt;br /&gt;
*[[Yadd|yadd]].&amp;lt;br&amp;gt;&lt;br /&gt;
Das &amp;quot;[[GUI]]&amp;quot; in Klammern bezeichnet auch hier die jeweilig betroffene Benutzeroberflche, also&lt;br /&gt;
*[[Neutrino|neutrino]]&lt;br /&gt;
*[[Enigma|enigma]]&lt;br /&gt;
*[[Lcars|lcars]]&lt;br /&gt;
*[[Radiobox|radiobox]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
so wäre die Bezeichnung der jeweiligen Scripte so aufgebaut. &lt;br /&gt;
*[[Yadd|yadd]]-[GUI]-local.sh&lt;br /&gt;
'''Beispiel:'''&lt;br /&gt;
 [[Yadd|yadd]]-[[Neutrino|neutrino]]-local.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Andere [[Customization|Customization]] Scripte ====&lt;br /&gt;
Die bisher benannten [[Customization|Customization]] Scripte für [[Flash|Flash]]- u. [[Yadd|Yadd]]-Targets sind die Gebräuchlichsten. Diese werden allerdings gewissermaßen  nur an die der bestehenden Targets angehängt, anders als es bei den anderen, von denen es in Newmake noch jede Menge mehr gibt, bei denen diese als Ersatz der eigentlichen Targets dienen.&amp;lt;br&amp;gt;&lt;br /&gt;
Im Prinzip ginge dies auf so gut wie alle Targets anzuwenden. Möchte man z.B. ein Contrib-Tool &amp;quot;customizen&amp;quot;, etwa [[hdparm]], kann man ein Script erstellen:&lt;br /&gt;
*hdparm-local.sh&lt;br /&gt;
Führt man dann das Target:&lt;br /&gt;
 [[Make|make]] hdparm&lt;br /&gt;
aus, wird beim Bauen das ausgeführt was im [[Customization|Customization]]-Script angelgt wurde. Die Aktionen im Original-Makefile werden übersprungen.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===== Beispiel: version-local.sh =====&lt;br /&gt;
Diese Funktion ist recht interessant und dürfte recht oft Anwendung finden:&amp;lt;br&amp;gt;&lt;br /&gt;
Während des [[Make|make]]-Durchlaufs werden einige Targets ausgeführt, welche die '''/.version'''-Files bei [[YADD]]&lt;br /&gt;
*'''version'''&lt;br /&gt;
bzw.&lt;br /&gt;
*'''[[Flash|flash]]-version''' &lt;br /&gt;
im [[Image]] erstellt.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Sofern eines dieser Scripte;&lt;br /&gt;
*'''version-local.sh''' &lt;br /&gt;
*'''[[Flash|flash]]-version-local.sh'''&lt;br /&gt;
vorhanden und ausführbar ist, wird es als Ersatz statt des originalen Targets ausgeführt, welches mit  &lt;br /&gt;
 [[Make|make]] version&lt;br /&gt;
bzw.&lt;br /&gt;
 [[Make|make]] [[Flash|flash]]-version&lt;br /&gt;
angestoßen wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== weitere Beispiele für Custiomization ====&lt;br /&gt;
Das Customizationscripting soll durch das folgende Beispiel noch mehr veranschaulicht werden.&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
In einem [[Jffs2|jffs2]]-[[Image|Image]] wird dies gewünscht:&lt;br /&gt;
&lt;br /&gt;
   1. Eigene /etc/hosts benutzen,&lt;br /&gt;
   2. Eigene [[Neutrino|neutrino]].conf, [[Bouquets|bouquets]].[[XML|xml]], services.[[XML|xml]] benutzen&lt;br /&gt;
   3. einschließlich [[Lirc|lirc]]-Komponenten, zusammen mit eigenen [[Lirc|lirc]] Konfigurations-Dateien.&lt;br /&gt;
&lt;br /&gt;
1. und 3. sind [[Erweiterungen|Erweiterungen]], die nach '''$(flashprefix)/root''' kommen sollten, während 2. [[Neutrino|Neutrino]]-regeln sind, welche nach sollten '''$(flashprefix)/root-[[Neutrino|neutrino]]-[[Jffs2|jffs2]]''' gehöhren. &amp;lt;br&amp;gt;&lt;br /&gt;
Um 1. und 3. zu erreichen, wird das Script '''root-local.sh''' erstellt, z.B.:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 # root-local.sh&lt;br /&gt;
 flashprefix=$1&lt;br /&gt;
 buildprefix=$2&lt;br /&gt;
 newroot=$flashprefix/root&lt;br /&gt;
 myfiles=/home/somewhere/dbox/myfiles&lt;br /&gt;
 cp -f  $myfiles/etc/hosts $newroot/etc&lt;br /&gt;
 [[Make|make]] flashlirc&lt;br /&gt;
 cp -fr $myfiles/var/[[Tuxbox|tuxbox]]/config/[[Lirc|lirc]] $newroot/var/[[Tuxbox|tuxbox]]/config&lt;br /&gt;
&lt;br /&gt;
Das Script für 2. heist '''root-[[Neutrino|neutrino]]-local.sh''', was dem verherigen sehr ähnlich ist:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 # root-[[Neutrino|neutrino]]-local.sh&lt;br /&gt;
 flashprefix=$1&lt;br /&gt;
 buildprefix=$2&lt;br /&gt;
 newroot=$flashprefix/root-[[Neutrino|neutrino]]&lt;br /&gt;
 myfiles=/home/somewhere/dbox/myfiles&lt;br /&gt;
 cp $myfiles/var/[[Tuxbox|tuxbox]]/config/[[Neutrino|neutrino]].conf	 $newroot/var/[[Tuxbox|tuxbox]]/config&lt;br /&gt;
 cp $myfiles/var/[[Tuxbox|tuxbox]]/config/[[Zapit|zapit]]/[[Bouquets|bouquets]].[[XML|xml]] $newroot/var/[[Tuxbox|tuxbox]]/config/[[Zapit|zapit]]&lt;br /&gt;
 cp $myfiles/var/[[Tuxbox|tuxbox]]/config/[[Zapit|zapit]]/services.[[XML|xml]] $newroot/var/[[Tuxbox|tuxbox]]/config/[[Zapit|zapit]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ein weiteres Beispiel:&lt;br /&gt;
&lt;br /&gt;
Im Image werden die procps-Varianten von ps und top anstelle der busybox-Version gewünscht.&lt;br /&gt;
&lt;br /&gt;
In root-local.sh&lt;br /&gt;
&lt;br /&gt;
  make procps&lt;br /&gt;
&lt;br /&gt;
hinzufügen.&lt;br /&gt;
&lt;br /&gt;
In root-neutrino-local.sh&lt;br /&gt;
&lt;br /&gt;
  for i in top ps; do&lt;br /&gt;
    cp -va $flashprefix/../cdkroot/bin/$i $flashprefix/root-neutrino/bin/&lt;br /&gt;
    rm -v $flashprefix/root/bin/$i&lt;br /&gt;
  done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Bitte beachten:'''&lt;br /&gt;
Diese Scripte sollen als Beispiele dienen und können vermutlich nicht ohne Anpassung verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Einige &amp;quot;best practices&amp;quot; =&lt;br /&gt;
In diesem Abschnitt befinden sich einige Richtlinien, die zwar nicht zwingend &amp;quot;notwendig&amp;quot; sind, um korrekte Ergebnisse zu erzeilen, jedoch werden sie langfristig helfen, bessere, zuverlässigere und pflegbare [[Software|Software]] zu erstellen. Dies betrifft Customizations, sowie zukünftige Änderungen am Makefile und deren Bestandteile selbst.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn man diese Richtlinien nicht mag, kann man sie ignorieren, zumindest wenn man [[Customization|Customization]] Scripte für den eigenen Bedarf schreibt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Idempotens ==&lt;br /&gt;
Es ist fast immer eine gute Idee zu versuchen, ein Installationsscript [[Wikipedia:Idempotent|idempotent]] zu schreiben. Dies bedeutet, dass das mehrmalige Ausführen den gleichen Effekt hat wie das einmalige Ausführen.&lt;br /&gt;
Benutze &amp;quot;[[Make|make]] install&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In der Vergangenheit hat das [[Tuxbox|Tuxbox]] Makefile die Komponenten zuerst in ''$(targetprefix)'' installiert, und dann die Imageverzeichnisse durch Kopieren der einzelnen Files aus der ''$(targetprefix)'' Hierarchie erstellt. Dieses ist keine sehr gute Softwaretechnik. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Zuerst gehört das Know-How bzgl. [[Installation|Installation]] des Paketes in das Makefile des Pakets, und soll nicht in einem einzigem großen Makefile sitzen, das einfach einzelne Files rüberkopiert. Wenn dieses Paket sich ändert, z.B. man ein Konfigurations-File hinzufügt oder löscht, wird es auch notwendig, das globale Makefile zu ändern.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Es ist häufig der Fall, dass das Makefile, das zu einem Paket gehört, include-Files, (statische) Bibliotheken, Info-Files etc. installiert, die nicht auf einem enbedded System mit beschränktem Speicher erwünscht sind. Die korrekte Lösung zu diesem (wirklichen!) Problem wäre, das Makefile des betreffenden Pakets zu ändern, entweder, um ein flashinstall-Target zu schreiben, oder das Makefile mit einem Parameter wie ''installsize=[full,flash]'' zu versehen.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn dies nicht durchführbar ist, ist es durchaus sinnvoller, daß nach [[Make|make]] -C ... install das Löschen unerwünschter Files besser ist, als das kopieren einzelner Files.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Zu erwähnen ist auch, daß in dem Schritt, der die Verzeichnisse ''$(flashprefix)/root-[[GUI|gui]]-[[Filesystem|filesystem]]'' erzeugt, das include-verzeichnis, sowie alle statischen Bibliotheken gelöscht werden und dynamische Bibliotheken von unbenutzten Symbolen gestrippt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Antworten auf einige Fragen ==&lt;br /&gt;
=== Falls das Build nicht gelingt ===&lt;br /&gt;
Es gibt kein Standardverfahren was zu tun wäre, wenn das Build misslingt. Es wird versucht, hier einige Richtlinien zu geben und diese zu lesen bevor man im Forum postet.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Zuerst, überprüft man den Output der ersten zwei Schritte, '''autogen.sh''' und '''configure''' auf Fehler und Warnungen. Jede Warnung oder Fehler, außer den fünf Warnungen, die oben genannt wurden, zeigen ein Problem an, dass ein Build wahrscheinlich unmöglich macht.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn ein Build abbricht, kann es die Umgebung in einem [[Wikipedia:Inkonsistent|inkonsistenten]] Zustand versetzen. Dies gilt insbesondere für die Verzeichnisse in '''$(flashprefix)'''. Wenn der Bau solch eines [[Make|Make]]-Targets abbricht, besteht das Verzeichnis, ist entsprechend seiner Änderungszeit aktuell, und ein folgender [[Make|make]] Befehl behandelt ihn wie fertig und okay. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Selbstverständlich wird ein fehlerhaftes Build das Ergebniss sein. Wenn ein Build eines Unterverzeichnisses von '''$(flashprefix)''' in die [[BR|Br]]üche geht, '''dann lösche man es''', bevor ein anderer [[Make|Make]] Befehl ausgeführt wird.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bei &amp;quot;es funktionierte gestern&amp;quot;-Problemen, ist vermutlich die Umgebung in solch einem Zustand. Ein mehr-oder-weniger drastischer Reinigungsbefehl (siehe oben) ist hierbei oft schneller als eine Problemsuche.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn man [[Hilfe|Hilfe]] benötigt, siehe unten!.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Nach dem [[Flashen|Flashen]]: &amp;quot;Kein System&amp;quot; auf dem [[LCD|LCD]]/Was ist diese &amp;quot;bad magic byte&amp;quot; Zeugs? ===&lt;br /&gt;
Diese Frage kommt hoffentlich nicht... Die kurze Antwort ist: Man weiß es nicht. Wir [[Wissen|wissen]] es nicht. Aber, wenn Ihr diesen Artikel so weit gelesen habt, erwartet bitte keine &amp;quot;kurze Antworten&amp;quot;, sondern &amp;quot;gute Antworten&amp;quot;. O.K. Das Thema ist ausführlich hier besprochen worden. &amp;lt;br&amp;gt;&lt;br /&gt;
Kurz gesagt, das [[Image|Image]] &amp;quot;ist&amp;quot; in Ordnung, es ist nur dass irgendwelche [[Firmware|Firmware]] in der dBox es zurückweisen wird, weil es einige &amp;quot;schlechte magische Bytes&amp;quot; auf bestimmten Adressen finden wird. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Das Programm [[checkImage]] aus dem [[CVS|CVS]], zu finden im Verzeichnis '''./hostapps/[[CheckImage|checkImage]]''' ermittelt diese &amp;quot;schlechten Bytes&amp;quot;, aber ändert nichts daran, um diese zu beheben. Die Erfahrung zeigt, daß [[Images|Images]], die [[checkImage]] für gut findet, wirklich laufen. [[Cramfs|Cramfs]]-, oder [[Squashfs|squashfs]] [[Images|Images]], worü[[BER|ber]] sich [[CheckImage|checkImage]] beschwert, laufen im allgemeinen nicht, in einigen Ausnahmefällen läufen sie aber doch.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Auch bei [[Jffs2|jffs2]]-[[Images|Images]] ist dies manchmal der Fall, dass sich [[checkImage]] beschwert, die [[Images|Images]] laufen, aber eben nicht immer. Mit diesen empirischen Beobachtungen ist man nun sich selbst überlassen.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Newmake weiß, wie dieses Programm aufgerufen werden kann, um die erzeugten [[Images|Images]] automatisch zu überprüfen. Die Konfigurationsoption &lt;br /&gt;
 --with-[[CheckImage|checkImage]]=[none,rename,warn] &lt;br /&gt;
wird hierfür verwendet. Falls '''warn''' gewählt ist, wird für jedes [[Image|Image]], das den Test nicht besteht, eine leere Datei erzeugt, am Namen wird ''&amp;quot;_bad&amp;quot;'' angehängt. Wenn '''rename''' gewählt wird, wird das fragliche Imagefile nur umbenannt indem ''&amp;quot;_bad&amp;quot;'' angehängt wird.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Es muss erwähnt werden, daß die &amp;quot;schlechten magischen Bytes&amp;quot; in einem (oder mehreren!) der Partitionsteile sitzt, und werden nicht durch den abschließenden Schritt erzeugt (die *.img1x und/oder *.img2x Files bauen). Es ist auch möglich, [[CheckImage|checkImage]] auf die Partitionsfiles anzuwenden *.[[Jffs2|jffs2]], *.[[Cramfs|cramfs]]&lt;br /&gt;
*.[[Squashfs|squashfs]]&lt;br /&gt;
*.flfs1x&lt;br /&gt;
*.flfs2x&lt;br /&gt;
Schließlich hat [[CheckImage|checkImage]] eine Debugoption, die nützlich sein kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ich habe ein Fehler gefunden! ==&lt;br /&gt;
Bugs, Unklarheiten, Verbesserungsvorschläge, etc. der [[Software|Software]] sollten vorzugsweise im [http://tuxbox-forum.dreambox-fan.de/forum/viewforum.php?f=7 Cross Development Kit - Forum] des [[Tuxbox|Tuxbox]]-Boards gepostet werden. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ich benötige [[Hilfe|Hilfe]]! ==&lt;br /&gt;
Supportanfragen können im [http://tuxbox-forum.dreambox-fan.de/forum/viewforum.php?f=7 Cross Development Kit - Forum] des [[Tuxbox|Tuxbox]]-Boards gepostet werden. Postings in deutsch oder englisch sind willkommen. Bitte nicht vergessen, die benutzten Konfigurationsoptionen zu erwähnen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Anhang=&lt;br /&gt;
==Einige nützliche [[Customization|Customization]] Script Snippets==&lt;br /&gt;
In diesem Anhang werden einige nützliche [[Customization|Customization]] Scripte gezeigt. Zwei Scripte sind bereits oben gezeigt worden.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Warnung'''&lt;br /&gt;
Auch falls die Beispiele in einigen Fällen benutzbar sind, werden die Scripte als Beispiele, nicht als Lösungen zu den realen Problemen gezeigt. Aus diesem Grund sind die Beispiele hier als Codefragmente, nicht als downloadbare Dateien, veröffentlicht. Bitte nicht verwenden, es sei denn es ist ungefährlich und Ihr versteht, wie sie funktionieren. Es ist grundlegende Script-Erfahrung erfordelich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Games und Languages nuker===&lt;br /&gt;
Dieses Script löscht alle [[Spiele|Spiele]] (definiert als [[Plugins|plugins]] mit type=1 in ihrer Konfigurationsdatei), sowie unerwünschte Sprachfiles ([[Neutrino|Neutrino]] angenommen). Das File sollte von '''root-[[Neutrino|neutrino]]-$[[Filesystem|filesystem]]-local.sh''' aufgerufen werden.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 # Nukes all game [[Plugins|plugins]], as well as all [[Locale|locale]] files not listed in LANGUAGES&lt;br /&gt;
 newroot=$1/root-[[Neutrino|neutrino]]-[[Jffs2|jffs2]]&lt;br /&gt;
 LANGUAGES=&amp;quot;deutsch english&amp;quot;&lt;br /&gt;
 for f in $newroot/lib/[[Tuxbox|tuxbox]]/[[Plugins|plugins]]/*.cfg; do&lt;br /&gt;
    grep 'type=1' $f&amp;gt;/dev/null &amp;amp;&amp;amp; rm -f $newroot/lib/[[Tuxbox|tuxbox]]/[[Plugins|plugins]]/`basename $f .cfg`.*&lt;br /&gt;
 done&lt;br /&gt;
 for f in $newroot/share/[[Tuxbox|tuxbox]]/[[Neutrino|neutrino]]/[[Locale|locale]]/*; do&lt;br /&gt;
    (echo $LANGUAGES | grep -v `basename $f .[[Locale|locale]]` &amp;gt;/dev/null) &amp;amp;&amp;amp; rm -f $f&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== /.version anpassen ===&lt;br /&gt;
Euere eigene ''/.version''-File herzustellen (anggezeigt von [[Neutrino|Neutrino]] durch dBox -&amp;gt; Services -&amp;gt; [[Image|Image]]-Version und cdkVcInfo beim Booten) ist sicher ein allgemeiner Wunsch.&lt;br /&gt;
&lt;br /&gt;
*[[Flash|flash]]-version-local.sh&lt;br /&gt;
&lt;br /&gt;
 #/bin/sh&lt;br /&gt;
 USER=$(whoami)&lt;br /&gt;
 if [ $0 = $CDIR/flash-version-local.sh ] ; then&lt;br /&gt;
    outfile=$FLASHDIR/root/.version&lt;br /&gt;
    type=&amp;quot;[[Image|Image]]&amp;quot;&lt;br /&gt;
 else&lt;br /&gt;
    outfile=$TARGETDIR/.version&lt;br /&gt;
    type=&amp;quot;[[Yadd|Yadd]]&amp;quot;&lt;br /&gt;
 fi;&lt;br /&gt;
 echo Creating $outfile ...&lt;br /&gt;
 echo &amp;quot;version=`./mkversion -[[Snapshot|snapshot]] -version 200`&amp;quot;      &amp;gt; $outfile&lt;br /&gt;
 echo &amp;quot;creator=$USER&amp;quot;                                     &amp;gt;&amp;gt; $outfile&lt;br /&gt;
 echo &amp;quot;imagename=$USER-$type&amp;quot;                             &amp;gt;&amp;gt; $outfile &lt;br /&gt;
 echo &amp;quot;homepage=[[HTTP|http]]://www.your-website.de&amp;quot;                   &amp;gt;&amp;gt; $outfile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== mkversion ===&lt;br /&gt;
Das benannte Script ''mkversion'' erzeugt die etwas kryptische Versionszeichenkette:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 releasetype=3&lt;br /&gt;
 versionnumber=000&lt;br /&gt;
 year=`date +%Y`&lt;br /&gt;
 month=`date +%m`&lt;br /&gt;
 day=`date +%d`&lt;br /&gt;
 hour=`date +%H`&lt;br /&gt;
 minute=`date +%M`&lt;br /&gt;
 while expr $# &amp;gt; 0 ; do&lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
     -[[Release|release]]) &lt;br /&gt;
     releasetype=0&lt;br /&gt;
   ;;	&lt;br /&gt;
     -[[Snapshot|snapshot]]) &lt;br /&gt;
     releasetype=1&lt;br /&gt;
   ;;	&lt;br /&gt;
     -internal) &lt;br /&gt;
     releasetype=2&lt;br /&gt;
   ;;&lt;br /&gt;
    -version)&lt;br /&gt;
     versionnumber=$2&lt;br /&gt;
   shift&lt;br /&gt;
   ;;	&lt;br /&gt;
 esac&lt;br /&gt;
 shift&lt;br /&gt;
 done&lt;br /&gt;
 echo $releasetype$versionnumber$year$month$day$hour$minute&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Archivierung der [[Images|Images]] ===&lt;br /&gt;
Es ist eigentlich die Aufgabe des Buildprozesses, flashbare [[Images|Images]] zu erzeugen, und nicht sie zu archivieren. Jedoch kann die [[Customization|Customization]] leicht dazu &amp;quot;missbraucht&amp;quot; werden, um irgendeine Art der Archivierung zu ermöglichen, wie das folgende Beispiel zeigt:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 flashprefix=$1&lt;br /&gt;
 imagefile=`basename $0|sed -e s/-local.sh//`&lt;br /&gt;
 imagefilebase=`echo $imagefile|sed -e s/\.img.x//`&lt;br /&gt;
 extension=`echo $imagefile|sed -e s/[-a-z0-9]*\.//`&lt;br /&gt;
 newfilename=&amp;quot;barf-&amp;quot;$imagefilebase-`date --iso-8601`.$extension&lt;br /&gt;
 echo Copying $flashprefix/$imagefile to $flashprefix/$newfilename...&lt;br /&gt;
 cp $flashprefix/$imagefile $flashprefix/$newfilename&lt;br /&gt;
&lt;br /&gt;
Das Script sollte einen oder mehr der Namen &lt;br /&gt;
 [neutrino, enigma]-[cramfs, squashfs,jffs2].[img1x, img2x]&lt;br /&gt;
haben. Es benennt die Files entsprechend dem Tagesdatum um.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
*[http://www.gnu.org/software/make/manual/make.html GNU Make manual]&lt;br /&gt;
*[http://www.gnu.org/software/autoconf/manual/ Autoconf manual]&lt;br /&gt;
*[http://www.gnu.org/software/automake/manual/ Automake manual]&lt;br /&gt;
*[http://sources.redhat.com/autobook/ GNU Autoconf, Automake, and Libtool]&lt;br /&gt;
*[http://www.gnu.org/prep/standards/ GNU Coding standards]&lt;br /&gt;
*[http://cvsbook.red-bean.com/ Open Source Development with CVS, 3rd Edition]&lt;br /&gt;
*Barf's Homepage: [http://bengt-martensson.de/dbox2/ Barfs ][[Newmake]]-Dokumentation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{review}}&lt;br /&gt;
&lt;br /&gt;
{{body}}&lt;/div&gt;</summary>
		<author><name>Rhabarber1848</name></author>
	</entry>
</feed>