理解Linux内核注释
内核是Linux的心脏,它是在引导时装入的程序,用来提供用户层程序和硬件之间的接口,执行发生在多任务系统中的实际任务转换,处理读写磁盘的需求,处理网络接口,以及管理内存。一般情况下,自动安装的内核无需任何改动就可以在机器上运行,但若要为新的设备添加支持程序或削减内核支持的设备列表,以降低内存需求,则需要配置内核。
通常,内核源代码树以一个名为linux-X.X.XX.tar.gz的文件出现,X.X.XX为内核的版本号。内核的版本号分为三部分(以2.0.35为例):
1、主版本号:此内核是2。它表明对内核的重大改进,很少改变。
2、次版本号:此内核是0。它表明内核的稳定性。偶数号(如0、2、4等)的内核是稳定的产品版本。而奇数号(如1、3、5等)的内核是处于开发过程中的内核,一般包含着最近开发的试验性代码,它不太稳定,有时可能包含着致命的错误。
3、修订号:此内核是35。它表明这一发布版本的增补级。
下面我们来看看如何升级内核(以2.0.35版为例)
1、获取源代码树
linux-2.0.35.tar.gz。
2、解开内核
cd /usr/src/ (进入到目录 /usr/src/)
rm -rf /usr/src/linux (将旧的内核源代码删除,也可以将其移走)
cp linux-2.0.35.tar.gz /usr/src/ (将新的内核文件拷贝到刚才的目录)
tar xzf linux-2.0.35.tar.gz (将内核文件解压缩,产生新目录/usr/src/linux)
3、创建符号链接
cd /usr/include (进入到目录 /usr/include)
rm -rf linux asm scsi (删除所有的老的头文件)
ln -s /usr/src/linux/include/linux linux ln -s /usr/src/linux/include/asm-i386 asm ln -s /usr/src/linux/include/scsi scsi (创建符号链接将你的系统指向包含有新内核代码的新的头文件)
cd /usr/src/linux (进入目录 /usr/src/linux)
make mrproper (清除任何将引起问题的附加额外的源代码)
4、配置内核
cd /usr/src/linux (进入目录 /usr/src/linux)
make menuconfig (用菜单形式配置内核。根据自己的要求,配置内核,不确定的用缺省配置。另有make config----文本界面,make xconfig----图形界面命令可选。此外注意保存配置)
5、创建内核(在目录 /usr/src/linux下)
make dep (此命令用来分析内核的配置并创建相应的相关树,决定那些内容该编译,那些内容不该编译)
make clean (此命令用来清楚所有以前编译的痕迹)
make zImage (编译内核,如果内核较大,用make bzImage)
make modules (编译模块)
make modules_install (安装模块)
cp /usr/src/linux/arch/i386/boot/zImage /boot/zImage (将zImage拷贝到/boot)
6、把新内核放入lilo
vi /etc/lilo.conf (用vi编辑/etc/lilo.conf)
写清/image=/boot/zImage 保存退出。
lilo (执行lilo命令)
7、起用新内核
注意,以上工作需以root身份完成。
理解Linux内核注释的更多相关文章
- 读书笔记之Linux系统编程与深入理解Linux内核
前言 本人再看深入理解Linux内核的时候发现比较难懂,看了Linux系统编程一说后,觉得Linux系统编程还是简单易懂些,并且两本书都是讲Linux比较底层的东西,只不过侧重点不同,本文就以Linu ...
- 【读书笔记::深入理解linux内核】内存寻址【转】
转自:http://www.cnblogs.com/likeyiyy/p/3837272.html 我对linux高端内存的错误理解都是从这篇文章得来的,这篇文章里讲的 物理地址 = 逻辑地址 – 0 ...
- 【读书笔记::深入理解linux内核】内存寻址
我对linux高端内存的错误理解都是从这篇文章得来的,这篇文章里讲的 物理地址 = 逻辑地址 – 0xC0000000:这是内核地址空间的地址转换关系. 这句话瞬间让我惊呆了,根据我的CPU的知识,开 ...
- 《深入理解Linux内核》 读书笔记
深入理解Linux内核 读书笔记 一.概论 操作系统基本概念 多用户系统 允许多个用户登录系统,不同用户之间的有私有的空间 用户和组 每个用于属于一个组,组的权限和其他人的权限,和拥有者的权限不一样. ...
- 理解Linux内核之中断控制
乍一看下边的Linux内核代码,貌似L3389有bug,于是我就绕有兴趣地阅读了一下local_irq_save/local_irq_restore的源代码. /* linux-4.14.12/mm/ ...
- 通过分析exevc系统调用处理过程来理解Linux内核如何装载和启动一个可执行程序
前言说明 本篇为网易云课堂Linux内核分析课程的第七周作业,本次作业我们将具体来分析exec*函数对应的系统调用处理过程,来分析Linux内核如何来执行一个可执行程序,由于有一个在网易云课堂共同学习 ...
- Linux内存管理(深入理解Linux内核)
Linux的内存管理,实际上是借助80x86的硬件分段和分页电路,将逻辑地址转化为物理地址的. 物理内存中,有一部分是一直(Permanently)映射给内核使用的,这部分主要用于保存内核的代码,以及 ...
- 【深入理解Linux内核架构】第3章:内存管理
3.1 概述 内存管理涵盖了许多领域: 内存中物理内存页的管理: 分配大块内存的伙伴系统: 分配小块内存的slab.slub.slob分配器: 分配非连续内存块的vmalloc机制: 进程的地址空间. ...
- 深入理解Linux内核 学习笔记(1)
1.用户和用户组 每个用户是一个或多个用户组的一名成员,组由唯一的用户组标识符(user group ID)标识.每个文件的相关权限也恰好与一个组相对应. root为超级用户, 2.模块 为了达到微内 ...
随机推荐
- opencv3.3 基础:Mat类里setTo函数
Mat& setTo(InputArray value, InputArray mask=noArray()); 说明: 1.功能:把矩阵mask中元素不为0的点全部变为value值: 2.当 ...
- SSH通道 Xshell
SSH是每一台Linux电脑的标准配置. SSH是一种网络协议,用于计算机之间的加密登录(安全的). 1. 登录远程主机 $ ssh user@host 2. SSH的默认端口是22, ...
- MySQL数据库 | 数据库和数据表的基本操作
第一篇博文,一个小小的纪念仪式^-^ 以下正文 一.数据库的基本操作 --数据库的操作 --连接数据库 mysql -uroot -p密码 mysql -uroot -pmysql --退出数据库 e ...
- 只要没有给String[]数组new 空间,那么他就只是一个引用
public class Test1 { @Test public void test(){ String[] values = {"good", "morning&qu ...
- Python的深拷贝、浅拷贝
浅拷贝 定义:浅拷贝只是对另外一个变量的内存地址的拷贝,这两个变量指向同一个内存地址的变量值. 浅拷贝的特点: 公用一个值: 这两个变量的内存地址一样: 对其中一个变量的值改变,另外一个变量的值也会改 ...
- 新手学习PHP的避雷针,这些坑在PHP开发中就别跳了
不要!用记事本编辑php文件 早些年能用记事本编程是一些人自我吹嘘的资本,能用记事本编程就是牛逼的代名词.但是这里要告诫大家的是,千万不要使用Windows自带的记事本编辑任何文本文件.用Window ...
- 理解javaBean
1:什么是JavaBean 组件?使用JavaBean 组件有什么优点?答案:现在软件开发都已经转向了基于组件的开发,目前具备代表性的组件技术有微软的COM.COM+,有Sun 的JavaBean 和 ...
- 【转载】Spring MVC入门
转自:http://www.importnew.com/15141.html MVC框架是什么 模型-视图-控制器(MVC)是一个众所周知的以设计界面应用程序为基础的设计模式.它主要通过分离模型.视图 ...
- docker容器 - 导入容器、导出容器、查看容器
实验环境 CentOS 7.5 容器 容器是镜像的运行实例.不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层:同时,容器中的应用进程处于运行状态. 导入和导出容器 实现容器的迁移. 导 ...
- 能使Oracle索引失效的七大限制条件
Oracle 索引的目标是避免全表扫描,提高查询效率,但有些时候却适得其反. 例如一张表中有上百万条数据,对某个字段加了索引,但是查询时性能并没有什么提高,这可能是 oracle 索引失效造成的.or ...