我用的是基于Ubuntu12.04版本的elementaryOS发行版,用此系统为例给大家说
说如何手动更新系统内核:
1、首先到www.kernel.org下载最新的Linux内核源码。(我下载的是3.16.2)
2、需要正确编译内核,所以需要安装gcc以及安装相应的依赖包和库
1)安装gcc:sudo apt-get install gcc
2)安装类库:sudo apt-get install build-essential
3)安装ncurses库:sudo apt-get install libncurses5-dev
4)安装内核包:sudo apt-get install kernel-package
3、在根目录下创建/linux-kernel,用于存放下载的源码包
1)(linux-3.16.2.tar.xz),因为官网的文档不推荐将它提取到/usr/
src目录下(不过也可以那么做,我没试过),所以我自己在根目录创建了一个
文件来单独处理。
sudo mkdir /linux-kernel
2)将源码包移动(或者复制)到该目录下
sudo mv /home/qianyu/下载/linux-3.16.2.tar.xz /linux-
kernel/linux-3.16.2.tar.xz
3)提取文件到该目录下
cd /linux-kernel/
sudo tar -xvJf linux-3.16.2.tar.xz
4)接着上面的命令进入到所提取的文件的目录下
cd ./linux-3.16.2/
4、执行sudo make mrproper,如果是刚解压的包,没必要执行这个操作。
5、复制/boot目录下原来的内核配置文件,然后命名为 .config到该目录下
sudo cp /boot/config-3.2.68-generic ./.config
6、这里把你的终端窗口一定要最大化,不然会有一个提醒错误的。
7、执行sudo make menuconfig进行配置。
在终端中会出现一个图形化的配置界面。按方向键→,选择Load选项,然后回
车,然后系统会自动提醒加载.config文件,直接回车就好;然后选择Save选
项回车,保存配置,最后选择Exit来退出配置界面,回到刚才的shell中。
8、执行sudo make bzImage
9、编译内核:sudo make
10、编译内核模块:sudo modules
11、安装内核模块:sudo modules_install
12、安装内核:sudo make install
13、执行sudo mkinitramfs 3.16.2 -o /boot/initrd.img-3.16.2
14、最后更新引导程序:sudo update-grub
15、重启系统:sudo init 6
16、查看内核是否为你安装的内核:uname -a
有几个要注意地方:
1、你的swap分区必须不小于1G
2、执行第7步骤前一定要最大化终端界面
3、编译内核,很慢的,机子很一般的话,也许会花费2个小时以上,要有耐心(第9步)
4、模块的编译快不少。无论是编译内核还是模块,都会出现卡在某一块不动,过会儿就好了,不要着急。
5、所有的命令执行基本都要用到root权限,可以最开始就执行sudo su,这个命令,然后输入密码,之后的步骤就不用再输入sudo了。
好了,到此结束。