How to customize TuxBox for DreamBox DM500
A friend of mine is playing with DreamBox DM500. In fact, I don't have any satellite receivers but it is very promising. If I would like to have one, it will be mine. Anyway, DM500 is innovated by Germany company so no doubt to lack Thai language support. He is trying to solve this problem. I don't understand what EPG is but he has just released Thai EPG yesterday. Anyway, building DM500 is a long process even on fast machine so he asked me to help on machine under my control. Below is what I have done to build TuxBox on Centos 4.1.
First of all, you have to prepare your machine to have all necessary development packages. By default, you will not have flex
, bison
and libtool
. Anyway, TuxBox needs these tools for building binutils and other packages to support cross-compilation to PowerPC. If you enabled yum
, just run below command.
yum install flex bison libtool
So now you have lex, yacc and library tools for compiling gcc and so on. Next steps are described as follow.
-
Create a directory
mkdir dreambox cd dreambox
-
Checkout
export CVS_RSH=ssh cvs -d :/cvs/tuxbox -z3 co -P -rdreambox .
-
Change working directory to cdk
cd cdk
-
Generate initial configuration for later steps by specifing the target model. In my case, it is dm500.
chmod a+x prepare ./prepare dm500
-
Make sure you have the latest codes.
make checkout
-
Download and build necessary packages including gcc and its dependencies.
make dreamboximage_root
This step might take you so long due to lots of files to download, especially, gcc and kernel.
-
Now you are ready to build a flash image.
make rebuild-flash
-
The last step is to compress the flash image.
make flash-compress
Finally, you will get the compressed image at dreambox/root/cdkflash/complete.img
. After this step you may start customizing the box to meet your requirement. To rebuild flash image with the customized code, just follow below instructions.
-
Change directory to
cdk
.cd dreambox/cdk
-
Before rebuilding, you have to know which packages are modified. You have to remove the timestamp of those packages in
cdk
directory then make it again. For example, I modified enigma so I remove.enigma
.rm .enigma make .enigma
-
Build flash image
make rebuild-flash
-
Compress flash image
make flash-compress
The compressed image will be in the place I mentioned above. Below is what I patched to enigma to:
- Add a new skin namely stone_th to use
tahoma.ttf
andtahomabd.ttf
. - Add fonts
- Add
tha
andeng
encoding - Handle Thai encoding by ISO8859-11
So the patch is as follow.
Index: apps/tuxbox/enigma/data/encoding.conf =================================================================== RCS file: /cvs/tuxbox/apps/tuxbox/enigma/data/encoding.conf,v retrieving revision 1.5 diff -u -r1.5 encoding.conf --- a/apps/tuxbox/enigma/data/encoding.conf 13 May 2006 11:42:11 -0000 1.5 +++ b/apps/tuxbox/enigma/data/encoding.conf 12 Sep 2006 08:30:52 -0000 @@ -5,6 +5,8 @@ pol ISO8859-2 rus ISO8859-5 bul ISO8859-5 +tha ISO8859-11 +eng ISO8859-11 #Table of transponder using two byte char mappings (VideoTexSuppl) #TSID ONID 0x447 0x1 #ASTRA 19.2� UPC Direct Index: apps/tuxbox/enigma/data/fonts/Makefile.am =================================================================== RCS file: /cvs/tuxbox/apps/tuxbox/enigma/data/fonts/Makefile.am,v retrieving revision 1.5 diff -u -r1.5 Makefile.am --- a/apps/tuxbox/enigma/data/fonts/Makefile.am 25 Apr 2005 20:03:59 -0000 1.5 +++ b/apps/tuxbox/enigma/data/fonts/Makefile.am 12 Sep 2006 08:30:52 -0000 @@ -2,5 +2,6 @@ install_DATA = \ bluebold.ttf bluehigh.ttf unmrs.pfa pakenham.ttf md_khmurabi_10.ttf \ - micron.ttf micron_bold.ttf + micron.ttf micron_bold.ttf \ + tahoma.ttf tahomabd.ttf Index: apps/tuxbox/enigma/data/skins/Makefile.am =================================================================== RCS file: /cvs/tuxbox/apps/tuxbox/enigma/data/skins/Makefile.am,v retrieving revision 1.16 diff -u -r1.16 Makefile.am --- a/apps/tuxbox/enigma/data/skins/Makefile.am 21 Sep 2005 20:30:58 -0000 1.16 +++ b/apps/tuxbox/enigma/data/skins/Makefile.am 12 Sep 2006 08:30:53 -0000 @@ -12,5 +12,6 @@ blueqt.esml blueqt.info \ small_snr.esml small_snr.info \ stone_snr.esml stone_snr.info \ - small169_snr.esml small169_snr.info + small169_snr.esml small169_snr.info \ + stone_th.esml stone_th.info Index: apps/tuxbox/enigma/lib/base/estring.cpp =================================================================== RCS file: /cvs/tuxbox/apps/tuxbox/enigma/lib/base/estring.cpp,v retrieving revision 1.28 diff -u -r1.28 estring.cpp --- a/apps/tuxbox/enigma/lib/base/estring.cpp 9 Jan 2006 00:23:49 -0000 1.28 +++ b/apps/tuxbox/enigma/lib/base/estring.cpp 12 Sep 2006 08:30:53 -0000 @@ -463,7 +463,7 @@ switch(data[0]) { case 1 ... 12: - table=data[i++]+4; + if (table != 11) table=data[i++]+4; // eDebug("(1..12)text encoded in ISO-8859-%d",table); break; case 0x10:
And I copied stone.esml
and stone.info
to stone_th.esml
and stone_th.info
, respectively. Their patches are as follow.
--- apps/tuxbox/enigma/data/skins/stone.esml 2006-09-12 08:46:51.000000000 +0700 +++ apps/tuxbox/enigma/data/skins/stone_th.esml 2006-09-12 12:15:08.000000000 +0700 @@ -2,12 +2,12 @@Christoph Ketzler - Screwed Stone +Screwed Stone TH - - + +
--- apps/tuxbox/enigma/data/skins/stone.info 2006-09-12 08:46:51.000000000 +0700 +++ apps/tuxbox/enigma/data/skins/stone_th.info 2006-09-12 12:14:08.000000000 +0700 @@ -1,2 +1,2 @@ -esml=stone.esml -name=Screwed Stone +esml=stone_th.esml +name=Screwed Stone TH
Dont forget to copy your tahoma.ttf
and tahomabd.ttf
to apps/tuxbox/enigmaata/fonts
. Wow! This post is a long one. Hopefully it works. I didn't test it myself as well as my friend have not tested it yet.
- sugree's blog
- 18199 reads
Please help about Dreambox customize
Change my contact information
added
HowTo for CVS
Post new comment