FAQ: Where is the defconfig for the BeagleBoard?

Question:

I just started working on a beagleboard-xM to do some XYZ device driver development.
I'm trying to build the 2.6.39 kernel from the Sitara SDK 5.02.
The build fails due to the omap3_beagle_defconfig file not existing.
Do you think you could help me find a kernel config file for the beagleboard-xM?

Answer:

When using a distribution build tool, the kernel configuration information is typically preserved as part of the distribution build data. The TI Sitara Linux SDKs (not Android) are all built using Open Embedded (OE) and it is typical for OE to provide a defconfig as part of the build metadata. In the case of the TI SDKs, the OE metadata is part of the Arago Project. The Arago Project mirrors the mainline OE metadata that is used to build the kernel for community distributions, most notably Angstrom. The recipe utilized can be found in the Arago Project mirror [1] or in the mainline OE Classic metadata [2]. You may notice that some of the changes have not made it into the mirror yet, but you'd need to check with the Arago list to get some explanation for that. Perhaps I'm looking at the wrong branch or tag.

The Arago Project further utilizes an overlay to override some of the settings in the OE metadata. In this case, the defconfig is replaced [3]. For the TI SDK builds, that is the defconfig for which you are looking.

For mainline kernel development, for which I'm hopeful you'll be submitting any of your work, the current defconfig for building for the BeagleBoard or BeagleBoard-xM is omap2plus_defconfig [4]. This is a multi-target config file that enables support for a large number of target platforms. If you have any questions about that, I suggest you search the history of the linux-omap mailing list.

[1] http://arago-project.org/git/?p=arago-oe-dev.git;a=history;f=recipes/linux/linux-omap_2.6.39.bb;h=HEAD;hb=HEAD
[2] http://cgit.openembedded.org/cgit.cgi/openembedded/log/recipes/linux/linux-omap_2.6.39.bb
[3] http://arago-project.org/git/?p=arago.git;a=history;f=recipes/linux/linux-omap-2.6.39/defconfig;h=HEAD;hb=HEAD
[4] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=history;f=arch/arm/configs/omap2plus_defconfig;h=d5f00d7eb075002f315aab9527c94cc80b4175f0;hb=HEAD

Question:

I just started working on a beagleboard-xM to do some XYZ device driver
development.
I'm trying to build the 2.6.39 kernel from the Sitara SDK 5.02.
The build fails due to the omap3_beagle_defconfig file not existing.
Do you think you could help me find a kernel config file for the
beagleboard-xM?

Jason,

Thanks for the great FAQ entry!

Answer:

When using a distribution build tool, the kernel configuration information
is typically preserved as part of the distribution build data. The TI
Sitara Linux SDKs (not Android) are all built using Open Embedded (OE) and
it is typical for OE to provide a defconfig as part of the build metadata.
In the case of the TI SDKs, the OE metadata is part of the Arago Project.
The Arago Project mirrors the mainline OE metadata that is used to build the
kernel for community distributions, most notably Angstrom. The recipe
utilized can be found in the Arago Project mirror [1] or in the mainline OE
Classic metadata [2]. You may notice that some of the changes have not made
it into the mirror yet, but you'd need to check with the Arago list to get
some explanation for that. Perhaps I'm looking at the wrong branch or tag.

The answer to this discrepancy is very simple - Arago Project's snapshot of
OpenEmbedded repository follows 2011.03-maintenance branch. So, the correct
corresponding URL for recipe history in OE repository would be [2a]. As you
can see, one of the recent update to the recipe never made it into the
maintenance branch, which we can fix once Tom is back from vacation...

The Arago Project further utilizes an overlay to override some of the
settings in the OE metadata. In this case, the defconfig is replaced [3].
For the TI SDK builds, that is the defconfig for which you are looking.

For mainline kernel development, for which I'm hopeful you'll be submitting
any of your work, the current defconfig for building for the BeagleBoard or
BeagleBoard-xM is omap2plus_defconfig [4]. This is a multi-target config
file that enables support for a large number of target platforms. If you
have any questions about that, I suggest you search the history of the
linux-omap mailing list.

[1] http://arago-project.org/git/?p=arago-oe-dev.git;a=history;f=recipes/linux/linux-omap_2.6.39.bb;h=HEAD;hb=HEAD
[2] http://cgit.openembedded.org/cgit.cgi/openembedded/log/recipes/linux/linux-omap_2.6.39.bb

[2a] http://cgit.openembedded.org/cgit.cgi/openembedded/log/recipes/linux/linux-omap_2.6.39.bb?h=2011.03-maintenance