Vorlage:Cs development flash build: Unterschied zwischen den Versionen

Aus TuxBoxWIKI
Zur Navigation springen Zur Suche springen
(Flashimage erzeugen)
 
(Formulierung)
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
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.  
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.  


Um eigene zusätzliche Dateien wie zB. fertig gebaute Plugins etc. mit einbauen zu lassen, ein Verzeichnis im Stammverzeichnis namens
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.


'''./local-root/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 ('''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]]:
anlegen.
In dieses Verzeichnis legt man nun, ähnlich wie das bereits in '''./skell-root/[PLATFORM]''' der Fall ist, ein Dateisystem an, in das man seine Dateien ablegt.
 
Im Stammverzeichnis des Buildsystems eine Datei namens ''Makefile.local'' erstellen und mit diesem Inhalt ausfüllen:


<source lang="make">
<source lang="make">
LOCALROOT      = $(BASE_DIR)/local-root
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)


local-files:
trim-glib:  
mkdir -p $(LOCALROOT)/root
rm -f $(BASE_DIR)/pkgs/opkg/glibc-2.*.opk
cp -rv $(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
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