How to build a custom Angstrom Image.

hi
I have built a angstrom console image but i want to build a image which has some extra kernel modules like uvcvideo… how do i modify the .conf file to add modules and packages in the built image.

Thanks.
Anand S.

Try this link. I found it on the Angstrom home page:

http://www.slimlogic.co.uk/2011/05/openembeddedangstrom-kernel-workflow/

Regards,

Dave.

Hello, I’m also trying to build a custom kernel, with DMA disabled for the USB host controller to hopefully avoid an issue with webcams stopping to send data.

No luck so far. Here’s what I do, starting with a blank 4GB microSD card, a BeagleBone, and a WindowsXP PC (I’ll need the building of the kernel done on the BeagleBone itself).

Download and unpack the Angstrom-Cloud9-IDE-eglibc-ipk-v2012.02-core-beaglebone-2012.02.14.img, write it to the SD card with Win32 Disk Imager. This works fine.

Power the BeagleBone via USB and connect it to the LAN as well via Ethernet cable. When the Ethernet LED turns green, WinPUTTY (or Cygwin), WinSCP login to the BeagleBone. Also works, so basics are fine.

Once on the BeagleBone I run

opkg update
opkg install python-sqlite3
opkg install python-xmlrpc
cd /home/root

this is because having previously tried to build, I got some error messages when “building pseudo”, which disappeared after loading those packages. (Ok, last command not needed, it just shows where I am on the BeagleBone for the next commands that I will run).

If I try

bitbake

as described at the slimlogic.co.uk/2011/05/openembeddedangstrom-kernel-workflow/ site, it doesn’t work, command not recognized, so instead I follow the instructions at http://www.angstrom-distribution.org/building-angstrom and http://www.beagleboard.org/angstrom-mirror/www.angstrom-distribution.org/demo/beaglebone/ so on the BeagleBone I do

git clone git://git.angstrom-distribution.org/setup-scripts
cd ./setup-scripts

I had to install JAVA 7 to get past the point you are stuck at. ted

Hello, I'm also trying to build a custom kernel, with DMA disabled for the USB host controller to hopefully avoid an issue with webcams stopping to send data.

cd ./setup-scripts
./oebb.sh config beaglebone

Have you set a MACHINE environment variable? If not, I think you need:

MACHINE=beaglebone ./oebb.sh config beaglebone

The first few times I tried to build the kernel I did use

MACHINE=beaglebone CONFIG_MUSB_PIO_ONLY=y ./oebb.sh config beaglebone

(and similar for subsequent commands: prefixing them with setting those two variables).

In any case, to make sure, I now ran

MACHINE=beaglebone ./oebb.sh config beaglebone

and apparently it works, thanks! The smartphone layer is finally downloaded.

Ok, next I think I must run

MACHINE=beaglebone ./oebb.sh update
MACHINE=beaglebone ./oebb.sh bitbake systemd-image

(I used the instructions at http://www.beagleboard.org/angstrom-mirror/www.angstrom-distribution.org/demo/beaglebone/ which indicate systemd-image as target, not virtual/kernel).

My questions are, do I use systemd-image or virtual/kernel, and more importantly, where do I specify CONFIG_MUSB_PIO_ONLY=y

Thanks in any case, I’ve made a step forward with your help so far.

With regard,
Mihai Pomarlan

Sorry for the thread necromancy but I wanted to document what steps I took just in case they are useful for someone else later for other novice users like me, as well as describe the new place where I’m stuck now.

First I tried to find the CONFIG_MUSB_PIO_ONLY

grep -H -r -l “CONFIG_MUSB_PIO_ONLY” /home/root/setup-scripts/sources | grep -i beaglebone

which produces a list of two defconfig files:

/home/root/setup-scripts/sources/meta-ti/recipes-kernel/linux/linux-ti33x-psp-3.1/beaglebone/defconfig
/home/root/setup-scripts/sources/meta-ti/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/defconfig

I change the CONFIG_MUSB_PIO_ONLY option in both, and then proceed with

cd /home/root/setup-scripts
MACHINE=beaglebone ./oebb.sh update

(I had to run the update twice, because of “unexpected hangup”). Next I run

MACHINE=beaglebone ./oebb.sh bitbake systemd-image

but here I get

DEBUG: LOAD /home/root/setup-scripts/sources/openembedded-core/meta/classes/package_ipk.bbclass DEBUG: BB configuration INHERITs:0: inheriting classes/image-prelink.bbclass DEBUG: BB /home/root/setup-scripts/sources/openembedded-core/meta/classes/image-prelink.bbclass: handle(data, include) DEBUG: LOAD /home/root/setup-scripts/sources/openembedded-core/meta/classes/image-prelink.bbclass DEBUG: BB configuration INHERITs:0: inheriting classes/license.bbclass DEBUG: BB /home/root/setup-scripts/sources/openembedded-core/meta/classes/license.bbclass: handle(data, include) DEBUG: LOAD /home/root/setup-scripts/sources/openembedded-core/meta/classes/license.bbclass DEBUG: Clearing SRCREV cache due to cache policy of: clear DEBUG: Using cache in '/home/root/setup-scripts/build/tmp-angstrom_2010_x-eglibc/cache/bb_codeparser.dat' for codeparser cache ERROR: OE-core's config sanity checker detected a potential misconfiguration. Either fix the cause of this error or at your own risk disable the checker (see sanity.conf). Following is the list of potential problems / advisories:

Do not use Bitbake as root.
ERROR: Execution of event handler ‘check_sanity_eventhandler’ failed

and the command returns. What’s this now? Is it safe to disable sanity-check?

Thanks in advance,
Mihai

No need, just don't try to run the build logged in as 'root', use
a safer, unprivileged user.

Quick note, I’m leaving for a week so until I return there won’t be any post from me about whether the suggestion worked or not.

Ok then, I’ll go through the user creation procedure when I return. It would have been more convenient to be able to build as root though (I’m using the BeagleBone in a very “closed” environment so for now didn’t bother with setting up new users).

With regard,
Mihai

Dear Gary Thomas,

I want some help.

I want to boot T4240QDS system.

I am using Ubuntu 12.04 and qiriq SDK v1.4 e6500.

I have installed the SDK and i am done with configuring the kernel.But when I try to build the image using $bitbake fsl-image-core i get the following error: