Dreambox:Images erstellen (veraltet)

Aus TuxBoxWIKI
Version vom 4. September 2008, 21:17 Uhr von Prodigy7 (Diskussion | Beiträge) (First try - Quelle: http://tuxbox-forum.dreambox-fan.de/forum/viewtopic.php?p=360105#p360105)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

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