Sponsored links


Go Back   Sat Industry Forums > Dreambox > Dreambox Development
Register FAQ Members List Calendar Mark Forums Read

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 02-06-2005
hemertje's Avatar
Moderator
 
Join Date: Oct 2003
Posts: 3,088
Thanks: 0
Thanked 38 Times in 22 Posts
hemertje is on a distinguished road
Howto build a complete Image for any dreambox!

see the original howto here:

http://cvs.tuxbox.org/cgi-bin/viewcv...=date&view=log

This is the current status:

Revision 1.197.2.51.2.1 - (view) (download) (annotate) - [select for diffs]
Fri Feb 4 18:04:40 2005 UTC (22 hours, 26 minutes ago) by ghostrider
Branch: dreambox
Changes since 1.197.2.51: +550 -269 lines
Diff to previous 1.197.2.51
new dreambox cdk part 3 ( final part )

To build a complete Image for any dreambox do following:

1.) create a lokal directory for your new dreambox cdk and change into this new directory

2.) check out tuxbox-cvs branch "dreambox":
export CVS_RSH=ssh
cvs -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox -z3 co -P -rdreambox .

3.) change into "cdk" directory

4.) "chmod ugo+x prepare"

5.) "./prepare <dm7000, dm500, dm56x0> ( dm7000 is default )

6.) "make checkout" ( this updates many parts of the CVS to HEAD branch )

7.) "make dreamboximage_root"

8.) "make rebuild-flash"

9.) "make flash-compress"

you now find the new image in "../root/cdkflash" named "complete.img"

in root/cdkflash/ you can delete .part_? files to remove parts from the image.. or you can add other parts to image with make flash-?... to see what parts exist you can look into Makefile.am

in dm56x0 and dm500 image many space is left for add other things.. for dm7000 you must remove parts before you add other parts..
max size of cramfs (kernel+bild) is 1152K ( 1179648 bytes )
max size of squashfs is 4992K (5111808)
complete this is 6144K (6291456)

to remove sambaserver you only must remove .part_sambaserver in root/cdkflash.. to remove reiserfsck remove .part_reiserfsck

when you will add "other plugins, programs, files" to your Image you can copy your parts to root/cdkflash/dreamfiles/? (bin/sbin) .. then do make rebuild-flash and make flash-compress but take not that root/cdkflash/dreamfiles will be deleted when new version of dreamdrivers.. or dreamfiles are available..

the other way to add own files to your image is to put your files after flashing the image into the box to /var .. at this place you have 1.7MB.. for most things this is enough..

to remove partially languages edit Makefile.am in part "flash-enigma":
when you like to remove russian language from you image then change the followinmg for loop :
@for i in ar sr ur ; do rm -R $(flashprefix)/root/share/locale/$$i; done
into
@for i in ar sr ur it ; do rm -R $(flashprefix)/root/share/locale/$$i; done

the cdk downloads automatically all dreambox specific parts from sources.dreamboxupdate.com ( drivers.. closed source tools.. )


have fun...
Reply With Quote
Sponsored links
  #2 (permalink)  
Old 02-07-2005
PLiŽ's Avatar
PLi Forum Admin
 
Join Date: Nov 2003
Posts: 86
Thanks: 0
Thanked 0 Times in 0 Posts
PLiŽ is on a distinguished road
Works great.

The only problem I know have is that my own plugin won't worlk. Actually I have recompiled it with the newly build CDK and that has passed without errors. But when I try to install this in the newly build image I get errors that functions cannot be found so probably earlier stripped from the libs by mklibs.py

When I then first copy my plugin before mklibs.py runs then mklibs.py is not able to run completely because it cannot find the functions used from enigma.

Anybody know how I can fix this problem?

Peter
Reply With Quote
  #3 (permalink)  
Old 02-07-2005
xphile's Avatar
Super Moderator
 
Join Date: Aug 2003
Posts: 885
Thanks: 0
Thanked 0 Times in 0 Posts
xphile is on a distinguished road
Yep take a look at Makefile.am. Look at any of the enigma based plugins and you find this comment:

Code:
flash-plugin_ngrabstartstop: $(flashprefix)/.part_plugin_ngrabstartstop
$(flashprefix)/.part_plugin_ngrabstartstop: $(flashprefix)/.flash .plugins flash-enigma
	$(INSTALL) -d $(flashprefix)/root/lib/tuxbox/plugins
# copy enigma plugins after mklibs.. (mklibs.py do not detect enigma as a shared lib)
	@touch $@
Then if you search a bit further you see:

Code:
@if [ -f $(flashprefix)/.part_plugin_ngrabstartstop ] ; then \
		cp $(targetprefix)/lib/tuxbox/plugins/ngrab*.so $(flashprefix)/root/lib/tuxbox/plugins/ ; \
		cp $(targetprefix)/lib/tuxbox/plugins/ngrab*.cfg $(flashprefix)/root/lib/tuxbox/plugins/ ; \
	fi
Basically the copy of enigma based plugins must happen after the mklibs step. Use ngrab as an example to follow.

Quote:
Originally Posted by PLiŽ
Works great.

The only problem I know have is that my own plugin won't worlk. Actually I have recompiled it with the newly build CDK and that has passed without errors. But when I try to install this in the newly build image I get errors that functions cannot be found so probably earlier stripped from the libs by mklibs.py

When I then first copy my plugin before mklibs.py runs then mklibs.py is not able to run completely because it cannot find the functions used from enigma.

Anybody know how I can fix this problem?

Peter
Reply With Quote
  #4 (permalink)  
Old 02-07-2005
Registered User
 
Join Date: Mar 2003
Posts: 138
Thanks: 0
Thanked 0 Times in 0 Posts
g_moir is on a distinguished road
can you please help me with step 2?
i get no error when i do the export line, but cvs is an unknown command when doing the second line?
Reply With Quote
  #5 (permalink)  
Old 02-07-2005
Quinten's Avatar
Registered User
 
Join Date: Dec 2004
Posts: 15
Thanks: 0
Thanked 0 Times in 0 Posts
Quinten is on a distinguished road
Quote:
Originally Posted by g_moir
can you please help me with step 2?
i get no error when i do the export line, but cvs is an unknown command when doing the second line?
You need to install cvs, or have priviledges set to run cvs as a user.
Reply With Quote
  #6 (permalink)  
Old 02-08-2005
PLiŽ's Avatar
PLi Forum Admin
 
Join Date: Nov 2003
Posts: 86
Thanks: 0
Thanked 0 Times in 0 Posts
PLiŽ is on a distinguished road
Quote:
Originally Posted by xphile
Yep take a look at Makefile.am. Look at any of the enigma based plugins and you find this comment:

Code:
flash-plugin_ngrabstartstop: $(flashprefix)/.part_plugin_ngrabstartstop
$(flashprefix)/.part_plugin_ngrabstartstop: $(flashprefix)/.flash .plugins flash-enigma
	$(INSTALL) -d $(flashprefix)/root/lib/tuxbox/plugins
# copy enigma plugins after mklibs.. (mklibs.py do not detect enigma as a shared lib)
	@touch $@
Then if you search a bit further you see:

Code:
@if [ -f $(flashprefix)/.part_plugin_ngrabstartstop ] ; then \
		cp $(targetprefix)/lib/tuxbox/plugins/ngrab*.so $(flashprefix)/root/lib/tuxbox/plugins/ ; \
		cp $(targetprefix)/lib/tuxbox/plugins/ngrab*.cfg $(flashprefix)/root/lib/tuxbox/plugins/ ; \
	fi
Basically the copy of enigma based plugins must happen after the mklibs step. Use ngrab as an example to follow.
I founded that also but then not all libs necessary for the plugin are available in the image because mklibs.py did not see my plugin abd then the plugin will not start but gives an unresolved external popup when started.

Peter
Reply With Quote
  #7 (permalink)  
Old 02-08-2005
PLiŽ's Avatar
PLi Forum Admin
 
Join Date: Nov 2003
Posts: 86
Thanks: 0
Thanked 0 Times in 0 Posts
PLiŽ is on a distinguished road
I have found the solution.

The mklibs.py which you get when using the new Makefile is not correct. I found out that the version I had from my previous tree is working correctly.

Now you can edit Makefile.am (in cdk dir) so that plugins are copied before mklibs.py will run,

example,
this is how it is :

Code:
	@$(PYTHON) $(flashprefix)/mklibs.py --target $(target) --ldlib ld.so.1 --libc-extras-dir $(targetprefix)/lib/libc_pic \
		-d $(flashprefix)/root/lib \
		-D -L $(targetprefix)/lib \
		--root $(flashprefix)/root \
		`find $(flashprefix)/root/bin/ -path "*bin/?*"` \
		`find $(flashprefix)/root/lib/ -name "libnss_*"` \
		`find $(flashprefix)/root/lib/tuxbox/ -name "*.so" -type f` \
		`find $(flashprefix)/root/sbin/ -path "*sbin/?*"`
	@if [ -f $(flashprefix)/.part_plugin_ngrabstartstop ] ; then \
		cp $(targetprefix)/lib/tuxbox/plugins/ngrab*.so $(flashprefix)/root/lib/tuxbox/plugins/ ; \
		cp $(targetprefix)/lib/tuxbox/plugins/ngrab*.cfg $(flashprefix)/root/lib/tuxbox/plugins/ ; \
	fi
and this is how it now can be so you won't have unresolved externals in your plugin ;-)

Code:
	@if [ -f $(flashprefix)/.part_plugin_ngrabstartstop ] ; then \
		cp $(targetprefix)/lib/tuxbox/plugins/ngrab*.so $(flashprefix)/root/lib/tuxbox/plugins/ ; \
		cp $(targetprefix)/lib/tuxbox/plugins/ngrab*.cfg $(flashprefix)/root/lib/tuxbox/plugins/ ; \
	fi
	@$(PYTHON) $(flashprefix)/mklibs.py --target $(target) --ldlib ld.so.1 --libc-extras-dir $(targetprefix)/lib/libc_pic \
		-d $(flashprefix)/root/lib \
		-D -L $(targetprefix)/lib \
		--root $(flashprefix)/root \
		`find $(flashprefix)/root/bin/ -path "*bin/?*"` \
		`find $(flashprefix)/root/lib/ -name "libnss_*"` \
		`find $(flashprefix)/root/lib/tuxbox/ -name "*.so" -type f` \
		`find $(flashprefix)/root/sbin/ -path "*sbin/?*"`
I hope this is clear for anybody

I have attached it on this message for everybody ;-)

Peter
Attached Files
File Type: gz mklibs.tar.gz (5.9 KB, 189 views)

Last edited by PLiŽ : 02-08-2005 at 10:53 AM.
Reply With Quote
  #8 (permalink)  
Old 02-08-2005
Registered User
 
Join Date: May 2004
Posts: 12
Thanks: 0
Thanked 0 Times in 0 Posts
Gandalf3 is on a distinguished road
Thanks Peter, very helpfull

G
Reply With Quote
  #9 (permalink)  
Old 02-08-2005
Quinten's Avatar
Registered User
 
Join Date: Dec 2004
Posts: 15
Thanks: 0
Thanked 0 Times in 0 Posts
Quinten is on a distinguished road
I should really do a search first, but is there something like a test plugin (a simple "hello world" plugin would do just fine) around to start developing from? Yesterday I followed the above instructions and got it compiled (and running on the DB as well :o), and am now hungry for more
Reply With Quote
  #10 (permalink)  
Old 02-08-2005
Registered User
 
Join Date: Oct 2004
Posts: 79
Thanks: 0
Thanked 0 Times in 0 Posts
Iveky3 is on a distinguished road
Question

why i get these messages and is it critical?

...
RCS file: /cvs/tuxbox/apps/tuxbox/enigma/po/fi.po,v
retrieving revision 1.18
retrieving revision 1.1.2.6
Merging differences between 1.18 and 1.1.2.6 into fi.po
rcsmerge: warning: conflicts during merge
cvs checkout: conflicts found in apps/tuxbox/enigma/po/fi.po
C apps/tuxbox/enigma/po/fi.po
...


I get them on many files.
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
How to use USB Memory sticks on Dreambox MrBandwidth Accessories 2 07-10-2007 03:00 PM
How to build a Dreambox Source Raph4el DB Images 27 12-09-2005 05:06 AM
Multiboot for 7020 - public beta noggie Dreambox Development 265 08-22-2005 08:29 AM
bitcontrolŽ MPEG-2 Decoder and Dreambox Receiver for Windows hemertje DB Images 3 10-27-2004 04:22 PM


All times are GMT +10. The time now is 09:12 PM.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Page generated in 0.34820 seconds with 11 queries