> The core-image-kernel-dev image is how I do all my on target
> testing when I introduce a new reference kernel for a release.

Maybe you are correct. Maybe I should use/add in my local.conf the following:

KERNEL_DEV_TOOLS ?= "packagegroup-core-tools-profile
packagegroup-core-buildessential kernel-devsrc"
KERNEL_DEV_MODULE ?= "kernel-modules"
CORE_IMAGE_EXTRA_INSTALL += "${KERNEL_DEV_MODULE} \
                             ${KERNEL_DEV_TOOLS} \
                             systemtap \
                            "
I need to try these... Maybe this addendum will solve the $1 mio USD problem?!

> And IIRC the autobuilders are using a sato based image (Richard
> could confirm more easily that I could what image type the
> autobuilders are using for hello-world on target module tests).

I am just advertising something more simple. To have mandatory
/lib/modules/`uname -r` directory. And introduce few more packages, as
Fedora distro, for example, has: kernel-headers (assuming YOCTO
rootfs, the following will be installed: /usr/src/kernel/`uname
-r`/<header file directory structures>. This also makes addition of
/lib/modules/`uname -r`/build file (which is soft link to
usr/src/kernel/`uname -r`).

Or kernel-devel package. Then, the whole current kernel source code
will be introduced, and also support for it.

SDK building with such a support is good/cool. But sometimes, before
introducing SDK, some tests should be done on target. NO need to
optionally include built-in layer hello-world driver example. Since I
(or you name the person) have own test drivers, which will be imported
out of tree, externally, to the target test bed!

Just thinking loud...

Zoran
_______

On Wed, May 15, 2019 at 4:25 PM Bruce Ashfield <bruce.ashfi...@gmail.com> wrote:
>
>
>
> On Wed, May 15, 2019 at 3:44 AM Zoran Stojsavljevic 
> <zoran.stojsavlje...@gmail.com> wrote:
>>
>> > That's correct. That command only adds the kernel source and
>> > build infrastructure to the SDK, not to your target image. You'd still
>> > need to arrange to have the kernel-devsrc package installed on the
>> > target image if you want it on the board's rootfs. How you arrange
>> > to have the package installed to the image varies with the image
>> > (since they all don't have the same image install variables, etc).
>>
>> And here is a $1,000,000 USD question? How to do it on Poky (as
>> example of what you have stated in RED)? ;-)
>>
>> In other words: how to arrange it on Poky (as a Referent example)?
>
>
> The core-image-kernel-dev image is how I do all my on target testing when I 
> introduce a new reference kernel for a release. And IIRC the autobuilders are 
> using a sato based image (Richard could confirm more easily that I could what 
> image type the autobuilders are using for hello-world on target module tests).
>
> Bruce
>
>
>>
>>
>> Thank you,
>> Zoran
>> _______
>>
>>
>> On Wed, May 15, 2019 at 7:41 AM Bruce Ashfield <bruce.ashfi...@gmail.com> 
>> wrote:
>>>
>>>
>>>
>>> On Tue, May 14, 2019 at 1:30 PM Zoran Stojsavljevic 
>>> <zoran.stojsavlje...@gmail.com> wrote:
>>>>
>>>> Hello Chris, Bruce,
>>>>
>>>> I have some additional data to share with you both, since I have tried
>>>> something. And here is my take on the things!
>>>>
>>>> > 1. Build using a bb recipe.
>>>> > Take a look at meta-skeleton/recipes-kernel/hello-mod for an example.
>>>> > You just need to add meta-skeleton to your bblayers.conf and then
>>>> >  bitbake hello-mod
>>>>
>>>> I looked into this example, and, yes, it is classic kernel module
>>>> definition out of the tree. With some outdated data, all cool, the
>>>> YOCTO designer should take care himself to fix these data, if using
>>>> this stuff.
>>>>
>>>> But this is NOT mandatory, since I can add out of the tree module NOT
>>>> actually using built-in module. I just use .../tmp/deploy/images/bbb/*
>>>> generated stuff, since I have automated scripts which are bringing all
>>>> these on my BBB target. Then I tftp my source code module to the
>>>> target.
>>>>
>>>> > 2. Build from the SDK:
>>>> > First, add the kernel source to the SDK by adding this to conf/local.conf
>>>> >  TOOLCHAIN_TARGET_TASK_append = " kernel-devsrc"
>>>>
>>>> YES, this is THE command which should generate
>>>> /usr/src/kernel(s)/`uname -r` or similar... But adding it to
>>>> local.conf and after deleting kernel, then regenerating bitbake -k
>>>> core-image-minimal does not bring this path into the rootfs image!?
>>>
>>>
>>> That's correct. That command only adds the kernel source and build 
>>> infrastructure to the SDK, not to your target image. You'd still need to 
>>> arrange to have the kernel-devsrc package installed on the target image if 
>>> you want it on the board's rootfs. How you arrange to have the package 
>>> installed to the image varies with the image (since they all don't have the 
>>> same image install variables, etc).
>>>
>>>
>>>>
>>>>
>>>> I did it actually using meta-bbb, and using poky referent distro as
>>>> two additional layers to the more complex bbb image!
>>>> https://github.com/jumpnow/meta-bbb.git
>>>>
>>>> The (KAS - you can figure out out of it local.conf) script I am using
>>>> to build such a BBB image is here:
>>>> https://github.com/ZoranStojsavljevic/bbb-yocto/blob/master/bbb-releases/bbb-warrior/kas-bbb-warrior.yml
>>>>
>>>> I did not try it with BBB reference poky only! Maybe I should try it
>>>> as only referent poky? What do you think?
>>>>
>>>> Does in this case is SDK build really mandatory??? Should NOT be!
>>>>
>>>
>>> You only do the SDK steps if you want to support building out of tree 
>>> modules in an SDK install. So it is not mandatory for on target module 
>>> builds.
>>>
>>> Bruce
>>>
>>>
>>>>
>>>> > Once the SDK is installed, generate the kernel headers:
>>>> >  sudo -i
>>>> >  . /opt/poky/2.6.2/environment-setup-cortexa8hf-neon-poky-linux-gnueabi
>>>> >  cd /opt/poky/2.6.2/sysroots/cortexa8hf-neon-poky-linux-gnueabi
>>>> >  cd /usr/src/kernel
>>>> >  make oldconfig scripts
>>>> >  exit
>>>>
>>>> This is in nutshell the same what I did (a bit different) for Embedded
>>>> Debian. This is already on the target BBB, NOT while building YOCTO
>>>> BBB image!
>>>>
>>>> > Finally, build your module using a Makefile like this
>>>> >  obj-m := hello-mod.o
>>>> >  all:
>>>> >        make -C $(SDKTARGETSYSROOT)/usr/src/kernel M=$(shell pwd)
>>>>
>>>> As said before: bringing my own module into the target BBB (I have my
>>>> own examples, and I build them on the target with the almost the same
>>>> Makefiles)
>>>>
>>>> Zoran
>>>> _______
>>>>
>>>> On Sun, May 12, 2019 at 3:15 PM Chris Simmonds <ch...@2net.co.uk> wrote:
>>>> >
>>>> > Hi Zoran,
>>>> >
>>>> > There are two ways to do this
>>>> >
>>>> > 1. Build using a bb recipe.
>>>> > Take a look at meta-skeleton/recipes-kernel/hello-mod for an example.
>>>> > You just need to add meta-skeleton to your bblaysers.conf and then
>>>> >   bitbake hello-mod
>>>> >
>>>> >
>>>> > 2. Build from the SDK:
>>>> > First, add the kernel source to the SDK by adding this to conf/local/conf
>>>> >   TOOLCHAIN_TARGET_TASK_append = " kernel-devsrc"
>>>> >
>>>> > Then build the SDK
>>>> >   bitbake -c populate_sdk [your image recipe]
>>>> >
>>>> > Once the SDK is installed, generate the kernel headers:
>>>> >   sudo -i
>>>> >   . /opt/poky/2.6.2/environment-setup-cortexa8hf-neon-poky-linux-gnueabi
>>>> >   cd /opt/poky/2.6.2/sysroots/cortexa8hf-neon-poky-linux-gnueabi
>>>> >   cd /usr/src/kernel
>>>> >   make oldconfig scripts
>>>> >   exit
>>>> >
>>>> > Finally, build your module using a Makefile like this
>>>> >
>>>> >   obj-m := hello-mod.o
>>>> >   all:
>>>> >         make -C $(SDKTARGETSYSROOT)/usr/src/kernel M=$(shell pwd)
>>>> >
>>>> >
>>>> > HTH,
>>>> > Chris
>>>> >
>>>> > On 12/05/2019 11:53, Zoran Stojsavljevic wrote:
>>>> > > Hello to the YOCTO community,
>>>> > >
>>>> > > I am using (to build the target for Beagle Bone Black) the following 
>>>> > > script:
>>>> > > https://github.com/ZoranStojsavljevic/bbb-yocto
>>>> > > https://github.com/ZoranStojsavljevic/bbb-yocto/blob/master/bbb-yocto.sh
>>>> > >
>>>> > > The latest kernel I am using from the following repo:
>>>> > > https://github.com/jumpnow/meta-bbb
>>>> > >
>>>> > > Is kernel 5.0.14 .
>>>> > >
>>>> > > Here is the snippet of the boot traces:
>>>> > > Starting kernel ...
>>>> > >
>>>> > > [    0.000000] Booting Linux on physical CPU 0x0
>>>> > > [    0.000000] Linux version 5.0.14-jumpnow (oe-user@oe-host) (gcc
>>>> > > version 8.3.0 (GCC)) #1 Fri May 10 13:12:33 UTC 2019
>>>> > > [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), 
>>>> > > cr=10c5387d
>>>> > > [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing
>>>> > > instruction cache
>>>> > > [    0.000000] OF: fdt: Machine model: TI AM335x BeagleBone Black
>>>> > > [    0.000000] Memory policy: Data cache writeback
>>>> > > [    0.000000] cma: Reserved 16 MiB at 0x9f000000
>>>> > > [    0.000000] CPU: All CPU(s) started in SVC mode.
>>>> > > [    0.000000] AM335X ES2.1 (sgx neon)
>>>> > > [    0.000000] random: get_random_bytes called from
>>>> > > start_kernel+0xa4/0x460 with crng_init=0
>>>> > > [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 
>>>> > > 130048
>>>> > > [    0.000000] Kernel command line: console=ttyO0,115200n8
>>>> > > root=/dev/ram0 ip=dhcp
>>>> > >
>>>> > > According to the documentation, the following:
>>>> > > 2.10.1. Building Out-of-Tree Modules on the Target
>>>> > > https://www.yoctoproject.org/docs/latest/kernel-dev/kernel-dev.html
>>>> > >
>>>> > > I tried to find /usr/src/kernels/5.0.14... Directory, since I see
>>>> > > from the build that kernel-dev and kernel-devsrc are included:
>>>> > > [user@fedora29-ssd bbb-yocto]$ bitbake -s | grep kernel
>>>> > > core-image-kernel-dev                                 :1.0-r0
>>>> > > kernel-devsrc                                         :1.0-r0
>>>> > > kernel-selftest                                       :1.0-r0
>>>> > >
>>>> > > THE PROBLEM: But I could not find ob BBB target /usr/src/kernels
>>>> > > directory at all!?
>>>> > >
>>>> > > Two questions here?
>>>> > > [1] Do you have any advice on this problem (what I am missing here)?
>>>> > > [2] Alternative to [1]: how I can use cross compiler from
>>>> > > .../build/tmp to build Out-of-Tree Module for the BBB target on the
>>>> > > host?
>>>> > >
>>>> > > Thank you,
>>>> > > Zoran
>>>> > > _______
>>>> > >
>>>> >
>>>> >
>>>> > --
>>>> > Chris Simmonds, trainer and consultant at 2net
>>>> > http://www.2net.co.uk
>>>> > Author of "Mastering Embedded Linux Programming"
>>>
>>>
>>>
>>> --
>>> - Thou shalt not follow the NULL pointer, for chaos and madness await thee 
>>> at its end
>>> - "Use the force Harry" - Gandalf, Star Trek II
>>>
>
>
> --
> - Thou shalt not follow the NULL pointer, for chaos and madness await thee at 
> its end
> - "Use the force Harry" - Gandalf, Star Trek II
>
-- 
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to