参考http://blog.csdn.net/lucien_zhou/article/details/71274447
(已验证)
驱动程序和用户程序不一样,它是作为一个模块连接到内核模块来运行的,运行在内核空间里面。所以要运行我们自己构造的模块,需要自己的系统已经配置好内核树,然后把目标模块和内核树连接起来运行!
如何查看自己的 ubuntu 系统中是否已经有了内核源码树了?直接去查看 /lib/modules/ 目录下是否存在 build 目录,如果存在,则表示我们自己的系统已经拥有内核源码树了
但为了熟悉整个的过程,我们也重新下载对应自己的编译环境的“内核源码”并对其进行编译,构造内核源码树
/
(1)安装编译内核所需的软件(要用 make menuconfig 命令的话得安装,用 make oldconfig 的话就不用安装,不论采用哪种生成配置文件的方式,都在系统中安装下面的软件)
sudo apt-get install build-essential kernel-package libncurses5-dev fakeroot
ubuntu 20.0还需要安装sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install libssl-dev
1.查看当前系统原码版本
///
$ apt-cache search linux-source#apt 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
linux-source-4.2.0 - Linux kernel source for version 4.2.0 with Ubuntu patches/
root@www-Vostro-2420:/home/www/work# apt search linux-source
正在排序... 完成
全文搜索... 完成
linux-source/未知,未知 4.2.0.42.45 all
Linux kernel source with Ubuntu patches
linux-source-3.2.0/precise-updates,precise-security,now 3.2.0-126.169 all [已安装]
Linux kernel source for version 3.2.0 with Ubuntu patches
linux-source-4.2.0/未知,未知 4.2.0-42.49 all
Linux kernel source for version 4.2.0 with Ubuntu