Habe nach der anleitung unten probiert.
Das hat einer im streamboard gepostet
1 . Verzeichnisse dbox2 und tuxbox-cvs erstellen
xennex@debian:~$ mkdir $HOME/dbox2
xennex@debian:~$ mkdir $HOME/tuxbox-cvs
2. CVS auschecken
xennex@debian:~$ cd $HOME/tuxbox-cvs
xennex@debian:~/tuxbox-cvs$ export CVS_RSH=ssh
xennex@debian:~/tuxbox-cvs$ cvs -
danoncvs@cvs.tuxbox-cvs.sourceforge.net:/cvs/tuxbox -z3 co -P .
es muss nicht immer der komplette cvs ausgecheckt werden.
Update :
xennex@debian:~/tuxbox-cvs$ cvs -
danoncvs@cvs.tuxbox-cvs.sourceforge.net:/cvs/tuxbox -z3 up -dP
3. Vorarbeiten zum Kompilieren
xennex@debian:~$ cd $HOME/tuxbox-cvs/cdk
xennex@debian:~/tuxbox-cvs/cdk$ ./autogen.sh
xennex@debian:~/tuxbox-cvs/cdk$ ./configure --with-cvsdir=$HOME/tuxbox-cvs \
--prefix=$HOME/dbox2 \
--enable-maintainer-mode \
--with-targetruleset=flash
4. Archive downloaden
xennex@debian:~$ cd $HOME/tuxbox-cvs/cdk
xennex@debian:~/tuxbox-cvs/cdk$ make download
Sollten nicht alle Dateien runtergeladen werden (passiert öffters) dann die Dateien manuell von
http://www.tuxbox-cvs.sourceforge.net/p ... x/cdk/src/ runterladen.
5. Vorbereitung für JFFS2 Image only
- Kernel entpacken
xennex@debian:~$ cd $HOME/tuxbox-cvs/cdk
xennex@debian:~/tuxbox-cvs/cdk$ make linuxdir
- Die Datei dbox2-flash.c anpassen
xennex@debian:~$ cd $HOME/tuxbox-cvs/cdk/linux-2.4.25/drivers/mtd/maps
xennex@debian:~/tuxbox-cvs/cdk/linux-2.4.25/drivers/mtd/maps$ vi dbox2-flash.c
Die Datei sollten dann so aussehen :
/*
* $Id: dbox2-flash.c,v 1.9 2003/05/21 12:45:18 dwmw2 Exp $
*
* D-Box 2 flash driver
*/
#include <linux/module.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <asm/io.h>
#include <linux/mtd/mtd.h>
#include <linux/mtd/map.h>
#include <linux/mtd/partitions.h>
#include <linux/config.h>
#include <linux/errno.h>
/* partition_info gives details on the logical partitions that the split the
* single flash device into. If the size if zero we use up to the end of the
* device. */
static struct mtd_partition partition_info[]= {
{
.name = "BR bootloader",
.size = 128 * 1024,
.offset = 0,
.mask_flags = MTD_WRITEABLE
},
{
.name = "flfs (ppcboot)",
.size = 128 * 1024,
.offset = MTDPART_OFS_APPEND,
.mask_flags = 0
},
{
.name = "root (jffs2)",
.size = 7936 * 1024,
.offset = MTDPART_OFS_APPEND,
.mask_flags = 0
},
{
.name = "flash without bootloader",
.size = MTDPART_SIZ_FULL,
.offset = 128 * 1024,
.mask_flags = 0
},
{
.name = "complete flash",
.size = MTDPART_SIZ_FULL,
.offset = 0,
.mask_flags = MTD_WRITEABLE
}
};
#define NUM_PARTITIONS (sizeof(partition_info) / sizeof(partition_info[0]))
#define WINDOW_ADDR 0x10000000
#define WINDOW_SIZE 0x800000
static struct mtd_info *mymtd;
struct map_info dbox2_flash_map = {
.name = "D-Box 2 flash memory",
.size = WINDOW_SIZE,
.buswidth = 4,
.phys = WINDOW_ADDR,
};
int __init init_dbox2_flash(void)
{
printk(KERN_NOTICE "D-Box 2 flash driver (size->0x%X mem->0x%X)\n", WINDOW_SIZE, WINDOW_ADDR);
dbox2_flash_map.virt = (unsigned long)ioremap(WINDOW_ADDR, WINDOW_SIZE);
if (!dbox2_flash_map.virt) {
printk("Failed to ioremap\n");
return -EIO;
}
simple_map_init(&dbox2_flash_map);
// Probe for dual Intel 28F320 or dual AMD
mymtd = do_map_probe("cfi_probe", &dbox2_flash_map);
if (!mymtd) {
// Probe for single Intel 28F640
dbox2_flash_map.buswidth = 2;
mymtd = do_map_probe("cfi_probe", &dbox2_flash_map);
}
if (mymtd) {
mymtd->owner = THIS_MODULE;
/* Create MTD devices for each partition. */
add_mtd_partitions(mymtd, partition_info, NUM_PARTITIONS);
return 0;
}
iounmap((void *)dbox2_flash_map.virt);
return -ENXIO;
}
static void __exit cleanup_dbox2_flash(void)
{
if (mymtd) {
del_mtd_partitions(mymtd);
map_destroy(mymtd);
}
if (dbox2_flash_map.virt) {
iounmap((void *)dbox2_flash_map.virt);
dbox2_flash_map.virt = 0;
}
}
module_init(init_dbox2_flash);
module_exit(cleanup_dbox2_flash);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Kári DavÃðsson <
kd@flaga.is>, Bastian Blank <
waldi@tuxbox-cvs.sourceforge.net>, Alexander Wild <
wild@te-elektronik.com>");
MODULE_DESCRIPTION("MTD map driver for D-Box 2 board");
DORT WIRD NUR DER PART :
static struct mtd_partition partition_info[]= {
{
.name = "BR bootloader",
.size = 128 * 1024,
.offset = 0,
.mask_flags = MTD_WRITEABLE
},
{
.name = "flfs (ppcboot)",
.size = 128 * 1024,
.offset = MTDPART_OFS_APPEND,
.mask_flags = 0
},
{
.name = "root (jffs2)",
.size = 7936 * 1024,
.offset = MTDPART_OFS_APPEND,
.mask_flags = 0
},
{
.name = "flash without bootloader",
.size = MTDPART_SIZ_FULL,
.offset = 128 * 1024,
.mask_flags = 0
},
{
.name = "complete flash",
.size = MTDPART_SIZ_FULL,
.offset = 0,
.mask_flags = MTD_WRITEABLE
}
};
Verändert !!!
- mklibs kopieren
xennex@debian:~$ cp $HOME/tuxbox-cvs/hostapps/mklibs/mklibs.py /usr/bin/mklibs
xennex@debian:~$ chmod 755 /usr/bin/mklibs
6. Kompilieren
xennex@debian:~$ cd $HOME/tuxbox-cvs/cdk
xennex@debian:~/tuxbox-cvs/cdk$ make all
Das kann jetzt einige Zeit Dauern bei mir 1:30 Std.
letzen Ausgabe sollte dieses sein :
touch .deps/joe
xennex@debian:~/tuxbox-cvs/cdk$
7. Flash-Dateien erstellen
xennex@debian:~$ cd $HOME/tuxbox-cvs/cdk
xennex@debian:~/tuxbox-cvs/cdk$ make flash-neutrino-all
8. Vorbereitung Image erstellen
- Dateien logo-lcd, logo-fb boot.conf und u-boot.conf nach $HOME/dbox2/cdkflash/root/var/tuxbox/boot kopieren *
(Sollte das Verzeichniss $HOME/dbox2/cdkflash/root/var/tuxbox/boot nicht existieren, dann erstellen)
- Dateien bouquets.xml; services.xml nach $HOME/dbox2/cdkflash/root/var/tuxbox/config/zapit kopieren *
- Die Datein scan.conf nach $HOME/dbox2/cdkflash/root/var/tuxbox/config kopieren *
- Die Dateien ucodes.bin, aviaX00.ux und alpha-cam.bin nach $HOME/dbox2/cdkflash/root/var/tuxbox/ucodes kopieren
(Diese Dateien erstellt ihr aus dem Orginal BN Image)
- Die Datei $HOME/dbox2/cdkflash/root/etc/init.d/rcS editieren :
xennex@debian:~$ cd $HOME/dbox2/cdkflash/root/root/etc/init.d
xennex@debian:~/dbox2/cdkflash/root/root/etc/init.d$ vi rcS
Die Datei muss danach so aussehen :
#!/bin/sh
PATH=/sbin:/bin
CAMALPHA="firmware=/var/tuxbox/ucodes/cam-alpha.bin"
UCODE="ucode=/var/tuxbox/ucodes/ucode.bin"
hostname -F /etc/hostname
mount -a
ifup -a
test -x /sbin/inetd && inetd
./etc/profile
insmod tuxbox
VENDOR=`/bin/tuxinfo -V`
VENDOR_ID=`/bin/tuxinfo -v`
MODEL=`/bin/tuxinfo -M`
MODEL_ID=`/bin/tuxinfo -m`
SUBMODEL=`/bin/tuxinfo -S`
SUBMODEL_ID=`/bin/tuxinfo -s`
echo "Detected STB:"
echo " Vendor: $VENDOR"
echo " Model: $MODEL $SUBMODEL"
insmod dvb-core dvb_shutdown_timeout=0
# D-BOX2
if [ $MODEL_ID -eq 1 ]; then
# I2C core
insmod dbox2_i2c
insmod dvb_i2c_bridge
#
insmod event
# Frontprozessor
insmod dbox2_fp
insmod dbox2_fp_input
# Frontends
# Nokia
if [ $VENDOR_ID -eq 1 ]; then
insmod ves1820
insmod ves1x93 board_type=1
# Philips
elif [ $VENDOR_ID -eq 2 ]; then
insmod tda8044h
# Sagem
elif [ $VENDOR_ID -eq 3 ]; then
insmod at76c651
insmod ves1x93 board_type=2
fi
# Misc IO
insmod avs
insmod saa7126
# Philips
if [ $VENDOR_ID -eq 2 ]; then
insmod cam mio=0xC040000 $CAMALPHA
else
insmod cam mio=0xC000000 $CAMALPHA
fi
insmod lcd
# A/V
insmod avia_napi
insmod avia_av firmware=/var/tuxbox/ucodes
if [ -e /var/etc/.hw_sections ]; then
insmod avia_gt $UCODE hw_sections=0
else
insmod avia_gt $UCODE
fi
insmod avia_gt_fb console_transparent=1
insmod avia_gt_lirc
insmod avia_gt_oss
insmod avia_gt_v4l2
insmod cam_napi
insmod avia_av_napi
if [ -e /var/etc/.spts_mode ]; then
insmod avia_gt_napi mode=1
else
insmod avia_gt_napi
fi
insmod dbox2_fp_napi
fi
echo "$VENDOR $MODEL - Kernel %r (%t)." > /etc/issue.net
# compatibility links
ln -sf demux0 /dev/dvb/adapter0/demux1
ln -sf dvr0 /dev/dvb/adapter0/dvr1
ln -sf fb/0 /dev/fb0
test -x /bin/loadkeys && loadkeys /share/keymaps/i386/qwertz/de-latin1.kmap.gz
if [ -e /etc/init.d/rcS.local ]; then
. /etc/init.d/rcS.local
fi
- Netzwerk einstellungen machen
xennex@debian:~$ cd $HOME/dbox2/cdkflash/root/etc/network
xennex@debian:~/dbox2/cdkflash/root/network$ vi interfaces
Dort Alle # vor den Zeilen entfernen
* Diese Dateien bekommt ihr als anhang ....
9. Image erstellen
xennex@debian:~$ cd $HOME/dbox2/cdkflash
xennex@debian:~/dbox2/cdkflash$ mkfs.jffs2 -b -f -e 0x20000 --pad=0x7c0000 -r root -o part2.img
Nun Fehlt noch der Bootloader .... (Datei part1_2xi.img und part1_1xi.img im Anhang)
xennex@debian:~/dbox2/cdkflash$cat part1_Xxi.img part2.img > jffs2_only.img