ubuntu16---构建内核树

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驱动程序!!!)

8,最后创建initrd文件:
mkinitramfs -o /boot/initrd.img-3.0.00

9,更新配置GRUB引导列表
sudo gedit /boot/grub/grub.cfg
我的grub.cfg添加如下:
menuentry 'Ubuntu 11.04,Linux  3.0.00' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd1,9)'
search --no-floppy --fs-uuid --set 501d3a42-1d52-4438-99bf-e679da605867
linux/vmlinuz- 3.0.00 root=UUID=33883099-83a5-49f3-9c12-ee6a4d90da9e ro   quiet splash
initrd/initrd.img-3.0.00
}
#以下是原2.6.32内核启动项
menuentry 'Ubuntu,Linux 2.6.32-22-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd1,9)'
search --no-floppy --fs-uuid --set 501d3a42-1d52-4438-99bf-e679da605867
linux/vmlinuz-2.6.32-22-generic root=UUID=33883099-83a5-49f3-9c12-ee6a4d90da9e ro   quiet splash
initrd/initrd.img-2.6.32-22-generic
}


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值