-------------------------------------------------
pack_2.4.30_mit_rcS.tar.gz
--------------------------------------------------
hier das HowTo:
jffs2only mit kernel 2.4.30 HowTo
Version 0.3
vom 26.05.2005 für alle
von dhd
- feel free to share this doc -
-------------------------------------------------------------
! Die Kernel Patches sind von Body !
einige Db2wW user haben beim HowTo geholfen.
-------------------------------------------------------------
Also zuersteinmal erstellen wir uns die dirs und laden das aktuelle cvs
Code: Alles auswählen
mkdir $HOME/tuxbox-cvs
mkdir $HOME/dbox2
cd $HOME/tuxbox-cvs
export CVS_RSH=ssh
cvs -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox -z3 co -P .
Code: Alles auswählen
cd cdk
./autogen.sh
./configure --prefix=$HOME/dbox2 --with-cvsdir=$HOME/tuxbox-cvs --enable-maintainer-mode --with-targetruleset=flash
Code: Alles auswählen
linux-2.4.30-dbox2.config => $HOME/tuxbox-cvs/cdk/Patches/
linux-2.4.30-dbox2.config-flash => $HOME/tuxbox-cvs/cdk/Patches/
linux-2.4.30-dbox2.diff => $HOME/tuxbox-cvs/cdk/Patches/
linux-2.4.30-dbox2-mtd.diff.bz2 => $HOME/tuxbox-cvs/cdk/Archive/
Dafür gehn wir nach
$HOME/tuxbox-cvs/cdk/ und ändern in den rules-make folgendes :
zuerstmal
Code: Alles auswählen
linux;2.4.27-dbox2;linux-2.4.27;linux-2.4.27.tar.bz2:cifs-1.20c-2.4.tar.gz:linux-2.4.27-dbox2-mtd.diff.bz2;remove:linux;extract:linux-2.4.27.tar.bz2;patch:linux-2.4.27-dbox2.diff;patch:linux-2.4.27-dbox2-shift.diff;patch:linux-2.4.27-dbox2-keyboard.diff;patch:linux-2.4.27-dbox2-v4l2.diff;patch:linux-2.4.27-dbox2-cramfs.diff;patch:linux-2.4.27-dbox2-lufs.diff;patch:linux-2.4.27-dbox2-mtd.diff.bz2;extract:cifs-1.20c-2.4.tar.gz;move:linux/fs/cifs:linux-2.4.27/fs/;patch:../linux/cifs_24.patch;remove:linux;patch:fb_accel_id.diff;patch:squashfs2.1r2-patch;link:linux-2.4.27:linux
Code: Alles auswählen
linux;2.4.30-dbox2;linux-2.4.30;linux-2.4.30.tar.bz2;extract:linux-2.4.30.tar.bz2;patch:linux-2.4.30-dbox2.diff;patch:linux-2.4.27-dbox2-shift.diff;patch:linux-2.4.27-dbox2-v4l2.diff;patch:linux-2.4.30-dbox2-mtd.diff.bz2;patch:linux-2.4.27-dbox2-lufs.diff;remove:linux;link:linux-2.4.30:linux
Code: Alles auswählen
linux-2.4.27.tar.bz2;ftp://ftp.de.kernel.org/pub/linux/kernel/v2.4;ftp://ftp.kernel.org/pub/linux/kernel/v2.4
Code: Alles auswählen
linux-2.4.30.tar.bz2;ftp://ftp.de.kernel.org/pub/linux/kernel/v2.4;ftp://ftp.kernel.org/pub/linux/kernel/v2.4
$HOME/tuxbox-cvs/apps/misc/tools/
Das Makefile.am öffnen und
Code: Alles auswählen
if !NEW_MTD
SUBDIRS += mtd
endif
Code: Alles auswählen
#if !NEW_MTD
#SUBDIRS += mtd
#endif
"#include <linux/mtd/mtd.h>" auf "#include <linux/mtd/mtd-user.h>" ändern
bei neutrino in -> "flashtool.cpp"
bei enigma in -> "upgrade.cpp" und "flashtool.cpp"
jetzt haben wir eignetlich alles so weit fertig für den kernel.
Nun gehen wir in $HOME/tuxbox-cvs/cdk und machen ein
Code: Alles auswählen
make linuxdir
Code: Alles auswählen
touch .deps/linuxdir
Soo jetzt schauen wir und mal die jffs2only Partitionierung an, dafür gehn wir nach
Code: Alles auswählen
cd $HOME/tuxbox-cvs/cdk/linux-2.4.30/drivers/mtd/maps
Code: Alles auswählen
static struct mtd_partition partition_info[]= {
{
.name = "BR bootloader",
.size = 128 * 1024,
.offset = 0,
.mask_flags = MTD_WRITEABLE
},
{
.name = "flfs (u-boot)",
.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
}
};
Um jetzt den kernel zu compiliern gehen wir wieder nach
Code: Alles auswählen
$HOME/tuxbox-cvs/cdk/
Code: Alles auswählen
make linuxkernel
Code: Alles auswählen
chmod 644 /home/r2d2/dbox2/tftpboot/kernel-cdk
/usr/bin/install -c -m644 linux-2.4.30/vmlinux /home/r2d2/dbox2/cdkroot/boot/vmlinux-2.4.30-dbox2
/usr/bin/install -c -m644 linux-2.4.30/System.map /home/r2d2/dbox2/cdkroot/boot/System.map-2.4.30-dbox2
touch .deps/linuxkernel
Code: Alles auswählen
make flash-neutrino-all
so jetzt müssen wir natürlich noch die sachen in $HOME/dbox2/cdkflash kopieren und machen, damit das img auch bootet, hierfür also wie folgt vorgehen:
Zuersteinmal richten wir das Netzwerk ein, indem wir unter
$HOME/dbox2/cdkflash/root/etc/network
die ' # ' entfernen und evt. noch nen nameserver einrichten, was dann in etwa so aussieht:
Code: Alles auswählen
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 65.18.0.55
broadcast 65.18.0.255
gateway 65.18.0.148
netmask 25.24.3.5
$HOME/dbox2/cdkflash/root/etc/init.d/ gehöhrt, die brauchen wir, weill der kernel kein insmode versteht bzw das nicht gelinkt ist.
jetzt brauchen wir natürlich noch die ucodes und die logos also kopieren wir mal
Code: Alles auswählen
avia500.ux bzw avia600.ux => $HOME/dbox2/cdkflash/root/var/tuxbox/ucodes/
cam-alpha.bin => $HOME/dbox2/cdkflash/root/var/tuxbox/ucodes/
ucode.bin (wenn nicht interne) => $HOME/dbox2/cdkflash/root/var/tuxbox/ucodes/
- boot.conf
- logo-fb
- logo-lcd
- u-boot.conf
kommen nach $HOME/dbox2/cdkflash/root/var/tuxbox/boot/
die boot.conf sieht so aus:
Code: Alles auswählen
console=ttyS0
lcd_inverse=0
lcd_contrast=15
Code: Alles auswählen
root=/dev/mtdblock2 rw
bouquets.xml => /dbox2/cdkflash/root/var/tuxbox/config/zapit/
services.xml => /dbox2/cdkflash/root/var/tuxbox/config/zapit/
zapit.conf => /dbox2/cdkflash/root/var/tuxbox/config/zapit/ (bei bedarf)
damit euer satfind geht braucht ihr natürlich auch die entsprechenden einstellungen:
Code: Alles auswählen
satellites.xml => $HOME/dbox2/cdkflash/root/share/tuxbox/ # Bei Sattelite
cables.xml => $HOME/dbox2/cdkflash/root/share/tuxbox/ # Bei Kabel
jetzt, um das img file zu erstellen machen wir noch ein jffs2-flfs.img vom aktuell laufenen img mit u-boot (dbox-taste => service => software - aktualisierung => experten-funktionen => einzelne partition auslesen => flfs(u-boot))
dann haben wir im /tmp/ ne datei liegen die sich mtd1.img schimpf, die muss jetzt nach $HOME/dbox2/cdkflash/ kopieren und dann in jffs2-flfs.img umbennen.
Dann macht ihr im Ordner
$HOME/tuxbox-cvs/cdk/
ein freundliches
Code: Alles auswählen
make flash-jffs2image
stehen.
sooo jetzt gibts im ordner
§HOME/dbox2/cdkflash/ eine datei die jffs2only.img heißt, sein. Die Datei muss n /tmp/ auf die dbox2. Wenn die Datei da drinn ist, dann macht ihr unter dbox-taste => service => software - aktualisierung => experten-funktionen => einzelne partition einlesen => complete flash (without bootloader) und wählt das jffs2only.img aus und bestätigt die Meldungen.
-----------------------------------------------------------------------------