ubuntu 12.04编译安装linux-3.6.10内核笔记

前提:ubuntu 12.04 LTS x64用的内核版本为3.5的,同时,我的电脑今天声音总是没有,最后就想了想,编译内核吧,都使用linux这么长时间了,怕啥呢?由于不敢跨版本太多,最后就选了3.6.10的内核,并且下载了相应的补丁.

--------------------------------

 

下文写的有一些混乱,有些地方有错误,现已经在另外一个地方进行了修正。下面是链接:

-----------------------------------------------------------

对<< ubuntu 12.04编译安装linux-3.6.10内核笔记>>的修正

2013/08/25  修

-----------------------------------------------------------

先构建编译环境,下载编译工具吧:

sudo apt-get install libncurses-dev kernel-package bzip2 make ncurses-dev fakeroot module-init-tools patch diff
sudo apt-get install libqt3-headers libqt3-mt-dev
sudo apt-get install libqt3-compat-headers

从这里下载内核以及对应版本的补丁

linux-3.6.10.tar.gz

patch-3.6.gz

ftp://ftp.kernel.org/pub/linux/kernel/v3.x/

这两个文件下载后放入/usr/src目录:

sudo cp ~/Download/linux-3.6.10.tar.gz /usr/src
sudo cp ~/Download/path-3.6.gz

解压,并打补丁,补丁可以通过不同方式制定,那么打的时候就用不同的命令,一般常见的是 patch,但自己今天这个是diff:

cd /usr/src
tar -xvf linux-3.6.10.tar.gz
gzip -d patch-3.6.gz
sudo cp patch-3.6 ./linux-3.6.10
cd linux-3.6.10
file patch-3.6
sudo diff -rN patch-3.6 ./

如果patch文件是patch做成的,那么就相应的用:

patch -p1 < patch-3.6.patch

接下来就该配置内核了,但是自己对于内核配置可不是那么熟练什么的,那就用原来系统中存在的配置文件吧。原来系统中的配置文件,位置有两种情况:一是放在/boot下面的,一个是放在/usr/src/linux-xxx/下面的,而我自己的就是放在/usr/src/linux-headers-3.5.32-xx/下面的

cp ../linux-headers-3.5.32-xxx/.config  ./

清理一下各种问题:

make mrproper

开始配置,那么配置的时候先导入内核中已经存在的配置文件.config   也就是自己刚才从原系统拷贝过来的文件.

make menuconfig 
----------------------------
ps:
load xxx
你的修改
save xxx

如果没有修改的话,就直接进入load 当前配置文件,然后再保存推出,我自己在某些地方稍做修改了,就是声卡驱动上。

接下来就是开始make了,make的时候,默认情况下是单线程编译,这个似乎有点慢。如果自己的机器处理器还可以的话,想加快速度的话,可以选在多线程。我选的是4,然后1个小时左右吧。以前曾经试过16,但我怀疑ubunut会不会因此而挂掉。我在13.04的时候有这个经历。

make  -j4

待结束后,开始编译模块。有这么一个说法,可以在编译内核的时候,同时编译模块,互相不影响,这里自己由于心疼本本,没有试过。

make modules

安装模块

make modules_install

创建创建initrd 文件

mkinitramfs -o /boot/initrd.img-linux-3.6.10

安装内核

make install 

按说,这个时候,内核安装完毕,grub2会自动更新的,如果不放心,可以选择:

update-grub2

如果对grub熟悉的人就知道,会在开机的引导界面出现很多选项的,这个时候有的同学就可能开始要去弄grub和删除多余的内核什么的。其实,这个时候最好不要去弄这个,应该是先重启一下机器,看看内核安装的结构如何,失败没,一旦失败了就可以从旧的内核启动。

reboot
//

如果没有其它问题,那么就会在引导界面出现ubuntu 3.6.10的选项了
<当然,这个引导界面可不是自己想要的,可能需要自己美化一下>

进入系统,首先删除多余的内核。

按道理说,在删除旧的内核时,应该不影响系统中软件的存在,但是今天自己在删除的时候,发现少量的软件确实被删除了,好像它们有什么依赖关系,但影响不大,可以忽略。

uname -r  //保留你当前所用的内核
dpkg --get-selections|grep linux-header
apt-get remove xxxxx

注意删除旧内核的时候,可别将当前内核也删除了。否则,你的系统就跪了;如果你是在真机上的双系统的话,那估计你自己也就跪了。

删除完毕后,grub响应一次吧,其实没必要。

update-grub2

然后就是开始修改grub的配置文件,让引导界面不是那么乱糟糟的。说是修改,也就只是注释掉一些选项。它是用shell语言,但和C语言相差无几,同样有函数和变量什么的,仔细点就行。个人不推荐直接删除那些选项的原因是,一旦系统挂掉,自己可以在引导界面进入grub的配置文件,打开ubuntu的救援模式或者其他的,然后就可以启动。

sudo vim /boot/grub/grub.conf

注意这个文件修改后,需要强制保存。

一切OK后,就再次重启下吧~~

---

另外自己因为要弄一下声音的问题,于是按照谷妹的办法:

su passwd
xxx
xxx
su
xxx
xxx

这个上面就是说切换到root的时候,第一次似乎都要先更新下root的密码,然后才可以登入

下面就是自己弄声音的一个命令了

gnome-control-center sound

会弹出一个对话框,里面有设备的,调整下就OK了,我的笔记本声音也就出来了

--------------------------------------------------------------------

以上学习谷妹所提供的资料链接如下,非常感谢这些人们的分享。同时,资料里也写的非常详尽了。

http://www.linuxidc.com/Linux/2012-03/57303.htm //内核编译
http://qing.blog.sina.com.cn/tj/9c5a7cf5330020uz.html//内核编译
http://forum.ubuntu.org.cn/viewtopic.php?t=23255//内核删除
http://forum.ubuntu.org.cn/viewtopic.php?f=49&t=363069//声音问题

 

over

 

 

posted @ 2013-06-06 14:22  鱼竿的传说  阅读(5231)  评论(0编辑  收藏  举报
$.getScript('http://s1.bdstatic.com/r/www/cache/baidu_search/baiduSearch-1.4.js', function () { baidusearch.init("shiny_chinese"); });