This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DSP Link Deployment too console image

Dear Community

I'm new to OMAP/Gumstix.  I'm using bitbake with OpenEmbedded for the OAMP3530 processor on Overo Fire Gumstix.  I've been able to successfully build my DSP Link recipe using:

bitbake ti-dsplink

I subsequently rebuilt my console image like this:

bitbake omap3-console-image

But the dsplink kernel object is not present in the rootfs tar.  Yet when I look at what I presume to be the staging directory, it's there:

./overo-angstrom-linux-gnueabi/lib/modules/2.6.36/kernel/drivers/dsp/dsplinkk.ko

After I bitbake a package, what are the steps do I need to take to deploy the components of that package in my kernel/root filesystem?

Regards,

Eric Texley

  • So my root file system is being generated from this build tree:

     

    ~/overo-oe/tmp/sysroots/armv7a-angstrom-linux-gnueabi/...

    ......bin  etc  home  lib  shlibs  usr

    but my dsplink installation is going here:

    ~/overo-oe/tmp/sysroots/overo-angstrom-linux-gnueabi/...

    ......kernel  lib  usr

    When I bitbake ti-dsplink why would the dsp-link deliverables not be placed into the directory tree from which the root file system is being generated (the former path

    mentioned.)

  • Eric, you need to install the dsplink packages they're not part of the console image or the x-image in openembedded so unless you make your own custom image to install those packages in your angstrom distro you will have to do that manually.  Looking at your directory memory it should be in the following directory:

    ~/overo-oe/tmp/deploy/eglibc/ipk/overo/ti-dsplink.ipk

     

    at least something like that.  you'll need to copy these IPK files to your over and then install them using opkg "opkg install ti-dsplink.ipk", this package is the one that has dsplinkk.ko in it.  the module won't be automatically mounted for you, there's a script named something like loadmodule.sh and unloadmodules.sh which you can use they basically insmod and rmmod the driver ... look over the dsplink doc files to double check the exact names you should be able to find it in your oe/tmp/work/overo/ti-dsplink/ti-dsplink/doc or something like that directory.

    You also need to install the ti-dsplink-examples.ipk, ti-lpm, ti-codec-engine, ti-codec-engine-apps and a few other TI related packages.  The names might not be exactly what you have but they should be close enough.  Also opkg will check on dependencies when you're installed the packages, so if there's a particular order that you should install the packages in you'll know.

    As future advice, if you find yourself installing too many packages manually you should look into making your own custom image ... trust me it's not as bad as it sounds just find the file "console-image.bb" and look at how they install packages in it and do the same with the extra packages you need and name it differently.  I can tell you from experience it's a HUGE time saver.

  • Hey Almohanad

    I sincerely appreciate the answer, as Bitbake is new territory for me.  My impression was that when I "baked" my dsplink package, the deliverables are being placed in a different target destination, that is a differ ${D} path (that is which is used in the Bitbake script) that what my omap console image is being placed in.  I will do as you suggest and go through the Bitbake documentation as well as the tutorial, in order to understand how to create a consolidated image.  I'll let you know how I progress.

  • I remember when I first worked with bitbake it can be a little confusing and the documentation is still a work in progress from my experience.  Here's a good way to think about it,  Bitbake will bake you recipes and place the generated packages in your deply directory.  The deploy directory has you "Overo" directory which contains Overo specific packages such as dsplink while your "Angstrom" folder contains packages for your general linux distribution.  When you bake an image such as a "console-image" bitbake will look through the console-image.bb recipe and figure out what packages are needed to be included with the console-image.  bitbake will bake any packages which isn't already in your deploy folder. 

    Ultimately when generating the final image, bitbake will take all the packages included in the console-image.bb recipe and install it onto the generated console image, if a package is not named in the console-image.bb it won't be included in the final console-image and you will have to install it manually.  I like to start with a console-image and just add the packages I need that's why I ultimately prefer to make my own custom image, and all you have to do for that is included the names of the packages you want added in your new my-console-image.bb file.