I'm trying to build my own OpenPLI dm500plus image so I can (hopefully) customize the Motor Setup on my Dreambox DM500+ box. There's probably a quicker way to achieve that (for example by only building Enigma), but considering I have no idea where to start, I thought I'd build my own image so I have everything on my disk and I can "grep" my way through the code base.
Enough introduction, back to my problem. Since the DM500+ is only supported by the "old" OE 1.0 repository, that's what I'm using. I've checked out the "Makefile" (no version suffix), configured it for my machine (dm500plus), ran "make image" many, many times, figuring out what the system wants in it's "sources" directory and tracking down missing packages. I think I'm past the missing packages since the build process got to the stage where it's trying to do "do_rootfs", and that in turn runs "bb/bin/bbimage" and that's what's failing. Tracking down the issue, apparently the file "conf/bitbake.conf" is missing. The current working directory when the "bbimage" python script is invoked is "build-dm500plus" and that directory does contain a "conf" subdirectory, but "build-dm500plus/conf" doesn't have a "bitbake.conf" file.
Further information: I'm pretty sure there's an issue with "bitbake" and the "bb" library on my system. It's probably newer then expected; Or maybe my Python is newer then expected! For example I had to edit the "bbimage" python script and change the imports to explicitly say "import bb.parse", the "import bb; from bb import *" wasn't enough!
Any way, here are some simple questions, hopefully someone can answer them:[list]
[*]Question: Should the "build-dm500plus/ conf/ bitbake.conf" file exist?
[*]Question: If the "build-dm500plus/ conf/ bitbake.conf" should exist, what bit of the build system is supposed to set it up? Asking so I can track down the failure.
[*]Question: If the "build-dm500plus/ conf/ bitbake.conf" should NOT exist, what's supposed to happen in the bbimage script when looking for the bitbake.conf file? I'm thinking it should somehow find it some place else, but if that's the case then I'd need a newer, smarter version of bbimage (since I get an IOError it's pretty clear the system is dumbly trying to open the file without checking if it's there or not; If the code were smart enough to look in multiple places for the bitbake.conf file, it would surely check for existence before trying to open the file)
[/list]
Here's what I get on the console when doing make image:
cosmin@telco:~/openpli$ make image
cd /home/cosmin/openpli/openembedded && git pull origin 1.0
From git://openpli.git.sourceforge.net/gitroot/openpli/openembedded
* branch 1.0 -> FETCH_HEAD
Already up-to-date.
cd /home/cosmin/openpli/build-dm500plus; . ./env.source; bitbake dreambox-image
NOTE: Psyco JIT Compiler (http://psyco.sf.net) not available. Install it to increase performance.
NOTE: Using cache in '/home/cosmin/openpli/cache/oe-cache.dm500plus.cosmin'
NOTE: Parsing finished. 4031 cached, 0 parsed, 164 skipped, 28 masked.
NOTE: package dreambox-image-1.0: started
NOTE: package dreambox-image-1.0-r0: task do_rootfs: started
ERROR: function do_rootfs failed
ERROR: see log in /home/cosmin/openpli/build-dm500plus/tmp/work/dreambox-image-1.0-r0/temp/log.do_rootfs.17030
NOTE: Task failed: /home/cosmin/openpli/build-dm500plus/tmp/work/dreambox-image-1.0-r0/temp/log.do_rootfs.17030
NOTE: package dreambox-image-1.0-r0: task do_rootfs: failed
ERROR: TaskFailed event exception, aborting
NOTE: package dreambox-image-1.0: failed
ERROR: Build of dreambox-image failed
make: *** [image] Error 1
The full contents of the log.do_rootfs.1703 is attached. The important thing is that bbimag would basically silently fail, without printing anything to the log. I tracked down the error using supplementary logging and figured it's happening right here:
print "Test 1.5"
try:
print "Test 1.5.1"
cfg_bb = parse.handle(os.path.join('conf', 'bitbake.conf'), cfg_bb)
print "Test 1.5.2"
except IOError as e:
print ("Test 1.5.3: eroare: ", e)
print ("Folder de lucru: ", os.getcwd())
fatal("Unable to open bitbake.conf")
Essentially it can't open the bitbake.con file. As mentioned before, the working directory at the time is "build-dm500plus"