版本

linus树

Linux内核最初创始人--Linus Torvalds管理一个Linus树,linus树也称为主线(mainline)。一般指的upstream,“上游”,也指这个linus树或者各种开发树。

linus树是以2.6.x这样的三个数字来表示。比如Linux 2.6.18-164.el5xen 的linus树中的内核版本就是2.6.18

stable树

这个是针对某个具体的内核版本进行bug修复,使其更加稳定的树。这个树的版本号是在linus树的版本号后加一个数字。比如Linux 2.6.18-164.el5xen 的linus树中的内核版本就是2.6.18,stable版本是164。

发布版内核

基于linus树或者stable树添加特有扩展和bug修改,以满足一些特定的用户的需求而发行的一些版本就叫做发行版。比如Fedora,Ubuntu,Centos等。

获取上游内核可以从http://www.kernel.org获取

如何对内核进行编译

1 获取源代码

2 设置

3 编译

4 根据发布版生成相应的源码包

5 安装内核印象和模块

 

比如ubuntu发布版必要的源码包是:

libncurses5-dev   基于控制台(文字界面)设置时需要

qt3-dev-tools  基于窗口(图形界面)设置时需要

g++ 基于窗口(图形界面)设置时需要

kernel-package

fakeroot

dpkg-dev

 

具体步骤

1 获取源码:

apt-get install linux-source

cp /usr/src/linux-source-XXXX.tar.bz2  /home/yejianfeng/

cd /home/yejianfeng

tar xjf linux-source-XXXX.tar.bz2

2 设置

cd  /home/yejianfeng/linux-source-XXXX

make menuconfig

exit -- 保存修改

(退出可以看到根目录下有个.config文件就是配置)

3 编译

make

11.18 --

4 安装内核

make modules_install

make install

遇到问题:

第二步 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.

***

解决方法:

http://ubuntuforums.org/showthread.php?t=1097968

apt-get install libncurses5-dev

内核模块

Linux内核是单内核(monolithic kernel),也就是所有的内核功能都集成在一个内核空间内。但是内核具有模块功能,可以将各个功能做成模块添加到内核空间中去。

内核模块是可以动态添加到Linux内核空间的,文件扩展名为ko

Linux内核知识的更多相关文章

  1. Linux内核知识杂记

    1.内核调试手段 1.printk打印内核状态 2.产生opps时使用GDB查看调用栈 2.内核空间和用户空间区别,通信方式有哪些? Linux简化了分段机制,使得虚拟地址与线性地址总是一致,因此,L ...

  2. linux 内核知识参考

    内存映像 kcore:http://blog.csdn.net/dog250/article/details/5303663 elf文件 :http://www.cnblogs.com/xmphoen ...

  3. Linux内核源码分析 day01——内存寻址

    前言 Linux内核源码分析 Antz系统编写已经开始了内核部分了,在编写时同时也参考学习一点Linux内核知识. 自制Antz操作系统 一个自制的操作系统,Antz .半图形化半命令式系统,同时嵌入 ...

  4. 结合中断上下文切换和进程上下文切换分析Linux内核的一般执行过程

    结合中断上下文切换和进程上下文切换分析Linux内核的一般执行过程 目录 结合中断上下文切换和进程上下文切换分析Linux内核的一般执行过程 一. 实验准备 二. 实验过程 I 分析中断上下文的切换 ...

  5. Linux 小知识翻译 - 「如何成为 Linux 内核开发者」

    新年的开始,聊聊「怎么做才能成为Linux内核开发者」. Linux内核的开发都是由志愿开发者们完成的.他们并不属于某些特定的企业. 因此,你也有参加Linux内核开发的资格.不用说,卓越的编码技术以 ...

  6. 跟踪分析Linux内核的启动过程--实验报告 分析 及知识重点

    跟踪分析Linux内核的启动过程 攥写人:杨光  学号:20135233 ( *原创作品转载请注明出处*) ( 学习课程:<Linux内核分析>MOOC课程http://mooc.stud ...

  7. linux内核(一)基础知识

    1,linux内核的基础知识 1.1 linux内核版本 从内核源码顶层目录Makefile中可以看到: VERSION和PATCHLEVEL组成主版本号,比如2.4.2.5.2.6等,稳定版本的德主 ...

  8. Linux 内核预备知识:浅析 offsetof 宏以及新手的所思所想

    最近一头扎进了 Linux 内核的学习中,对于我这样一个没什么 C 语言基础的新生代 Java 农民工来说实在太痛苦了.Linux 内核的学习,需要的基础知识太多太多了:C 语言.汇编语言.数据结构与 ...

  9. 羽夏看Linux内核——段相关入门知识

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图.如有好的建议,欢迎反馈.码字不易,如果本篇文章有帮助你的,如有闲钱,可以打赏支持我的创作.如想转载,请把我的转载信息附在文章后面,并 ...

随机推荐

  1. APK重签名总结

    keytool -genkey -alias aeo_android.keystore -keyalg RSA -validity 20000 -keystore aeo_android.keysto ...

  2. Skyline6.5系列覆盖三维地理信息产业上下游

    SkylineGlobe将于近日推出6.5 系列产品.该系列产品提供从产业链上游影像处理.中游二三维展示分析.下游具体业务应用等覆盖整个三维空间地理信息产业链的一体化.一站式产品与服务. Skylin ...

  3. 【转】android适配各种分辨率的问题

    http://blog.csdn.net/r8hzgemq/article/details/8243119   Android设备屏幕的尺寸是各式各样的,如小米是4英寸的,Xoom平板是10英寸:分辨 ...

  4. Console中加入招聘等个性化信息

    try { if (window.console && window.console.log) { console.log("%c XX息科技 ", "f ...

  5. spring mvc jsp运行不起来的问题

    spring mvc已经处理成让jsp运行,即: <bean class="org.springframework.web.servlet.view.InternalResourceV ...

  6. StringUtilsd的isEmpty、isNotEmpty、isBlank、isNotBlank

    1. public static boolean isEmpty(String str) 判断某字符串是否为空,为空的标准是 str==null 或 str.length()==0 下面是 Strin ...

  7. 优先队列求解Huffman编码 c++

    优先队列小析      优先队列的模板: template <class T, class Container = vector<T>,class Compare = less< ...

  8. SQL SERVER 移动系统数据库

    移动系统数据库在下列情况下可能很有用: 故障恢复.例如,数据库处于可疑模式下或因硬件故障而关闭. 计划的重定位. 为预定的磁盘维护操作而进行的重定位. 移动 Master 数据库     在“开始”菜 ...

  9. HighCharts官网更新了!(忠实粉的小声音)

    之前用HighCharts做统计分析,用到的大部分都是柱状图和饼图,可是在HighCharts主页却摆着一个曲线图的实例,虽然从曲线图上的标记可以找到对应的API项,但是总是可能有对应不上柱状图的时候 ...

  10. 10个你必须掌握的超酷VI命令技巧

    摘要:大部分Linux开发者对vi命令相当熟悉,可是遗憾的是,大部分开发者都只能掌握一些最常用的Linux vi命令,下面介绍的10个vi命令虽然很多不为人知,但是在实际应用中又能让你大大提高效率. ...