OE as development platform
Cliff Brake
cliff.brake at gmail.com
Tue Jan 6 18:20:11 UTC 2009
On Tue, Jan 6, 2009 at 10:25 AM, Christophe Aeschlimann
<c.aeschlimann at acn-group.ch> wrote:
> Hi,
>
> Thank you for all the efforts you put in OpenEmbedded !
>
> I would like to know what is the most efficient way to work with
> OpenEmbedded when it comes to building an on going source repository. (in
> this case a linux kernel module)
>
> At the moment I have the following and I find it a bit painful :
>
> loop:
> Do some changes
> Commit to repository
> Update *.bb file to take the latest repository revision number
> bitbake -crebuild my_module
> Upload to development platform
> Test
> goto loop
>
> I wished I could do the same but without having to commit and update *.bb
> file for every loop. I guess what I need is an exported version of the cross
> compiler and the kernel staging dir build by OE. Is there some documentation
> about that use case ?
For kernel development, I typically just develop outside OE, and
scp/rsync my kernel modules to the target. An example script that you
can source to set up a dev environment for the kernel:
CROSS_COMPILER_PATH=`cd oe/build/angstrom-2007.1/tmp/cross/bin; pwd`
BUILD_ARCH=`uname -m`
OE_STAGING_PATH=`cd
oe/build/angstrom-2007.1/tmp/staging/${BUILD_ARCH}-linux/bin; pwd`
export PATH=$PATH:$CROSS_COMPILER_PATH:$OE_STAGING_PATH
export ARCH=arm
export CROSS_COMPILE=arm-angstrom-linux-gnueabi-
rsync is a handy way to get your kernel modules sync'd to the target
platform. Something like the following will install kernel modules
from your linux kernel source tree to the target:
rm -rf modules_install ; INSTALL_MOD_PATH=modules_install make modules_install
rsync -av modules_install/lib/modules/2.6.25 root at 192.168.1.115:/lib/modules/
For iterative development inside OE, you can cd to the working
directory, and then run the ../temp/run.do_configure... and
../temp/run.do_compile... scripts and scp the resulting binaries to
the target.
A third option is to run a devshell: bitbake -c devshell <kernel
recipe image>. This opens a shell where you can run make directly,
but I still find I need to run ../temp/run.do_configure... for most
configure options.
Cliff
--
=======================
Cliff Brake
http://bec-systems.com
More information about the Openembedded-users
mailing list