linux kernel 学习笔记一 编译内核

 
1、获取内核的源码
从 https://github.com/torvalds/linux 可以方便的找到要linux的内核源码,想要以前的版本也可以在releases页中找到。
比如我下的3.16版本的kernel: 
$wget https://github.com/torvalds/linux/archive/v3.16.tar.gz
下载好把压缩包放到/usr/src/下
$mv v3.16.tar.gz /usr/src

2、 解压源码

对bzip2:
$tar xvjf linux-x.y.z.tar.bz2

对gzip:
$tar xvzf linux-x.y.z.tar.gz

对xz:
$tar -Jcf linux-x.y.z.tar.xz 

3、编译内核
首先要修改配置文件
$make config 
这个指令会逐一遍历所有配置项,选择yes,no或者module。

也可以使用ncurse库编制的图形工具:
$make menuconfig
或者是gtk+的图形工具:
$make gconfig

当然对于新手或者嫌麻烦可以使用默认的配置:
$make defconfig

再或者,copy原来系统的配置文件也是一种不错的选择,系统的配置文件一般放在/boot下面或者在/usr/src/linux-XXX下面。
配置文件写好后会放在内核代码树根目录(/usr/src/linux)下面的.config文件中。

切换到内核源码目录下,先清理一下各种问题:
$make mrproper

如果用的是从原系统拷贝来的.config文件需要导入下配置:
$make menuconfig
load 选择拷贝的配置文件然后save。
如果前面选择的make defconfig可以跳过这一步。

下面开始编译,采用多线程
$make -j4 

编译模块
$make modules

安装模块
$make modules_install

创建initrd文件
$mkinitramfs -o /boot/initrd.img-linux-x.y.z

安装内核
$make install

更新grub
$update-grub2

重启
$reboot
如果一切顺利,在引导界面就可以看见原来的内核与新内核的选择界面了。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值