I tried a couple of different ways to build the “hello world” kernel module, but I seem to be lacking the proper “build” to use in my makefiles.
So, I installed the linux headers, but I seem to be missing a “classmap.h” file.
I also managed to get past git crashing by downloading the repo and then rsync’ing it to the BBB. So, after 8 hours(!), the BBB fully compiled a 4.1.6-ti-r12 build. So, if there is something I can do to build a kernel module using that tree and scripts, I can do that, too.
What obvious thing am I missing?
Thanks.
`
The following NEW packages will be installed:
linux-headers-4.1.6-ti-r11
0 upgraded, 1 newly installed, 0 to remove and 9 not upgraded.
Need to get 6,992 kB of archives.
After this operation, 52.9 MB of additional disk space will be used.
Get:1 http://repos.rcn-ee.com/debian/ jessie/main linux-headers-4.1.6-ti-r11 armhf 1jessie [6,992 kB]
Fetched 6,992 kB in 3s (2,199 kB/s)
Selecting previously unselected package linux-headers-4.1.6-ti-r11.
(Reading database … 84339 files and directories currently installed.)
Preparing to unpack …/linux-headers-4.1.6-ti-r11_1jessie_armhf.deb …
Unpacking linux-headers-4.1.6-ti-r11 (1jessie) …
Setting up linux-headers-4.1.6-ti-r11 (1jessie) …
root@arm:~/kernels# cd /lib/modules/uname -r
/build
root@arm:/lib/modules/4.1.6-ti-r11/build# ls
arch block crypto Documentation drivers firmware fs include init ipc Kconfig kernel lib Makefile mm Module.symvers net samples scripts security sound tools usr virt
root@arm:/lib/modules/4.1.6-ti-r11/build# make scripts
scripts/kconfig/conf --silentoldconfig Kconfig
HOSTCC scripts/selinux/genheaders/genheaders
scripts/selinux/genheaders/genheaders.c:13:22: fatal error: classmap.h: No such file or directory
#include “classmap.h”
^
compilation terminated.
scripts/Makefile.host:91: recipe for target ‘scripts/selinux/genheaders/genheaders’ failed
make[3]: *** [scripts/selinux/genheaders/genheaders] Error 1
scripts/Makefile.build:403: recipe for target ‘scripts/selinux/genheaders’ failed
make[2]: *** [scripts/selinux/genheaders] Error 2
scripts/Makefile.build:403: recipe for target ‘scripts/selinux’ failed
make[1]: *** [scripts/selinux] Error 2
Makefile:555: recipe for target ‘scripts’ failed
make: *** [scripts] Error 2
`
`
root@arm:~/bb-kernel/mymodules# cat makefile
obj-m += hello.o
all:
make -C /root/bb-kernel/KERNEL/tools/build M=$(PWD) modules
clean:
make -C /root/bb-kernel/KERNEL/tools/build M=$(PWD) clean
root@arm:~/bb-kernel/mymodules# make
make -C /root/bb-kernel/KERNEL/tools/build M=/root/bb-kernel/mymodules modules
make[1]: Entering directory ‘/root/bb-kernel/KERNEL/tools/build’
make[1]: *** No rule to make target ‘modules’. Stop.
make[1]: Leaving directory ‘/root/bb-kernel/KERNEL/tools/build’
makefile:5: recipe for target ‘all’ failed
make: *** [all] Error 2
root@arm:~/bb-kernel/mymodules#
`