[Buildroot] Cross compiling kernel module for the target

Łukasz Przeniosło bremenpl at gmail.com
Thu Dec 20 21:04:25 UTC 2018


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 at 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 at 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-0002.html>


More information about the buildroot mailing list