Linux内核知识
版本
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内核知识的更多相关文章
- Linux内核知识杂记
1.内核调试手段 1.printk打印内核状态 2.产生opps时使用GDB查看调用栈 2.内核空间和用户空间区别,通信方式有哪些? Linux简化了分段机制,使得虚拟地址与线性地址总是一致,因此,L ...
- linux 内核知识参考
内存映像 kcore:http://blog.csdn.net/dog250/article/details/5303663 elf文件 :http://www.cnblogs.com/xmphoen ...
- Linux内核源码分析 day01——内存寻址
前言 Linux内核源码分析 Antz系统编写已经开始了内核部分了,在编写时同时也参考学习一点Linux内核知识. 自制Antz操作系统 一个自制的操作系统,Antz .半图形化半命令式系统,同时嵌入 ...
- 结合中断上下文切换和进程上下文切换分析Linux内核的一般执行过程
结合中断上下文切换和进程上下文切换分析Linux内核的一般执行过程 目录 结合中断上下文切换和进程上下文切换分析Linux内核的一般执行过程 一. 实验准备 二. 实验过程 I 分析中断上下文的切换 ...
- Linux 小知识翻译 - 「如何成为 Linux 内核开发者」
新年的开始,聊聊「怎么做才能成为Linux内核开发者」. Linux内核的开发都是由志愿开发者们完成的.他们并不属于某些特定的企业. 因此,你也有参加Linux内核开发的资格.不用说,卓越的编码技术以 ...
- 跟踪分析Linux内核的启动过程--实验报告 分析 及知识重点
跟踪分析Linux内核的启动过程 攥写人:杨光 学号:20135233 ( *原创作品转载请注明出处*) ( 学习课程:<Linux内核分析>MOOC课程http://mooc.stud ...
- linux内核(一)基础知识
1,linux内核的基础知识 1.1 linux内核版本 从内核源码顶层目录Makefile中可以看到: VERSION和PATCHLEVEL组成主版本号,比如2.4.2.5.2.6等,稳定版本的德主 ...
- Linux 内核预备知识:浅析 offsetof 宏以及新手的所思所想
最近一头扎进了 Linux 内核的学习中,对于我这样一个没什么 C 语言基础的新生代 Java 农民工来说实在太痛苦了.Linux 内核的学习,需要的基础知识太多太多了:C 语言.汇编语言.数据结构与 ...
- 羽夏看Linux内核——段相关入门知识
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.如有好的建议,欢迎反馈.码字不易,如果本篇文章有帮助你的,如有闲钱,可以打赏支持我的创作.如想转载,请把我的转载信息附在文章后面,并 ...
随机推荐
- ASP怎么解除文件上传200kb限制
第一步:修改IIS设置,允许直接编辑配置数据库.打开,Internet信息服务第二步:先在服务里关闭iis admin service服务,找到windows\system32\inetsrv\下的m ...
- Hadoop-2.6.0 + Zookeeper-3.4.6 + HBase-0.98.9-hadoop2环境搭建示例
1 基本信息 1.1 软件信息 hadoop-2.6.0 zookeeper-3.4.6 hbase-0.98.9-hadoop2 (以下示例中使用的操作系统是Centos 6.5,请将 ...
- J2EE Web开发入门—通过action是以传统方式返回JSON数据
关键字:maven.m2eclipse.JSON.Struts2.Log4j2.tomcat.jdk7.Config Browser Plugin Created by Bob 20131031 l ...
- InteliJ IDEA15 安装jrebel破解文件
使用InteliJ IDEA这个工具感觉比eclipse好用,例如它在没有源码的情况下自动反编译源码等,但是在使用的时,有个很不爽的地方就是不能实时编译,导致java代码更改了一点代码就需要重启项目, ...
- 奇怪吸引子---Thomas
奇怪吸引子是混沌学的重要组成理论,用于演化过程的终极状态,具有如下特征:终极性.稳定性.吸引性.吸引子是一个数学概念,描写运动的收敛类型.它是指这样的一个集合,当时间趋于无穷大时,在任何一个有界集上出 ...
- java产生随机数的几种方式
java产生随机数的几种方式 一.在j2se里我们可以使用Math.random()方法来产生一个随机数,这个产生的随机数是0-1之间的一个double,我们可以把他乘以一定的数,比如说乘以100,他 ...
- 使用Eclipse进行远程调试【转】
今天决定做件有意义的事,写篇图文并茂的blog,为什么要图文并茂?因为很多事可能用语言也说不明白,从以前我发表的一篇文章可以看得出来,http://blog.csdn.net/sunyujia/arc ...
- linux(以ubuntu为例)下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件
原创,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4555328.html 之前写过一篇<windows下Android利用ant自动编译.修改配置文件.批量 ...
- CREATE A LOADING SCENE / SPLASH SCREEN - UNITY
In the first scene or maybe the Main Menu scene of your game Create an Empty Gameobject. Call it wha ...
- 专访Linux嵌入式开发韦东山操作系统图书作者--转
CSDN学院讲师韦东山:悦己之作,方能悦人 发表于2015-04-28 08:09| 6669次阅读| 来源CSDN| 24 条评论| 作者夏梦竹 专访Linux嵌入式开发韦东山操作系统图书作者 摘要 ...