在 Beagle Bone Black 上构建树外模块
building a out-of-tree module on Beagle Bone Black
机器详细信息:
Linux beaglebone 3.8.13-bone47 armv7l GNU/Linux
问题详情:
为了尝试在 beagle bone black 上编写 out-of-tree
模块(因为 intree 模块要求我一次又一次地 compile/flash 它们),我已经通过 ssh 登录到 beagle bone black revc
客户端,它通过 putty
为我提供命令行界面,就像在一般的树外模块开发中一样,我尝试使用以下 make 文件
编译模块
ifneq ($(KERNELRELEASE),)
# kbuild part of makefile
obj-m := module.o
#module-objs := module.o
else
# normal makefile
KDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules
endif
导致错误
root@beaglebone:~/lddgeek# make
make -C /lib/modules/3.8.13-bone47/build M=/root/lddgeek modules
make: *** /lib/modules/3.8.13-bone47/build: No such file or directory. Stop.
make: *** [default] Error 2
但是当我解析到 KDIR 的路径时,我没有找到构建文件夹,因为我们在 x86
上安装的正常 ubuntu 中找到了它
如果我必须在 Beagle 上开发 drivers/modules out-of-tree
,我该怎么做?
我无法编译的原因是我缺少 kbuild
环境,我需要安装内核头文件,这将使我能够编译 out-of-tree/external 模块
#wget https://raw.github.com/gkaindl/beaglebone-ubuntu-scripts/master/bb-get-rcn-kernel-source.sh
#chmod +x bb-get-rcn-kernel-source.sh
#./bb-get-rcn-kernel-source.sh
以上步骤实际上帮助我解决了所面临的错误,同时我能够插入、删除我试图构建的 hello world 模块
机器详细信息:
Linux beaglebone 3.8.13-bone47 armv7l GNU/Linux
问题详情:
为了尝试在 beagle bone black 上编写 out-of-tree
模块(因为 intree 模块要求我一次又一次地 compile/flash 它们),我已经通过 ssh 登录到 beagle bone black revc
客户端,它通过 putty
为我提供命令行界面,就像在一般的树外模块开发中一样,我尝试使用以下 make 文件
ifneq ($(KERNELRELEASE),)
# kbuild part of makefile
obj-m := module.o
#module-objs := module.o
else
# normal makefile
KDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules
endif
导致错误
root@beaglebone:~/lddgeek# make
make -C /lib/modules/3.8.13-bone47/build M=/root/lddgeek modules
make: *** /lib/modules/3.8.13-bone47/build: No such file or directory. Stop.
make: *** [default] Error 2
但是当我解析到 KDIR 的路径时,我没有找到构建文件夹,因为我们在 x86
上安装的正常 ubuntu 中找到了它如果我必须在 Beagle 上开发 drivers/modules out-of-tree
,我该怎么做?
我无法编译的原因是我缺少 kbuild
环境,我需要安装内核头文件,这将使我能够编译 out-of-tree/external 模块
#wget https://raw.github.com/gkaindl/beaglebone-ubuntu-scripts/master/bb-get-rcn-kernel-source.sh
#chmod +x bb-get-rcn-kernel-source.sh
#./bb-get-rcn-kernel-source.sh
以上步骤实际上帮助我解决了所面临的错误,同时我能够插入、删除我试图构建的 hello world 模块