Vorlage:Cs development flash build: Unterschied zwischen den Versionen

Aus TuxBoxWIKI
Zur Navigation springen Zur Suche springen
(auf aktuellen stand angepasst)
(Formulierung)
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 4: Zeile 4:
Die Struktur ist ähnlich zu verstehen, wie das bereits in '''./skel-root/[PLATFORM]''' der Fall ist.
Die Struktur ist ähnlich zu verstehen, wie das bereits in '''./skel-root/[PLATFORM]''' der Fall ist.


Obligatorisch kann man auch die Daten ebenfalls nach '''./root''' einpflegen lassen und kann entsprechende Symlinks setzen. Die lokalen Daten werden dann nicht nur ins Flashimage eingepflegt, sondern auch nach '''./root'''.
Obligatorisch kann man auch die Daten ebenfalls nach '''./root''' einpflegen lassen und kann einen entsprechenden Symlink auf ''../flash'' setzen. Die lokalen Daten werden dann nicht nur ins Flashimage eingepflegt, sondern auch nach '''./root'''.
Ein einfaches benutzerdefinierte Target erledigt diese Schritte in Handumdrehen. Einfach im Stammverzeichnis des Buildsystems eine Datei namens '''Makefile.local''' erstellen und mit diesem Inhalt ausfüllen:
Ein einfaches benutzerdefinierte Target ('''local-files''') erledigt diese Schritte in Handumdrehen. Einfach im Stammverzeichnis des Buildsystems eine Datei namens '''Makefile.local''' erstellen und mit diesem Inhalt ausfüllen. Das benutzerdefinierte Target '''neutrino-dist''', sollte genügen um fertige Images zu erzeugen. In diesem Beispiel für [[Neo]]/[[Neo-Twin]]:


<source lang="make">
<source lang="make">
LOCALROOT      = $(BASE_DIR)/local
LOCALROOT      = $(BASE_DIR)/local
local-files:
local-files:
mkdir -p $(LOCALROOT)/root
if [ ! -d $(LOCALROOT)/root ]; then \
ln -sf $(LOCALROOT)/root $(BASE_DIR)/local/flash
mkdir -p $(LOCALROOT)/root && \
cp -rv $(LOCALROOT)/root $(BASE_DIR)
ln -sf $(LOCALROOT)/root $(BASE_DIR)/local/flash; \
fi; \
rsync -avP --exclude=*.*~ $(LOCALROOT)/root $(BASE_DIR)


flash: preqs crosstool bootstrap local-files minimal-system-pkgs system-tools-all cs-drivers-pkg system-pkgs neutrino-pkg pkg-index install-pkgs flashimage
trim-glib:
rm -f $(BASE_DIR)/pkgs/opkg/glibc-2.*.opk
 
neutrino-dist: preqs crosstool bootstrap cs-drivers-pkg cs-libs-pkg minimal-system-pkgs wget neutrino-pkg trim-glib install-pkgs dist-pkgs
</source>
</source>


Dann:
Dann:
<source lang="bash">
<source lang="bash">
make flash
make neutrino-dist
</source>
</source>


Die Flash-Images liegen dann unter:  
Die Flash-Images liegen dann unter:  
 
'''./build_tmp'''
'''./build_tmp'''
bzw. Images, die mit einem Rettungs/Update-USB-Stick geflasht werden können, unter:
'''./build_tmp/coolstream'''

Aktuelle Version vom 20. August 2013, 20:08 Uhr

Hierfür sind nur wenige Vorbereitungen notwendig. Der größte Aufwand liegt evtl. darin, eigene Daten mit in ein Image zu packen, wobei dies nur von persönlichen Ansprüchen her ins Gewicht fällt.

Das zuständige Target für die Flashimage-Erzeugung hat die Möglichkeit, automatisch lokale Dateien einzupflegen. Hierfür muss im Stammverzeichnis des Buildsytems nur ein Vereichnis namens ./local/flash angelegt sein, welches die Dateien enthält. Die Struktur ist ähnlich zu verstehen, wie das bereits in ./skel-root/[PLATFORM] der Fall ist.

Obligatorisch kann man auch die Daten ebenfalls nach ./root einpflegen lassen und kann einen entsprechenden Symlink auf ../flash setzen. Die lokalen Daten werden dann nicht nur ins Flashimage eingepflegt, sondern auch nach ./root. Ein einfaches benutzerdefinierte Target (local-files) erledigt diese Schritte in Handumdrehen. Einfach im Stammverzeichnis des Buildsystems eine Datei namens Makefile.local erstellen und mit diesem Inhalt ausfüllen. Das benutzerdefinierte Target neutrino-dist, sollte genügen um fertige Images zu erzeugen. In diesem Beispiel für Neo/Neo-Twin:

LOCALROOT       = $(BASE_DIR)/local
local-files:
	if [ ! -d $(LOCALROOT)/root ]; then \
		mkdir -p $(LOCALROOT)/root && \
		ln -sf $(LOCALROOT)/root $(BASE_DIR)/local/flash; \
	fi; \
	rsync -avP --exclude=*.*~ $(LOCALROOT)/root $(BASE_DIR)

trim-glib: 
	rm -f $(BASE_DIR)/pkgs/opkg/glibc-2.*.opk

neutrino-dist: preqs crosstool bootstrap cs-drivers-pkg cs-libs-pkg minimal-system-pkgs wget neutrino-pkg trim-glib install-pkgs dist-pkgs

Dann:

make neutrino-dist

Die Flash-Images liegen dann unter:

./build_tmp

bzw. Images, die mit einem Rettungs/Update-USB-Stick geflasht werden können, unter:

./build_tmp/coolstream