Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] Cross compiling kernel module for the target
@ 2018-12-20  7:39 Łukasz Przeniosło
  2018-12-20  8:04 ` Thomas Petazzoni
  0 siblings, 1 reply; 10+ messages in thread
From: Łukasz Przeniosło @ 2018-12-20  7:39 UTC (permalink / raw)
  To: buildroot

 Hello there,
I am using Buildroot to compile the kernel for my ARM target, which is a
Beaglebone black. This part works. Now I would like to use the
crosscompiler available from the output of the buildroot in order to
compile a "Hello World" Kernel module. I have already checked a regular c
file Hello World and it crosscompiles on host and runs on the target
correctly. I am having problems with setting up the whole environment for
the kernel module development. There are many tutorials available for
kernel modules development, but they assume developing on the target/ host.
I am able to compile a native host x86 kernel module, that works.

I am still missing some dependencies when trying to crosscompile for the
Beagle, I am not sure either I need to build some further packages, but
when doing xconfig I think I checked everything related to the kernel
modules. At the moment I have the following Makefile:

obj-m	:= simp.o
KERNELDIR ?= /home/lukasz/brl/Machine/beaglebone/build/linux-headers-a75d8e93056181d512f6c818e8627bd4554aaf92
PWD       := $(shell pwd)

all: default

default:
	$(MAKE) -C $(KERNELDIR) M=$(PWD) modules

clean:
	rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions

And the example module code (simp.c):

#include <linux/init.h>
#include <linux/module.h>

MODULE_LICENSE("Dual BSD/GPL");

static int hello_init(void)
{
	printk(KERN_ALERT "Hello, world\n");
	return 0;
}

static void hello_exit(void)
{
	printk(KERN_ALERT "Goodbye, cruel world\n");
}

module_init(hello_init);
module_exit(hello_exit);

When trying to make:

make ARCH=arm CROSS_COMPILE=arm-buildroot-linux-uclibcgnueabihf-
-I/home/lukasz/brl/Machine/beaglebone/build/linux-a75d8e93056181d512f6c818e8627bd4554aaf92/include
-I/home/lukasz/brl/Machine/beaglebone/build/linux-a75d8e93056181d512f6c818e8627bd4554aaf92
-I/home/lukasz/brl/Machine/beaglebone/build/linux-a75d8e93056181d512f6c818e8627bd4554aaf92/include/generated/autoconf.h

I get the following error:

make -C /home/lukasz/brl/Machine/beaglebone/build/linux-headers-a75d8e93056181d512f6c818e8627bd4554aaf92
M=/tmp/test modules
make[1]: Entering directory
'/home/lukasz/brl/Machine/beaglebone/build/linux-headers-a75d8e93056181d512f6c818e8627bd4554aaf92'

  WARNING: Symbol version dump ./Module.symvers
           is missing; modules will have no dependencies and modversions.

  CC [M]  /tmp/test/simp.o
In file included from <command-line>:0:0:
././include/linux/kconfig.h:4:32: fatal error: generated/autoconf.h:
No such file or directory
 #include <generated/autoconf.h>
                                ^
compilation terminated.
scripts/Makefile.build:299: recipe for target '/tmp/test/simp.o' failed
make[2]: *** [/tmp/test/simp.o] Error 1
Makefile:1493: recipe for target '_module_/tmp/test' failed
make[1]: *** [_module_/tmp/test] Error 2
make[1]: Leaving directory
'/home/lukasz/brl/Machine/beaglebone/build/linux-headers-a75d8e93056181d512f6c818e8627bd4554aaf92'
Makefile:8: recipe for target 'default' failed
make: *** [default] Error 2

Which I dont understand, since included the .h file specifically. I would
appreciate all help regarding this. I was trying to find anyone else doing
something similar (trying to cross compile a kernel module on the host
using buildroot build tools), but was unable to. Most of the cases are
already to advanced or dont apply to my problem.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20181220/338d77b1/attachment.html>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] Cross compiling kernel module for the target
  2018-12-20  7:39 [Buildroot] Cross compiling kernel module for the target Łukasz Przeniosło
@ 2018-12-20  8:04 ` Thomas Petazzoni
       [not found]   ` <CA+OsCCQ2TWYiEv-a8uRaJVSd4YX9A4T_EV1ihC1Y2ZyrNPAkag@mail.gmail.com>
  0 siblings, 1 reply; 10+ messages in thread
From: Thomas Petazzoni @ 2018-12-20  8:04 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu, 20 Dec 2018 08:39:26 +0100, ?ukasz Przenios?o wrote:

> obj-m	:= simp.o
> KERNELDIR ?= /home/lukasz/brl/Machine/beaglebone/build/linux-headers-a75d8e93056181d512f6c818e8627bd4554aaf92

This should point to output/build/linux-<version>/ and not
output/build/linux-headers-<version>/.

>   CC [M]  /tmp/test/simp.o
> In file included from <command-line>:0:0:
> ././include/linux/kconfig.h:4:32: fatal error: generated/autoconf.h:
> No such file or directory
>  #include <generated/autoconf.h>

As explained above, this is because you're using the linux-headers
source, which is not "configured" (i.e no kernel configuration has been
applied to it), and building a kernel module requires a configured
source tree.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] Cross compiling kernel module for the target
       [not found]   ` <CA+OsCCQ2TWYiEv-a8uRaJVSd4YX9A4T_EV1ihC1Y2ZyrNPAkag@mail.gmail.com>
@ 2018-12-20  9:07     ` Thomas Petazzoni
  2018-12-20  9:14       ` Łukasz Przeniosło
  0 siblings, 1 reply; 10+ messages in thread
From: Thomas Petazzoni @ 2018-12-20  9:07 UTC (permalink / raw)
  To: buildroot

Hello,

Please keep the mailing list in Cc when replying. Thanks!

On Thu, 20 Dec 2018 09:55:41 +0100, ?ukasz Przenios?o wrote:
> Hello Thomas, thank you for answer.
> Yes, I know it should point to the build dir, but the problem is, I dont
> have that directory and I dont know how to "place" is there. On my host I
> have seen that this build dir is a soft link to the linux headers folder,
> thus, thought this is the way around it. Could you please give me a hint on
> what I am missing in the buildroot config maybe?

Are you building a Linux kernel image as part of your Buildroot
configuration ?

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] Cross compiling kernel module for the target
  2018-12-20  9:07     ` Thomas Petazzoni
@ 2018-12-20  9:14       ` Łukasz Przeniosło
  2018-12-20  9:20         ` Thomas Petazzoni
  0 siblings, 1 reply; 10+ messages in thread
From: Łukasz Przeniosło @ 2018-12-20  9:14 UTC (permalink / raw)
  To: buildroot

Thomas, sorry for the Cc, its there now.
No, my module is supposed to be a completely separate thing for now. I
intend to build it using cross compilation tools provided by build root
after the image is loaded to the target. I want to load the module using
insmod. Then after the module is stable, I could add it to the buildroot
config.

czw., 20 gru 2018 o 10:07 Thomas Petazzoni <thomas.petazzoni@bootlin.com>
napisa?(a):

> Hello,
>
> Please keep the mailing list in Cc when replying. Thanks!
>
> On Thu, 20 Dec 2018 09:55:41 +0100, ?ukasz Przenios?o wrote:
> > Hello Thomas, thank you for answer.
> > Yes, I know it should point to the build dir, but the problem is, I dont
> > have that directory and I dont know how to "place" is there. On my host I
> > have seen that this build dir is a soft link to the linux headers folder,
> > thus, thought this is the way around it. Could you please give me a hint
> on
> > what I am missing in the buildroot config maybe?
>
> Are you building a Linux kernel image as part of your Buildroot
> configuration ?
>
> Best regards,
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20181220/bb43b13f/attachment.html>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] Cross compiling kernel module for the target
  2018-12-20  9:14       ` Łukasz Przeniosło
@ 2018-12-20  9:20         ` Thomas Petazzoni
  2018-12-20  9:34           ` Łukasz Przeniosło
  0 siblings, 1 reply; 10+ messages in thread
From: Thomas Petazzoni @ 2018-12-20  9:20 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu, 20 Dec 2018 10:14:41 +0100, ?ukasz Przenios?o wrote:
> Thomas, sorry for the Cc, its there now.
> No, my module is supposed to be a completely separate thing for now. I
> intend to build it using cross compilation tools provided by build root
> after the image is loaded to the target. I want to load the module using
> insmod. Then after the module is stable, I could add it to the buildroot
> config.

You cannot build a kernel module out of nowhere, it has to be compiled
against a kernel source tree with configuration, or a kernel headers
tree with configuration. In the context of Buildroot, only the former
exists, so if you don't build your Linux kernel with Buildroot, you
cannot build a kernel module with Buildroot.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] Cross compiling kernel module for the target
  2018-12-20  9:20         ` Thomas Petazzoni
@ 2018-12-20  9:34           ` Łukasz Przeniosło
  2018-12-20 13:04             ` Thomas Petazzoni
  0 siblings, 1 reply; 10+ messages in thread
From: Łukasz Przeniosło @ 2018-12-20  9:34 UTC (permalink / raw)
  To: buildroot

Thomas, I do build my kernel using buildroot- it gives me the cross
compiling tools. My problem is, that I think that the buildroot doesnt
provide the sources for me in the output.

czw., 20 gru 2018 o 10:21 Thomas Petazzoni <thomas.petazzoni@bootlin.com>
napisa?(a):

> Hello,
>
> On Thu, 20 Dec 2018 10:14:41 +0100, ?ukasz Przenios?o wrote:
> > Thomas, sorry for the Cc, its there now.
> > No, my module is supposed to be a completely separate thing for now. I
> > intend to build it using cross compilation tools provided by build root
> > after the image is loaded to the target. I want to load the module using
> > insmod. Then after the module is stable, I could add it to the buildroot
> > config.
>
> You cannot build a kernel module out of nowhere, it has to be compiled
> against a kernel source tree with configuration, or a kernel headers
> tree with configuration. In the context of Buildroot, only the former
> exists, so if you don't build your Linux kernel with Buildroot, you
> cannot build a kernel module with Buildroot.
>
> Best regards,
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20181220/e788ab16/attachment-0001.html>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] Cross compiling kernel module for the target
  2018-12-20  9:34           ` Łukasz Przeniosło
@ 2018-12-20 13:04             ` Thomas Petazzoni
  2018-12-20 20:49               ` Łukasz Przeniosło
  0 siblings, 1 reply; 10+ messages in thread
From: Thomas Petazzoni @ 2018-12-20 13:04 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu, 20 Dec 2018 10:34:42 +0100, ?ukasz Przenios?o wrote:

> Thomas, I do build my kernel using buildroot- it gives me the cross
> compiling tools. My problem is, that I think that the buildroot doesnt
> provide the sources for me in the output.

I'm sorry, but I don't really understand what you're saying.

If you are building the Linux kernel with Buildroot, so you definitely
have a directory called output/build/linux-<version>/ which contains
the kernel source code, the kernel configuration (.config file) and
all the object files/images that result from a kernel build.

If you don't have this folder, then you are definitely not building the
Linux kernel with Buildroot.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] Cross compiling kernel module for the target
  2018-12-20 13:04             ` Thomas Petazzoni
@ 2018-12-20 20:49               ` Łukasz Przeniosło
  2018-12-20 21:04                 ` Łukasz Przeniosło
  0 siblings, 1 reply; 10+ messages in thread
From: Łukasz Przeniosło @ 2018-12-20 20:49 UTC (permalink / raw)
  To: buildroot

Thomas, I am building the Kernel with buildroot. Did you mean this
directory?

lukasz at lukasz-vb:~/brl/Machine/beaglebone/build/linux-a75d8e93056181d512f6c818e8627bd4554aaf92$
ls -l
total 114892
drwxr-xr-x  33 lukasz lukasz     4096 pa?  5 11:52 arch
drwxr-xr-x   3 lukasz lukasz     4096 pa?  5 11:56 block
drwxr-xr-x   2 lukasz lukasz     4096 pa?  5 11:56 certs
-rw-r--r--   1 lukasz lukasz    18693 gru 22  2017 COPYING
-rw-r--r--   1 lukasz lukasz    98277 gru 22  2017 CREDITS
drwxr-xr-x   4 lukasz lukasz    20480 pa?  5 11:57 crypto
drwxr-xr-x 119 lukasz lukasz    12288 pa?  5 11:52 Documentation
drwxr-xr-x 130 lukasz lukasz     4096 pa?  5 11:57 drivers
drwxr-xr-x  36 lukasz lukasz     4096 pa?  5 11:56 firmware
drwxr-xr-x  75 lukasz lukasz    12288 pa?  5 11:56 fs
drwxr-xr-x  30 lukasz lukasz     4096 pa?  5 11:52 include
drwxr-xr-x   2 lukasz lukasz     4096 pa?  5 11:56 init
drwxr-xr-x   2 lukasz lukasz     4096 pa?  5 11:56 ipc
-rw-r--r--   1 lukasz lukasz     2888 gru 22  2017 Kbuild
-rw-r--r--   1 lukasz lukasz      252 gru 22  2017 Kconfig
drwxr-xr-x  16 lukasz lukasz    16384 pa?  5 11:56 kernel
drwxr-xr-x  12 lukasz lukasz    28672 pa?  5 11:56 lib
-rw-r--r--   1 lukasz lukasz   384216 gru 22  2017 MAINTAINERS
-rw-r--r--   1 lukasz lukasz    59246 gru 22  2017 Makefile
drwxr-xr-x   3 lukasz lukasz    12288 pa?  5 11:56 mm
-rw-r--r--   1 lukasz lukasz     7056 pa?  5 11:56 modules.builtin
-rw-r--r--   1 lukasz lukasz    17409 pa?  5 11:57 modules.order
-rw-r--r--   1 lukasz lukasz   549487 pa?  5 11:57 Module.symvers
drwxr-xr-x  65 lukasz lukasz     4096 pa?  5 11:56 net
-rw-r--r--   1 lukasz lukasz    18372 gru 22  2017 README
-rw-r--r--   1 lukasz lukasz     7490 gru 22  2017 REPORTING-BUGS
drwxr-xr-x  25 lukasz lukasz     4096 pa?  5 11:52 samples
drwxr-xr-x  14 lukasz lukasz     4096 pa?  5 11:56 scripts
drwxr-xr-x  10 lukasz lukasz     4096 pa?  5 11:56 security
drwxr-xr-x  23 lukasz lukasz     4096 pa?  5 11:57 sound
-rw-r--r--   1 lukasz lukasz  2571239 pa?  5 11:56 System.map
drwxr-xr-x   2 lukasz lukasz     4096 pa?  5 11:52 ti_config_fragments
drwxr-xr-x  30 lukasz lukasz     4096 pa?  5 11:52 tools
drwxr-xr-x   2 lukasz lukasz     4096 pa?  5 11:56 usr
drwxr-xr-x   4 lukasz lukasz     4096 pa?  5 11:56 virt
-rwxr-xr-x   1 lukasz lukasz 51072304 pa?  5 11:56 vmlinux
-rw-r--r--   1 lukasz lukasz 62819472 pa?  5 11:55 vmlinux.o

I tried providing it as KERNELDIR, but yielded errors as well.

czw., 20 gru 2018 o 14:04 Thomas Petazzoni <thomas.petazzoni@bootlin.com>
napisa?(a):

> Hello,
>
> On Thu, 20 Dec 2018 10:34:42 +0100, ?ukasz Przenios?o wrote:
>
> > Thomas, I do build my kernel using buildroot- it gives me the cross
> > compiling tools. My problem is, that I think that the buildroot doesnt
> > provide the sources for me in the output.
>
> I'm sorry, but I don't really understand what you're saying.
>
> If you are building the Linux kernel with Buildroot, so you definitely
> have a directory called output/build/linux-<version>/ which contains
> the kernel source code, the kernel configuration (.config file) and
> all the object files/images that result from a kernel build.
>
> If you don't have this folder, then you are definitely not building the
> Linux kernel with Buildroot.
>
> Best regards,
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20181220/df908c41/attachment.html>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] Cross compiling kernel module for the target
  2018-12-20 20:49               ` Łukasz Przeniosło
@ 2018-12-20 21:04                 ` Łukasz Przeniosło
  2018-12-21  7:14                   ` Łukasz Przeniosło
  0 siblings, 1 reply; 10+ messages in thread
From: Łukasz Przeniosło @ 2018-12-20 21:04 UTC (permalink / raw)
  To: buildroot

Thomas, hold on... It has just built... Replaced the KERNELDIR that was set
to the headers dir with the sources dir listed above. Now the makefile
looks like this:

obj-m    := simp.o
KERNELDIR ?=
/home/lukasz/brl/Machine/beaglebone/build/linux-a75d8e93056181d512f6c818e8627bd4554aaf92
PWD       := $(shell pwd)

all: default

default:
    $(MAKE) -C $(KERNELDIR) M=$(PWD) modules

clean:
    rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions

And the make output:

lukasz at lukasz-vb:/tmp/test$ make ARCH=arm
CROSS_COMPILE=arm-buildroot-linux-uclibcgnueabihf-
make -C
/home/lukasz/brl/Machine/beaglebone/build/linux-a75d8e93056181d512f6c818e8627bd4554aaf92
M=/tmp/test modules
make[1]: Entering directory
'/home/lukasz/brl/Machine/beaglebone/build/linux-a75d8e93056181d512f6c818e8627bd4554aaf92'
  CC [M]  /tmp/test/simp.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/test/simp.mod.o
  LD [M]  /tmp/test/simp.ko
make[1]: Leaving directory
'/home/lukasz/brl/Machine/beaglebone/build/linux-a75d8e93056181d512f6c818e8627bd4554aaf92'
lukasz at lukasz-vb:/tmp/test$
lukasz at lukasz-vb:/tmp/test$
lukasz at lukasz-vb:/tmp/test$ ls -l
total 64
-rw-rw-r-- 1 lukasz lukasz   284 gru 20 21:59 Makefile
-rw-rw-r-- 1 lukasz lukasz    25 gru 20 22:02 modules.order
-rw-rw-r-- 1 lukasz lukasz     0 gru 20 22:02 Module.symvers
-rw-rw-r-- 1 lukasz lukasz   297 gru 20 21:54 simp.c
-rw-rw-r-- 1 lukasz lukasz 12220 gru 20 22:02 simp.ko
-rw-rw-r-- 1 lukasz lukasz   839 gru 20 22:02 simp.mod.c
-rw-rw-r-- 1 lukasz lukasz 18340 gru 20 22:02 simp.mod.dwo
-rw-rw-r-- 1 lukasz lukasz  7608 gru 20 22:02 simp.mod.o
-rw-rw-r-- 1 lukasz lukasz  6120 gru 20 22:02 simp.o

But I dont have the target with me, so cannot test the module. But it
compiles! Thank you very much for help Thomas. I could swear I tried this
setup before, cant tell now what I have missed.



czw., 20 gru 2018 o 21:49 ?ukasz Przenios?o <bremenpl@gmail.com> napisa?(a):

> Thomas, I am building the Kernel with buildroot. Did you mean this
> directory?
>
> lukasz at lukasz-vb:~/brl/Machine/beaglebone/build/linux-a75d8e93056181d512f6c818e8627bd4554aaf92$
> ls -l
> total 114892
> drwxr-xr-x  33 lukasz lukasz     4096 pa?  5 11:52 arch
> drwxr-xr-x   3 lukasz lukasz     4096 pa?  5 11:56 block
> drwxr-xr-x   2 lukasz lukasz     4096 pa?  5 11:56 certs
> -rw-r--r--   1 lukasz lukasz    18693 gru 22  2017 COPYING
> -rw-r--r--   1 lukasz lukasz    98277 gru 22  2017 CREDITS
> drwxr-xr-x   4 lukasz lukasz    20480 pa?  5 11:57 crypto
> drwxr-xr-x 119 lukasz lukasz    12288 pa?  5 11:52 Documentation
> drwxr-xr-x 130 lukasz lukasz     4096 pa?  5 11:57 drivers
> drwxr-xr-x  36 lukasz lukasz     4096 pa?  5 11:56 firmware
> drwxr-xr-x  75 lukasz lukasz    12288 pa?  5 11:56 fs
> drwxr-xr-x  30 lukasz lukasz     4096 pa?  5 11:52 include
> drwxr-xr-x   2 lukasz lukasz     4096 pa?  5 11:56 init
> drwxr-xr-x   2 lukasz lukasz     4096 pa?  5 11:56 ipc
> -rw-r--r--   1 lukasz lukasz     2888 gru 22  2017 Kbuild
> -rw-r--r--   1 lukasz lukasz      252 gru 22  2017 Kconfig
> drwxr-xr-x  16 lukasz lukasz    16384 pa?  5 11:56 kernel
> drwxr-xr-x  12 lukasz lukasz    28672 pa?  5 11:56 lib
> -rw-r--r--   1 lukasz lukasz   384216 gru 22  2017 MAINTAINERS
> -rw-r--r--   1 lukasz lukasz    59246 gru 22  2017 Makefile
> drwxr-xr-x   3 lukasz lukasz    12288 pa?  5 11:56 mm
> -rw-r--r--   1 lukasz lukasz     7056 pa?  5 11:56 modules.builtin
> -rw-r--r--   1 lukasz lukasz    17409 pa?  5 11:57 modules.order
> -rw-r--r--   1 lukasz lukasz   549487 pa?  5 11:57 Module.symvers
> drwxr-xr-x  65 lukasz lukasz     4096 pa?  5 11:56 net
> -rw-r--r--   1 lukasz lukasz    18372 gru 22  2017 README
> -rw-r--r--   1 lukasz lukasz     7490 gru 22  2017 REPORTING-BUGS
> drwxr-xr-x  25 lukasz lukasz     4096 pa?  5 11:52 samples
> drwxr-xr-x  14 lukasz lukasz     4096 pa?  5 11:56 scripts
> drwxr-xr-x  10 lukasz lukasz     4096 pa?  5 11:56 security
> drwxr-xr-x  23 lukasz lukasz     4096 pa?  5 11:57 sound
> -rw-r--r--   1 lukasz lukasz  2571239 pa?  5 11:56 System.map
> drwxr-xr-x   2 lukasz lukasz     4096 pa?  5 11:52 ti_config_fragments
> drwxr-xr-x  30 lukasz lukasz     4096 pa?  5 11:52 tools
> drwxr-xr-x   2 lukasz lukasz     4096 pa?  5 11:56 usr
> drwxr-xr-x   4 lukasz lukasz     4096 pa?  5 11:56 virt
> -rwxr-xr-x   1 lukasz lukasz 51072304 pa?  5 11:56 vmlinux
> -rw-r--r--   1 lukasz lukasz 62819472 pa?  5 11:55 vmlinux.o
>
> I tried providing it as KERNELDIR, but yielded errors as well.
>
> czw., 20 gru 2018 o 14:04 Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> napisa?(a):
>
>> Hello,
>>
>> On Thu, 20 Dec 2018 10:34:42 +0100, ?ukasz Przenios?o wrote:
>>
>> > Thomas, I do build my kernel using buildroot- it gives me the cross
>> > compiling tools. My problem is, that I think that the buildroot doesnt
>> > provide the sources for me in the output.
>>
>> I'm sorry, but I don't really understand what you're saying.
>>
>> If you are building the Linux kernel with Buildroot, so you definitely
>> have a directory called output/build/linux-<version>/ which contains
>> the kernel source code, the kernel configuration (.config file) and
>> all the object files/images that result from a kernel build.
>>
>> If you don't have this folder, then you are definitely not building the
>> Linux kernel with Buildroot.
>>
>> Best regards,
>>
>> Thomas
>> --
>> Thomas Petazzoni, CTO, Bootlin
>> Embedded Linux and Kernel engineering
>> https://bootlin.com
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20181220/8b9140c9/attachment.html>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] Cross compiling kernel module for the target
  2018-12-20 21:04                 ` Łukasz Przeniosło
@ 2018-12-21  7:14                   ` Łukasz Przeniosło
  0 siblings, 0 replies; 10+ messages in thread
From: Łukasz Przeniosło @ 2018-12-21  7:14 UTC (permalink / raw)
  To: buildroot

Hi Thomas, just tested the compiled module on the target- everything works.
Again, thank you for help.

czw., 20 gru 2018 o 22:04 ?ukasz Przenios?o <bremenpl@gmail.com> napisa?(a):

> Thomas, hold on... It has just built... Replaced the KERNELDIR that was
> set to the headers dir with the sources dir listed above. Now the makefile
> looks like this:
>
> obj-m    := simp.o
> KERNELDIR ?=
> /home/lukasz/brl/Machine/beaglebone/build/linux-a75d8e93056181d512f6c818e8627bd4554aaf92
> PWD       := $(shell pwd)
>
> all: default
>
> default:
>     $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
>
> clean:
>     rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions
>
> And the make output:
>
> lukasz at lukasz-vb:/tmp/test$ make ARCH=arm
> CROSS_COMPILE=arm-buildroot-linux-uclibcgnueabihf-
> make -C
> /home/lukasz/brl/Machine/beaglebone/build/linux-a75d8e93056181d512f6c818e8627bd4554aaf92
> M=/tmp/test modules
> make[1]: Entering directory
> '/home/lukasz/brl/Machine/beaglebone/build/linux-a75d8e93056181d512f6c818e8627bd4554aaf92'
>   CC [M]  /tmp/test/simp.o
>   Building modules, stage 2.
>   MODPOST 1 modules
>   CC      /tmp/test/simp.mod.o
>   LD [M]  /tmp/test/simp.ko
> make[1]: Leaving directory
> '/home/lukasz/brl/Machine/beaglebone/build/linux-a75d8e93056181d512f6c818e8627bd4554aaf92'
> lukasz at lukasz-vb:/tmp/test$
> lukasz at lukasz-vb:/tmp/test$
> lukasz at lukasz-vb:/tmp/test$ ls -l
> total 64
> -rw-rw-r-- 1 lukasz lukasz   284 gru 20 21:59 Makefile
> -rw-rw-r-- 1 lukasz lukasz    25 gru 20 22:02 modules.order
> -rw-rw-r-- 1 lukasz lukasz     0 gru 20 22:02 Module.symvers
> -rw-rw-r-- 1 lukasz lukasz   297 gru 20 21:54 simp.c
> -rw-rw-r-- 1 lukasz lukasz 12220 gru 20 22:02 simp.ko
> -rw-rw-r-- 1 lukasz lukasz   839 gru 20 22:02 simp.mod.c
> -rw-rw-r-- 1 lukasz lukasz 18340 gru 20 22:02 simp.mod.dwo
> -rw-rw-r-- 1 lukasz lukasz  7608 gru 20 22:02 simp.mod.o
> -rw-rw-r-- 1 lukasz lukasz  6120 gru 20 22:02 simp.o
>
> But I dont have the target with me, so cannot test the module. But it
> compiles! Thank you very much for help Thomas. I could swear I tried this
> setup before, cant tell now what I have missed.
>
>
>
> czw., 20 gru 2018 o 21:49 ?ukasz Przenios?o <bremenpl@gmail.com>
> napisa?(a):
>
>> Thomas, I am building the Kernel with buildroot. Did you mean this
>> directory?
>>
>> lukasz at lukasz-vb:~/brl/Machine/beaglebone/build/linux-a75d8e93056181d512f6c818e8627bd4554aaf92$
>> ls -l
>> total 114892
>> drwxr-xr-x  33 lukasz lukasz     4096 pa?  5 11:52 arch
>> drwxr-xr-x   3 lukasz lukasz     4096 pa?  5 11:56 block
>> drwxr-xr-x   2 lukasz lukasz     4096 pa?  5 11:56 certs
>> -rw-r--r--   1 lukasz lukasz    18693 gru 22  2017 COPYING
>> -rw-r--r--   1 lukasz lukasz    98277 gru 22  2017 CREDITS
>> drwxr-xr-x   4 lukasz lukasz    20480 pa?  5 11:57 crypto
>> drwxr-xr-x 119 lukasz lukasz    12288 pa?  5 11:52 Documentation
>> drwxr-xr-x 130 lukasz lukasz     4096 pa?  5 11:57 drivers
>> drwxr-xr-x  36 lukasz lukasz     4096 pa?  5 11:56 firmware
>> drwxr-xr-x  75 lukasz lukasz    12288 pa?  5 11:56 fs
>> drwxr-xr-x  30 lukasz lukasz     4096 pa?  5 11:52 include
>> drwxr-xr-x   2 lukasz lukasz     4096 pa?  5 11:56 init
>> drwxr-xr-x   2 lukasz lukasz     4096 pa?  5 11:56 ipc
>> -rw-r--r--   1 lukasz lukasz     2888 gru 22  2017 Kbuild
>> -rw-r--r--   1 lukasz lukasz      252 gru 22  2017 Kconfig
>> drwxr-xr-x  16 lukasz lukasz    16384 pa?  5 11:56 kernel
>> drwxr-xr-x  12 lukasz lukasz    28672 pa?  5 11:56 lib
>> -rw-r--r--   1 lukasz lukasz   384216 gru 22  2017 MAINTAINERS
>> -rw-r--r--   1 lukasz lukasz    59246 gru 22  2017 Makefile
>> drwxr-xr-x   3 lukasz lukasz    12288 pa?  5 11:56 mm
>> -rw-r--r--   1 lukasz lukasz     7056 pa?  5 11:56 modules.builtin
>> -rw-r--r--   1 lukasz lukasz    17409 pa?  5 11:57 modules.order
>> -rw-r--r--   1 lukasz lukasz   549487 pa?  5 11:57 Module.symvers
>> drwxr-xr-x  65 lukasz lukasz     4096 pa?  5 11:56 net
>> -rw-r--r--   1 lukasz lukasz    18372 gru 22  2017 README
>> -rw-r--r--   1 lukasz lukasz     7490 gru 22  2017 REPORTING-BUGS
>> drwxr-xr-x  25 lukasz lukasz     4096 pa?  5 11:52 samples
>> drwxr-xr-x  14 lukasz lukasz     4096 pa?  5 11:56 scripts
>> drwxr-xr-x  10 lukasz lukasz     4096 pa?  5 11:56 security
>> drwxr-xr-x  23 lukasz lukasz     4096 pa?  5 11:57 sound
>> -rw-r--r--   1 lukasz lukasz  2571239 pa?  5 11:56 System.map
>> drwxr-xr-x   2 lukasz lukasz     4096 pa?  5 11:52 ti_config_fragments
>> drwxr-xr-x  30 lukasz lukasz     4096 pa?  5 11:52 tools
>> drwxr-xr-x   2 lukasz lukasz     4096 pa?  5 11:56 usr
>> drwxr-xr-x   4 lukasz lukasz     4096 pa?  5 11:56 virt
>> -rwxr-xr-x   1 lukasz lukasz 51072304 pa?  5 11:56 vmlinux
>> -rw-r--r--   1 lukasz lukasz 62819472 pa?  5 11:55 vmlinux.o
>>
>> I tried providing it as KERNELDIR, but yielded errors as well.
>>
>> czw., 20 gru 2018 o 14:04 Thomas Petazzoni <thomas.petazzoni@bootlin.com>
>> napisa?(a):
>>
>>> Hello,
>>>
>>> On Thu, 20 Dec 2018 10:34:42 +0100, ?ukasz Przenios?o wrote:
>>>
>>> > Thomas, I do build my kernel using buildroot- it gives me the cross
>>> > compiling tools. My problem is, that I think that the buildroot doesnt
>>> > provide the sources for me in the output.
>>>
>>> I'm sorry, but I don't really understand what you're saying.
>>>
>>> If you are building the Linux kernel with Buildroot, so you definitely
>>> have a directory called output/build/linux-<version>/ which contains
>>> the kernel source code, the kernel configuration (.config file) and
>>> all the object files/images that result from a kernel build.
>>>
>>> If you don't have this folder, then you are definitely not building the
>>> Linux kernel with Buildroot.
>>>
>>> Best regards,
>>>
>>> Thomas
>>> --
>>> Thomas Petazzoni, CTO, Bootlin
>>> Embedded Linux and Kernel engineering
>>> https://bootlin.com
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20181221/209ccefa/attachment.html>

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2018-12-21  7:14 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-20  7:39 [Buildroot] Cross compiling kernel module for the target Łukasz Przeniosło
2018-12-20  8:04 ` Thomas Petazzoni
     [not found]   ` <CA+OsCCQ2TWYiEv-a8uRaJVSd4YX9A4T_EV1ihC1Y2ZyrNPAkag@mail.gmail.com>
2018-12-20  9:07     ` Thomas Petazzoni
2018-12-20  9:14       ` Łukasz Przeniosło
2018-12-20  9:20         ` Thomas Petazzoni
2018-12-20  9:34           ` Łukasz Przeniosło
2018-12-20 13:04             ` Thomas Petazzoni
2018-12-20 20:49               ` Łukasz Przeniosło
2018-12-20 21:04                 ` Łukasz Przeniosło
2018-12-21  7:14                   ` Łukasz Przeniosło

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox