Dreambox:Images erstellen (veraltet)
Version vom 9. Dezember 2009, 09:25 Uhr von 149.211.153.93 (Diskussion)
Development
- Allgemein
- Neutrino-HD-Entwicklung
- dbox2 Entwicklung
Inhaltsverzeichnis
Auschecken vorbereiten und Image erstellen
mkdir tuxbox-cvs cd tuxbox-cvs export CVS_RSH=ssh cvs -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox -z3 co -f -r dreambox -P . cd cdk chmod ugo+x prepare_neutrino ./prepare_neutrino dm500 make checkout_neutrino ./prepare_neutrino dm500 make dreamboximage_neutrinoroot make rebuild-flash make flash-compress
Am Ende befindet sich im Ordner root/cdkflash/ ein fertiges Image complete.img.
Anpassung
Änderung der Größenverhältnisse im Image
Man muß dazu die Datei dreambox.c aus dem Ordner cdk/linux/drivers/mtd/maps ändern, nur diese Datei wird erst erstellt nachdem man den Befehl: make dreamboximage_neutrinoroot ausgeführt hat. Dazu öffne ich ein zweites Terminal Fenster und warte bis die Datei da ist und ändere diese während dem makevorgang wie folgt ab:
static struct mtd_partition dreambox_flash_partitions[] = { { name: "DreamBOX cramfs+squashfs", offset: 0x000000, size: 0x500000, }, { name: "DreamBOX jffs2", offset: 0x500000, size: 0x2c0000, }, { name: "DreamBOX OpenBIOS", offset: 0x7c0000, size: 0x040000, mask_flags: MTD_WRITEABLE /* force read-only */ }, { name: "DreamBOX (w/o bootloader)", offset: 0, size: 0x7c0000, }, { name: "DreamBOX (w/ bootloader)", offset: 0, size: 0x800000, mask_flags: MTD_WRITEABLE /* force read-only */ }, { name: "DreamBOX SquashedFS", offset: 0x120000, size: 0x3e0000 }, { name: "DreamBOX Cramfs", offset: 0, size: 0x120000 } };
Damit am Ende nicht eine zu große squashfs Partition erstellt wird und die Überprüfung an die neue Größe angepasst wird, die Datei makefile.am ändern:
$(flashprefix)/root-squashfs.img: touch $(flashprefix)/root/.flash $(flashprefix)/mksquashfs $(flashprefix)/root $(flashprefix)/root-squashfs.img -be -all-root rm $(flashprefix)/root/.flash @if [ `stat -c %s $(flashprefix)/root-squashfs.img` -gt 4063232 ]; then \ echo "ERROR: SquashFS part is too big for image (max. allowed 4063232 bytes)"; \ rm -f $(flashprefix)/root-squashfs.img.too-big 2> /dev/null || /bin/true; \ mv $(flashprefix)/root-squashfs.img $(flashprefix)/root-squashfs.img.too-big; \ exit 1; \ fi