Jump to content


cosminprund

Member Since 30 Jun 2012
Offline Last Active 16 Jul 2012 08:08
-----

Topics I've Started

Trying to make a dm500plus image, bitbake.conf not found

2 July 2012 - 07:48

Hello,

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"