zoukankan      html  css  js  c++  java
  • [转]ubuntu 下编译内核简单步骤

    学习linux的时候如果要添加自己的系统调用,你不得不重新编译内核,哪怕是出于兴趣,也要有编译内核的经历。有句哲理是这样的:做一件事不难,难就难在你迈出了这一步,呵呵,有点假了。
    嗯,不多废话了,经过朋友的指点,首先掌握一个简单的,清晰的编译过程多初次体验者来说至关重要。所以先
    记录下这个简单的第一次。

    第一步:得有源码(废话么,编译程序没源码行吗?)在哪下载呢?www.kernel.org 自己找一个源码包,记得
    是点后面的F(完全版)下载。我的源码包是:linux-2.6.33.1.tar.bz2 
    在终端下拷贝源码到/usr/src/下:#cp linux-2.6.33.1.tar.bz2 /usr/src/
    这里得是超级用户权限。然后在/usr/src/目录下解压源码包:#tar -jxvf linux-2.6.33.1.tar.bz2

    第二步:配置相关文件,这里有三种方法 1,#make config 2,#make menuconfig(需要包支持
    apt-get install libcurses5-dev apt-get install libncurses-dev就可以了) 3,#make xconfig
    我们使用的全是默认的配置。所以直接使用第二种方法,进入以后直接推出就可以了,以后再研究原因吧,
    暂时先这样使用。
    第三步:编译内核:(前面的两个步骤可以省略,一个#make dep 一个#make clean),这里直接#make 
    就行了,然后静静的等待吧,一般的机子一两个小时就编译完成了。编译完成后就是安装内核了。
    第四步:安装内核,#make modules(编译模块)和#make modules_install
    再生成内核镜像文件,我的命令是:mkinitramfs -o /boot/initrd-2.6.33.1.img 2.6.33.1
    然后安装即可 #make install
    第五步:设置启动项的配置在ubuntu9.04以及之前的发行版上也就使使用grub2.0之前的启动配置都是在
    /boot/grub/menu.lst进行修改,后再来的版本上是在/boot/grub/grub.cfg里面修改,不过要改动的地方很类似
    这里就不赘述了,只是记录下#gedit /boot/grub/grub.cfg
    先看我的示例:
    这个是我之前的,所以只要复制一下这个,然后在这里面进行修改
    menuentry "Ubuntu, Linux 2.6.31-21-generic" {
            recordfail=1
            if [ -n ${have_grubenv} ]; then save_env recordfail; fi
    set quiet=1
    insmod ext2
    set root=(hd0,5)
    search --no-floppy --fs-uuid --set d18b116e-7143-4f74-84b9-17c27e283bfc
    linux /boot/vmlinuz-2.6.31-21-generic root=UUID=d18b116e-7143-4f74-84b9-17c27e283bfc ro   quiet splash
    initrd /boot/initrd.img-2.6.31-21-generic
    }

    ##修改后的,红色为发生变动的地方:
    menuentry "Test-Ubuntu, Linux 2.6.33-1" {
            recordfail=1
            if [ -n ${have_grubenv} ]; then save_env recordfail; fi
    set quiet=1
    insmod ext2
    set root=(hd0,5)
    search --no-floppy --fs-uuid --set d18b116e-7143-4f74-84b9-17c27e283bfc
    linux /boot/vmlinuz-2.6.33.1 root=UUID=d18b116e-7143-4f74-84b9-17c27e283bfc ro   quiet splash
    initrd /boot/initrd-2.6.33.1.img
    }
    完成后保存,基本上就好了。然后重启你会发现启动项里面多了个Test-Ubuntu, Linux 2.6.33-1 选项
    所以了,选择进入就是了。
  • 相关阅读:
    Qt:QT右键菜单
    Ubuntu 12.04安装字体
    在ubuntu下关闭笔记本触摸板
    SSL与TLS的区别以及介绍
    隔行扫描与逐行扫描的区别
    Linux下的绘图(流程图、UML、mindmap)工具
    RedHat Linux 下安装MPlayer 编译源代码方式
    循环数组实现队列的四种方式
    Linux内核spin_lock与spin_lock_irq分析
    Oracle 创建同义词
  • 原文地址:https://www.cnblogs.com/jianyungsun/p/1993705.html
Copyright © 2011-2022 走看看