zoukankan      html  css  js  c++  java
  • ubuntu 12.04编译安装linux3.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

    本文来自博客园,作者:鱼竿的传说,转载请注明原文链接:https://www.cnblogs.com/chineseboy/archive/2013/06/06/3121076.html

  • 相关阅读:
    Android vector标签 PathData 画图超详解
    Echarts 出现不明竖线解决方案
    关于华为手机Log.d打印不出来log的问题
    Java源码解读(一)——HashMap
    算法小题
    Python简单小程序练习
    TCP/IP协议栈(三)——linux 向下的报文处理
    TCP协议(二)——TIME_WAIT状态
    Linux文件系统inode、block解释权限(三)
    Linux 基本权限(一)
  • 原文地址:https://www.cnblogs.com/chineseboy/p/3121076.html
Copyright © 2011-2022 走看看