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.

  1. Create a directory

    mkdir dreambox
    cd dreambox
    
  2. Checkout

    export CVS_RSH=ssh
    cvs -d :/cvs/tuxbox -z3 co -P -rdreambox .
    
  3. Change working directory to cdk

    cd cdk
    
  4. Generate initial configuration for later steps by specifing the target model. In my case, it is dm500.

    chmod a+x prepare
    ./prepare dm500
    
  5. Make sure you have the latest codes.

    make checkout
    
  6. 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.

  7. Now you are ready to build a flash image.

    make rebuild-flash
    
  8. 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.

  1. Change directory to cdk.

    cd dreambox/cdk
    
  2. 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
    
  3. Build flash image

    make rebuild-flash
    
  4. 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:

  1. Add a new skin namely stone_th to use tahoma.ttf and tahomabd.ttf.
  2. Add fonts
  3. Add tha and eng encoding
  4. 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.

Tags: , , , , ,

Please help about Dreambox customize

Dear Sir: Would you please teach me how to custimize my dreambox. I follow your article to do but fail. I dont know whether I have to modify the .po file in "locale" directory. Please help! I would like to have one "Traditional Chinese" Version. Sean msn: skype: seantw1974 http://www.dreambox.tw

Change my contact information

mail: msn: skype: seantw1974 please help

added

added

HowTo for CVS

i would very much like to know how to add skin and blue panel to dreambox.. any info is most appreciated.

Post new comment