如何构建单个树内核模块?

Modified on: Sat, 09 Jun 2018 04:39:53 +0800

linux-source -...有一个模块在config /boot/config-3.4-trunk-686-pae中被禁用,因此它不是linux-image -...的一部分。 Debian,但解决方案对于Ubuntu应该是相同的,或者?),例如

# CONFIG_CAN_PEAK_USB is not set

如何编译该内核模块,以便它可以与分布式内核一起使用?

各自的linux-source -...软件包已经安装,解压缩并链接到/ usr / src / linux。 /boot/config-3.4-trunk-686-pae被复制到/usr/src/linux/.config并用

修改

CONFIG_CAN_PEAK_USB=m

使用

make make modules

可以编译内核和所有模块。但是如何只编译那个特定的单个模块?

(注意:内核需要先编译,否则会出现以下错误:no symbol version for module_layout

作者:ish,mab

最佳答案

我遇到了同样的问题。我假设您不仅需要复制.config而且还需要复制Module.symvers

我编译模块ft1000的步骤(运行Debian Wheeze 7.1.0;内核3.2.0-4-686-pae):

aptitude install linux-headers-3.2.0-4-686-pae
aptitude install linux-source-3.2
cd /usr/src/
tar xjf linux-source-3.2.tar.bz2
cd /usr/src/linux-source-3.2
cp ../linux-headers-3.2.0-4-686-pae/Module.symvers .
make oldconfig # it copies .config to ./
vi .config # enable ft1000 module: CONFIG_FT1000=m
make prepare # setup FT1000 as module
make modules_prepare
make SUBDIRS=scripts/mod
make SUBDIRS=drivers/staging/ft1000/ft1000-usb modules
cp drivers/staging/ft1000/ft1000-usb/ft1000.ko /lib/modules/3.2.0-4-686-pae/kernel
/drivers/staging/
depmod
modprobe ft1000

相关问答

添加新评论