ubuntu12.04编译新内核
转载自:http://forum.ubuntu.com.cn/viewtopic.php?f=48&t=446172
作为初学者,楼主想尝试一下如何在ubuntu 12.04下编译和升级内核版本。baidu了几个中文指导。花去了一天的时间。在virtual box和PC上一一尝试,无论是dpkg方式还是直接编译方式均告失败。楼主的12.04是缺省安装,没有特殊情况。无奈之下,搜索到了一篇英文指导。按照教程指导,3.2.17和3.3.4两个版本升级成功。
想必大家都曾遇到过类似问题,特共享这篇总结出来。
原文:http://mitchtech.net/compile-linux-kernel-on-ubuntu-12-04-lts-detailed/
1. 安装这些包
sudo apt-get install git-core libncurses5 libncurses5-dev libelf-dev asciidoc binutils-dev linux-source qt3-dev-tools libqt3-mt-dev libncurses5 libncurses5-dev fakeroot build-essential crash kexec-tools makedumpfile kernel-wedge kernel-package
2. 获取linux源码包,也可以通过其他任何渠道获取完整源码包
wget http://www.kernel.org/pub/linux/kernel/ ... 17.tar.bz2
3. 解压缩,进入目录
tar -xjvf linux-3.2.17.tar.bz2
cd linux-3.2.17/
4. 克隆现有的内核配置文件(自已配置一份很复杂,容易出错)
cp -vi /boot/config-`uname -r` .config (以3.2.17为例,cp -vi /boot/config-3.2.17 .config)
5. make oldconfig
选择模块,不懂的话一直回车
6. make localmodconfig
选择模块,不懂的话一直回车
7. make menuconfig
直接tab选择exit,回车
8. make -j5
-j5表示使用5个线程并行编译
等效命令: make bzImage; make modules
9. sudo make modules_install
在系统中安装模块
10. sudo make install
使用3.2.17编译的新内核替换老内核
11. sudo reboot
注意1:新装的ubuntu没有为root设置密码,su命令会失败。使用这个命令,设置root密码。
sudo passwd root
注意2: 使用uname -r命令查看当前版本确认升级是否成功。