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