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
- 安装内核模块到 /lib/modules 下
make modules_install
- 安装内核二进制映像, 生成并安装boot初始化文件系统映像文件
make install
- vim /etc/grub.conf后看到如下图所示即可;
- 以下参数配置根据安装的linux系统不同可选配置
为新内核创建一个ramdisk,否则系统不能引导;
mkinitrd /boot/initramfs-2.6.18.img 2.6.18
启动效果图:
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内核系列(一)编译安装Linux内核 2.6.18的更多相关文章
- 编译安装linux内核步骤
编译安装linux内核步骤: 一.获取内核源码 源码网址:www.kernel.org 二.解压内核源码 首先以root帐号登录,然后进入/usr/src子目录.如果用户在安装Linux时,安装了内核 ...
- 使用autotools工具用configure、make、make install编译安装linux工程的详细步骤
使用autotools工具用configure.make.make install编译安装linux工程的详细步骤 转载tmxkwzy 最后发布于2016-11-24 10:20:15 阅读数 324 ...
- Linux下指定版本编译安装LAMP
说明: 操作系统:CentOS 6.5 64位 需求: 编译安装LAMP运行环境 各软件版本如下: MySQL:mysql-5.1.73 Apache:httpd-2.2.31 PHP:php-5.2 ...
- Ubuntu 下编译安装linux
1. 准备工作切换为管理员权限,sudo –i 输入用户密码 进入root 权限apt-get install build-essential kernel-package libncurses5-d ...
- Linux 从源码编译安装 OpenSSH
https://blog.csdn.net/bytxl/article/details/46639073 Linux 从源码编译安装 OpenSSH以及各问题解决 2015年06月25日 17:37: ...
- 【转载】Linux升级NTPD服务器-编译安装ntp-4.2.8p12与配置
[转载]Linux升级NTPD服务器-编译安装ntp-4.2.8p12与配置 1. 系统与软件版本 1.1 系统版本 rhel6.4(Red Hat Enterprise Linux Server r ...
- PCL库在Linux环境下的编译安装
PCL库在Linux环境下的编译安装 PCL库的源码库:https://github.com/PointCloudLibrary/pcl 下载完了之后解压下来 编译库的几个步骤 mkdir build ...
- 加密通信软件Signal 2.92版本编译安装折腾手记(Ubuntu 18.04)
加密通信软件Signal 2.92版本编译安装折腾手记(Ubuntu 18.04) 前言 加密通信软件Signal是开源的,安全性很高,号称斯诺登也推荐大家使用.既然这么好,那必然会有不少人去尝试复制 ...
- linux如何编译安装新内核支持NTFS文件系统?(以redhat7.2x64为例)
内核,是一个操作系统的核心.它负责管理系统的进程.内存.设备驱动程序.文件和网络系统,决定着系统的性能和稳定性.Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新.新的内核修订了旧内核 ...
随机推荐
- eclipse中使用jython
通过maven配置加载这个包,目前比较稳定的是python2.7的,见 <dependency> <groupId>org.python</groupId> < ...
- ios字符串操作
string的操作应用 NSRange range = [self.general rangeOfString:@"."]; NSString *str = [self.gener ...
- componentsJoinedByString 和 componentsSeparatedByString 的方法的区别
将string字符串转换为array数组 NSArray *array = [Str componentsSeparatedByString:@","]; 将array数组转换为 ...
- 纯JavaScript实现一些小功能
题目链接:http://wenku.baidu.com/link?url=7Gbarr5q9X6h1QFRVAsHmfPp1xXagG209mvrJqBogseb4WLeRqbVKwxQieoh8SL ...
- ExtJS4.2学习(17)表单基本输入控件Ext.form.Field(转)
鸣谢:http://www.shuyangyang.com.cn/jishuliangongfang/qianduanjishu/2013-12-11/189.html --------------- ...
- [转载]MongoDB学习(二):数据类型和基本概念
数据类型 基本数据类型 MongoDB的文件存储格式为BSON,同JSON一样支持往其它文档对象和数组中再插入文档对象和数组,同时扩展了JSON的数据类型.与数据库打交道的那些应用.例如,JSON没有 ...
- IndexReader和IndexWriter的生命周期
http://youyang-java.iteye.com/blog/1731205 对于IndexReader而言,反复使用 IndexReader .open打开会有很大的开销,所以一般在整个程序 ...
- easyui表单提交,后台获取不到值
J2ee开发,使用easyui表单提交,在ie中可以正常将参数传递到后台,但使用firefox,chrome都无法将easyui的combobox值传递到后台,使用alert($('#form').s ...
- [cocos2dx 3.x]Label类数字变化动作
之前写了个2.14版本的动作变化,见 http://www.cnblogs.com/creeper/p/3531304.html 3.x版本变化了很多,但是核心思想还是没有变化,所以对应3.x版本的改 ...
- C++中为什么要用虚函数、指针或引用才能实现多态?
原文链接:http://blog.csdn.net/zoopang/article/details/14071779 学过C++的都知道,要实现C++的多态性必须要用到虚函数,并且还要使用引用或者指针 ...