Linux驱动开发之环境搭建---快速构建内核树

时间:2021-07-21 12:34:34

之前重新编译了Ubuntu下的内核(Linux驱动开发之环境搭建----Ubuntu 12.4 编译内核),可不是很完美,现在构建基于Ubuntu官方版本的内核树.

1. 先查看内核版本

cody@kdev:~$ uname -a
Linux kdev 3.2.0-29-generic-pae #46-Ubuntu SMP Fri Jul 27 17:25:43 UTC 2012 i686 i686 i386 GNU/Linux

2. 由于Ubuntu默认是没有安装内核树的,但是有提供安装包,这就需要我们手工安装上去

cody@kdev:~$ apt-cache search linux-source
linux-source - Linux kernel source with Ubuntu patches
linux-source-3.2.0 - Linux kernel source for version 3.2.0 with Ubuntu patches
cody@kdev:~$ sudo apt-get install linux-source-3.2.0

3. 解压,进入到源代码目录,使用原版的快速配置,然后make

cody@kdev:/usr/src$ sudo tar jvxf linux-source-3.2.0
cody@kdev:/usr/src$ cd  linux-source-3.2.0
cody@kdev:/usr/src/linux-source-3.2.0$ sudo make oldconfig
cody@kdev:/usr/src/linux-source-3.2.0$ sudo make

4. 在我的PC上,等了二个小时左右,出现一个错误

ERROR: "__modver_version_show" [drivers/staging/rts5139/rts5139.ko] undefined!
WARNING: modpost: Found 5 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y‘
make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2

估计是RTS5139驱动的问题.反正没有使用这个驱动,不要加入编译, 编辑.config, 将

CONFIG_RTS5139=m

修改成如下的形式:

CONFIG_RTS5139=n

继续make,等了半小时左右,终于完成了.

5. 编译成模块

sudo make modules

6. 安装,重启.如果没什么问题就算成功了.

sudo make modules_install