zoukankan      html  css  js  c++  java
  • Ubuntu10.04下Linux内核编译的完整步骤

    1、在http://www.kernel.org/上下载最新的内核源代码linux-2.6.33.1.tar.bz2,放在/huangcheng/Linux内核 目录下,huangcheng是Linux OS的第一个用户名。 
    2、进入Linux内核源码所在的目录(cd Linux内核),解压该内核代码到/usr/src下: 
    sudo tar -xjvf linux-2.6.33.1.tar.bz2 -C /usr/src 
    3、进入Linux内核源码解压后的目录/usr/src/linux-2.6.33.1(cd /usr/src/linux-2.6.33.1) 
    4、sudo make mrproper         净化解压后的源代码 
    5、sudo make menuconfig     对内核选项进行配置 
    在配置过程中会发生如下错误: 
    *** Unable to find the ncurses libraries or the 
    *** required header files. 
    *** 'make menuconfig' requires the ncurses libraries. 
    *** 
    *** Install ncurses (ncurses-devel) and try again. 
    *** 
    make[1]: *** [scripts/kconfig/dochecklxdialog] 错误 1 
    make: *** [menuconfig] 错误2 
    解决办法: 
    (1)cd / 进入根目录后,在终端输入:sudo apt-get install ncurses 
    信息: 
    正在读取软件包列表... 完成 
    正在分析软件包的依赖关系树       
    正在读取状态信息... 完成       
    现在没有可用的软件包 ncurses,但是它被其它的软件包引用了。 
    这可能意味着这个缺失的软件包可能已被废弃, 
    或者只能在其他发布源中找到 
    E: 软件包 ncurses 还没有可供安装的候选者 
    (2)然后接着在终端输入:sudo apt-get install libncurses* 
    (3)再cd /usr/src/linux-2.6.33.1进入内核所在目录,再次输入sudo make menuconfig就好了! 
    6、对于配置可选择General Setup或者选择其他的自定义选项保存后退出。 
    7、sudo make dep         建立模块间的依赖信息 
    8、sudo make clean       删除配置时留下的一些不用的文件 
    (7、8两步可能对于一些PC没有作用) 
    9、sudo make bzImage     编译内核,内核较小时可以用make zImage 
    10、sudo make modules    编译内核模块 

    当然,在编译内核时,可通过make-j<n>来加速内核的编译,n一般等于CPU数量的两倍。单核,n=2;双核,n=4.即执行sudo make -j4就可以编译了!

    方法一: 

    1、sudo make modules_install   安装内核模块 
    2、sudo make install           安装内核 
    13、cd / 后在终端输入:sudo mkinitramfs 2.6.33.1 -o /boot/initrd.img-2.6.33.1-generic 

    14、到此为止,构建内核完毕。

    方法二:

    手动把内核映象和System.map拷贝到/boot/下 

    #sudo cp /usr/src/linux-2.6.33.1/arch/i386/boot/bzImage /boot/vmlinuz-2.6.33.1-generic 
    #sudo cp System.map /boot/System.map-$version 
    #sudo ln -s /boot/System.map-$version /boot/System.map 
    15、 
    (1)修改grub配置文件 
    在终端输入:sudo update-grub2,就会把刚才编译的内核加入了Grub;(此时就可以重启了,重启后在Grub启动项里多了Ubuntu, Linux 2.6.33.1-generic) 
    若还需修改(在Ubuntu10.04中没有采用menu.lst,而是用的grub.cfg(/boot/grub/)),则修改grub.cfg就可以了,
    在终端中输入:sudo gedit /boot/grub/grub.cfg    用root账户进入grub.cfg并编辑 
    (或用sudo chmod +w /boot/grub/grub.cfg改变grub.cfg的权限后在进行编辑) 
    如将Grub中的menuentry "Ubuntu, Linux 2.6.33.1-generic"{...}修改为menuentry "Ubuntu, Linux 2.6.33.1-huangcheng"{...}(Linux 2.6.33.1-generic是我们刚才编译的内核) 
    (2)修改default变量 
    在/boot/grub/grub.cfg中,设置set default="【某个数字】"(设置Grub启动项里的默认启动项) 
    在Grub启动项里,从0数起,我的XP在第10项,所以set default="10",即XP就是默认的启动项了。 
    最后重启一切都OK了!
  • 相关阅读:
    Redis的各种用途以及使用场景【转】
    Cron表达式
    容器绑固定物理核
    【转】Kubernetes和Docker到底有啥关系?
    memtier_benchmark安装
    压测工具
    Linux下traceroute的安装和使用
    计算机科学自学指南
    配置服务器SSH PAM防止暴力破解
    How to Enable or Disable Check for Windows Updates/Check For Updates Greyed Out
  • 原文地址:https://www.cnblogs.com/wangfengju/p/6173066.html
Copyright © 2011-2022 走看看