Vorlage:Cs development flash build: Unterschied zwischen den Versionen
Dbt (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
Dbt (Diskussion | Beiträge) (Formulierung) |
||
| (3 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. | ||
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]]: | |||
<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 \ | ||
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 | |||
</source> | </source> | ||
Dann: | Dann: | ||
<source lang="bash"> | <source lang="bash"> | ||
make | 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