Ubuntu 16 内核树的建立
0,安装编译内核所需要的软件
$:sudo apt-get install libssl-dev build-essential kernel-package libncurses5-dev
1,列出可用的源码包
$:sudo apt-cache search Linux-source
2,安装可用的源码包
$:sudo apt-get install linux-source-4.4.0
3,找到下载的源码包下载完成后,我们进入/usr/src ,默认会在这里
$:cd /usr/src
4,解压源码包
$:sudo tar -xjvf linux-source-4.4.0.tar.bz2
5.进入源码树内,然后导入原来内核的配置文件:
$:cd linux-source-4.4.0/
$:sudo cp ../linux-headers-4.4.0-21-generic/.config ./.config
(注意:在linux-headers-4.4.0-21-generic 目录下查看文件列表时,可能看不到.config文件,因为 “ .”开头的文件是隐藏的,要用 $:ls –a 才能看到);
在源码树中。我们执行一下 $ make menuconfig ,把原来的.config导进来。
终端会弹出一个配置界面最后有两项:
load akernel configuration...
save a kernel configuration...
选择load a kernel configuration保存,
然后在选择save a kernel configuration再保存退出,并退出配置环境。
$:sudo make oldconfig
$:sudo make
$:make –j4 (ps:这里-j4是用4个job来完成整个make过程,并发一下)
开始编译..............
6,开始编译模块
$:sudo make modules
开始编译..............
7,安装模块
$:sudo make module_install
以上是内核树的建立过程
(最后发现,
不用安装和编译内核树照样可以写简单的linux驱动程序!!!)