zoukankan      html  css  js  c++  java
  • inux内核的编译与安装 (转)

     

    1.查看ubuntu版本号:

     

     

    xdj@xdj-MS-7519:~$ sudo lsb_release -a
    [sudo] password for xdj: 
    No LSB modules are available.
    Distributor ID:    Ubuntu
    Description:    Ubuntu 12.04.3 LTS
    Release:    12.04
    Codename:    precise

     

    2.查看内核版本号:

    xdj@xdj-MS-7519:~$ cat /proc/version
    Linux version 3.8.0-29-generic (buildd@akateko) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #42~precise1-Ubuntu SMP Wed Aug 14 15:31:16 UTC 2013

     

    The Linux Kernel Archives https://www.kernel.org/

    转自:http://blog.csdn.net/liuqinstudy/article/details/9055935

    步骤:

         1、首先下载你想要编译的内核版本:linux-3.2.1.tar.bz2。

         2、进入root权限把刚下载的内核代码复制到/usr/src目录下面去。

         3、在/usr/src目录下面解压刚才下载的内核代码:tar   -xjvf  linux-3.2.1.tar.bz2,解压完成后进入相应的linux-3.2.1           目录,以后的工作都会在这个目录下面完成。

         4、开始编译前的工作:

              4.1  使用命令:make mrproper

                  作用是在每次配置并重新编译内核前需要先执行”make mrproper”命令清理源代码树,包括过去曾经配置的内核配置文件”.config”都将被清除。即进行新的编译工作时将原来老的配置文件给删除,以 免影响新的内核编译。(但是一般情况也可https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.15.4.tar.xz以不执行这条命令,因为内核编译是增量编译,清除之后又要从头开始编译,浪费时间).    

             4.2   使用命令:make menuconfig,进行内核定制,配置编译信息。

                  输入命令:make menuconfig  。然后再出现的界面中移动鼠标选中file system项目  然后再出现的界面中移动鼠标选中file system项目,进入其中,把second extended fs suppor前面的 * 好改成M(修改这个的目的是让在编译内核的时候以模块的方式进行编译,而不是编译进内核)。这里可能会提醒安装ncurses相应的包。安装这个包的命令 如下:sudo apt-get install libncurses5-dev

            4.3    保存退出

        5、  make dep命令生成内核功能间的依赖关系。一般会提示unecessary.
        6、  make命令 编译内核。(若过程不出现问题,大约1-2个小时编译完成) 。

               这个相当于手工执行下面两步:
               #make bzImage(编译出核心)
               #make modules(编译可加载模块)

        7、  等编译内核完成之后就是安装模块。使用命令:make modules_install

        8、 安装核心。 使用命令:make install

        9、  创建initrd文件  使用命令:mkinitramfs -o /boot/initrd.img-3.2.1(后面的数字是自己需要编译的内核的版本,根据自己的版本不同来书写).*****后面出现的一个错误在重新用另外的方法生成initrd.img-3.2.1文件后解决,不知道是不是这里的生成方法有错,但是可以用这种方法试一试,出错了再改。因为我也只试了一次,说不定是我操作失误了。*****
       10、 更新grub来显示自己安装的内核。进入/boot/grub目录,然后输入命令:update-grub即可。
        经过以上的步骤,内核基本上已经编译成功并且已经安装上了。

    为 了看自己的内核是否安装上了可以通过以下步骤来看:进入/boot/grub/目录,然后打开grub.cfg文件,看你自己编译的版本是否已经在里面 了,如果在里面了,就说明你自己编译的内核就完成了。这是后重启就可以进入你自己编译的内核里面了。(但是为了选择自己安装的内核或者是选择进入以前系统 自带的内核还必须更改/boot/grub/目录下面的文件grub.cfg,把里面的所有的timeout的值都更改成10)。然后重新启动就可以选择 了。

    以上就是编译和安装自己内核的步骤。

     

    http://blog.163.com/zhe_wang_2009/blog/static/172282121201151002742650

     

    Linux 软件管理(RPM,Dpkg,APT)

    http://blog.sina.com.cn/s/blog_484572870100c3pg.htmlhttp://blog.csdn.net/on_1y/article/details/8598385

    今天把linux 2.6.16内核编译成功了
    第一次成功编译内核

    大略步骤:
    0.准备

    cp linux-2.6.16.tar.bz2 /usr/src/kernels
    tar jxvf linux-2.6.16.tar.bz2
    上边是将源码copy到/usr/src/kernels里边,旁边还有个2.6.11.1369_FC4.i686
    我的是P4的CPU,所有是i686,解压完成后,有个linux2.6.16文件夹

    ln -s /usr/src/kernels/linux-2.6.16 /usr/src/linux
    软链接,在/usr/src里建个linux链接

    rm -dfr /usr/include/arm
    rm -dfr /usr/include/linux
    rm -dfr /usr/include/scsi
    删除/usr/include下边的这3个文件夹,GCC默认调用这里边的库函数,改成最新版本的,直接链接过来就行了,链接如下:

    ln -s /usr/src/linux/inhttp://blog.sina.com.cn/s/blog_484572870100c3pg.htmlclude/arm-i386 /usr/include/arm
    ln -s /usr/src/linux/include/linux /usr/include/linux
    ln -s /usr/src/linux/include/scsi /usr/include/scsi
    ln -s /usr/src/linux/include/arm-generic /usr/include/arm-generic

    1.make menuconfig
    一些配置,对应自己的机器,我是将/boot/config-2.6.11-1.1369_FC4 copy到/usr/src/linux里边,用的命令是
    cp /boot/config-2.6.11-1.1369_FC4 /usr/src/linux/.config
    然后
    make menuconfig
    load配置文件,之后修改CPU类型,支持NTFS什么的...

    2.make
    编译,最漫长的等待时间,我是用了将近1个小时,然后将这两个文件copy到/boot里边,
    cp /usr/src/linux/Syshttp://blog.sina.com.cn/s/blog_484572870100c3pg.htmltem.map /boot/System.map-2.6.16
    cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.6.16
    3.
    make modules
    make modules_install
    notes: 终于明白了,make modules_install是将modules安装到/lib/modules,然后mkinitrd就可以有2.6.16这个参数了.
    make modules可以省略,在make里边,已经把modules编译好了.可以直接安装modules.
    4.mkinitrd /boot/initrd-2.6.16.img 2.6.16
    5.vi /boot/grub/grub.conf
    修改grub,用新内核引导
    应这个朋友,我把内核给详细的写了写,我就是这么编译成功的.
    下边还有一个编译内核的详细文档,可以参考.

     

     http://blog.sina.com.cn/s/blog_484572870100c3pg.html

    修改内核时候总是遇到make: ***/root/build_kernel/linux-2.6.14.1/arch/arm 是一个目录.停止的错误

    nnd,原来是因为 ARCH ?= arm后面多了一个空格的缘故,害的我查了一个多小时

    2.6内核编译

    http://blog.sina.com.cn/s/blog_484572870100c3pg.html

  • 相关阅读:
    我国大部分地区今晚将上演红色月全食美景[2007828]
    n阶汉诺塔问题(Hanoi)
    NBear中使用WhereClip表示in查询的问题
    web性能测试分析理论篇
    Net类库一览 转
    使用ASP.Net Forms模式实现WebService身份验证
    2005数据源的相关数据绑定
    单位分级,涵闸和人员绑定到树
    ajax,js文件中中文显示成乱码的问题
    WinFom应用程序数据操作技巧
  • 原文地址:https://www.cnblogs.com/XDJjy/p/3831615.html
Copyright © 2011-2022 走看看