Hi!
I want to use the Angstrom build environment for building own kernels
and userspace tools. After some time (some evenings), I somehow
understand how the particular recipes work for applying the patches to
the kernel. I am particularly interested in using the SPI and the
second I2C on P9.
When I keep all modified files by commenting out "rm_work" in the
local.conf, I can see how each patch alters for example "board-
am335xevm.c", which is of interest for me because of the pin-muxing.
There are dozen versions at "build/tmp-angstrom_2010_x-eglibc/work/
beaglebone-angstrom-linux-gnueabi/linux-ti33x-psp-3.1-r2h-
xxxxxxxxxxxxxxxxxx/git/.pc/PATCHNAME.patch/arch/arm/mach_omap2/board-
am335xevm.c". By looking at the recipe at "sources/meta-ti/recipes-
kernel/linux/linux-ti33x-psp-3.1.bb" I can determine which patch is
applied last and therefore could take this file, modify it, create a
patch from that and then try to create my own recipe - is that the way
it is supposed to be? Or is there some more obvious path where I can
get the "latest" version of a particular file to create a patch from?
Next, I want to have some extra programs in the rootfs-image OR want
at least to create some opkg to install them afterwards. Is there some
example how to do this? Where to put the recipe in all this meta-
folders, how to trigger the compilation, where to find the package?
Thank you!
Best regards,
Robert
Hi!
I want to use the Angstrom build environment for building own kernels
and userspace tools. After some time (some evenings), I somehow
understand how the particular recipes work for applying the patches to
the kernel. I am particularly interested in using the SPI and the
second I2C on P9.
When I keep all modified files by commenting out "rm_work" in the
local.conf, I can see how each patch alters for example "board-
am335xevm.c", which is of interest for me because of the pin-muxing.
There are dozen versions at "build/tmp-angstrom_2010_x-eglibc/work/
beaglebone-angstrom-linux-gnueabi/linux-ti33x-psp-3.1-r2h-
xxxxxxxxxxxxxxxxxx/git/.pc/PATCHNAME.patch/arch/arm/mach_omap2/board-
am335xevm.c". By looking at the recipe at "sources/meta-ti/recipes-
kernel/linux/linux-ti33x-psp-3.1.bb" I can determine which patch is
applied last and therefore could take this file, modify it, create a
patch from that and then try to create my own recipe - is that the way
it is supposed to be? Or is there some more obvious path where I can
get the "latest" version of a particular file to create a patch from?
Have a look at http://www.angstrom-distribution.org/some-usefull-workflow-blogs
When working with the kernel, there's an easier way:
1) apply http://dominion.thruhere.net/koen/angstrom/0001-patch.bbclass-add-incredibly-naive-git-am-mode.patch to your openembedded-core tree (wget ; git am *.patch)
2) In local.conf:
ASSUME_PROVIDED += "gitam-native"
PATCHTOOL_pn-linux-ti33x-psp = "gitam"
3) recreate the kernel tree: bitbake -c cleansstate virtual/kernel ; bitbake -c patch virtual/kernel
That will apply all patches as git commits so you can do 'git diff' and 'git commit' as usual.
Next, I want to have some extra programs in the rootfs-image OR want
at least to create some opkg to install them afterwards. Is there some
example how to do this? Where to put the recipe in all this meta-
folders, how to trigger the compilation, where to find the package?
find sources/ -name "*image.bb"
regards,
Koen
Hi Robert,
I posted instructions on how to add your own packages to Angstrom without disturbing the rest of the distribution on this group back a few days ago: you can check it out here: https://groups.google.com/d/msg/beagleboard/yO70oZmkleE/EMEmJvuqAnQJ
Let me know if those instructions can be improved in any way!
Hope this helps,
Ed