module - 在 Beagle Bone Black 上构建树外模块

标签 module linux-device-driver beagleboneblack

机器详细信息:

Linux beaglebone 3.8.13-bone47 armv7l GNU/Linux

问题详情:

试图在 beagle bone black 上编写 out-of-tree 模块(因为 intree 模块需要我一次又一次地编译/刷新它们),我已经登录到 beagle bone black revc 通过 ssh 客户端,它通过 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 上开发驱动程序/模块 out-of-tree 我该怎么做?

最佳答案

我无法编译的原因是我缺少 kbuild 环境,我需要安装内核头文件,这将使我能够编译树外/外部模块

#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 模块

关于module - 在 Beagle Bone Black 上构建树外模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29202313/

相关文章:

javascript - 本地主机未加载模块

c - 我们是否需要 ioremap 来获取 memmap 保留的内存块?

c - 如果我不打印 char 数组,函数将返回错误值

python - Python 3.4 模块中的 ciscoconfparse 未正确导入

c - 我如何使用 ioctl 进行用户程序和驱动程序之间的通信?

linux - 如何找到Linux模块路径

linux - 一些Linux设备驱动程序是如何自动加载/卸载的?

BBB 上的 Ruby 2.00 编译错误

linux - pm-utils hook-script 在 pkill 信号上失败(Beagle-Bone)

javascript - 如何设计/构建大型模块化移动 Web 应用程序?