zoukankan      html  css  js  c++  java
  • linux内核系列(一)编译安装Linux内核 2.6.18

    1、配置环境

    操作系统:CentOS 5.2

    下载linux-2.6.18版本的内核,网址:http://www.kernel.org

    说明:该编译文档适合2.6.18以上的Linux内核版本,只需所编译的 Linux内核版本不能低于Linux操作系统自身的内核版本,不然会遇到很多问题;

    2、开始编译

      • cp  ./ linux-2.6.18.tar.gz  /usr/src/
      • tar –zxvf ./linux-2.6.18.tar.gz
      • cd /usr/src/linux-2.6.18
      • //会删除所有的编译生成文件第一次编译时执行
      • make mrproper
      • // 使用本系统内核配置文件(简化配置编译)
      • cp /boot/config-* ./.config
      • make –j8 all
    • 说明:-j8中的8为线程数目(加快编译速度)
    • 内核配置命令

    make menuconfig(这个比较常用)
    或 make xconfig:图形化配置, 需要qt3
    或 make oldconfig:将已有的 .config 放到源码根目录下后执行, 目的是为了复用之前的内核编译选项的配置;
    或 make config

    image

      • 安装内核模块到 /lib/modules 下

            make modules_install

      • 安装内核二进制映像, 生成并安装boot初始化文件系统映像文件

            make install

    • vim /etc/grub.conf后看到如下图所示即可;

    image

    • 以下参数配置根据安装的linux系统不同可选配置

    为新内核创建一个ramdisk,否则系统不能引导;

    mkinitrd /boot/initramfs-2.6.18.img 2.6.18

    启动效果图:

    image

    3、编译中问题总结

    • 提示:Error  not define PATH_MAX...
      解决办法:(编辑) vi /user/src/linux-2.6.18/scripts/mod/sumversion.c文件,添加头文件#include <limits.h>重新编译即可;

    • 错误提示:/user/bin/ld: cannot find –lc
      Collect2: ld returned 1 exit status

    解决办法:yum install glibc-static
    http://www.360doc.com/content/13/1117/19/9206388_330036790.shtml

    • 在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] Error 1make: *** [menuconfig] Error 2

      解决方法:
      用yum install ncursesyum install ncurses-devel解决
  • 相关阅读:
    Linux的命令2
    运维书
    管理MariaDB
    MariaDB基础命令
    Linux创建桥接网络
    聚合网络
    kickstart
    VLAN原理
    进程优先和ACL
    计划任务at、crontab
  • 原文地址:https://www.cnblogs.com/jianyuan/p/4032263.html
Copyright © 2011-2022 走看看