首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Initramfs_正在生成initramfs

一、initramfs是什么 在2.6版本的linux内核中,都包含一个压缩过的cpio格式的打包文件。当内核启动时,会从这个打包文件中导出文件到内核的rootfs文件系统,然后内核检查rootfs中是否包含有init文件,如果有则执行它,作为PID为1的第一个进程。这个init进程负责启动系统后续的工作,包括定位、挂载“真正的”根文件系统设备(如果有的话)。如果内核没有在rootfs中找到init文件,则内核会按以前版本的方式定位、挂载根分区,然后执行 /sbin/init程序完成系统的后续初始化工作。 这个压缩过的cpio格式的打包文件就是initramfs。编译2.6版本的linux内核时,编译系统总会创建initramfs,然后把它与编译好的内核连接在一起。内核源代码树中的usr目录就是专门用于构建内核中的initramfs的,其中的initramfs_data.cpio.gz文件就是initramfs。缺省情况下,initramfs是空的,X86架构下的文件大小是134个字节。

02

linux内核升级图文攻略 转

一、Linux内核概览 Linux是一个一体化内核(monolithic kernel)系统。 设备驱动程序可以完全访问硬件。 Linux内的设备驱动程序可以方便地以模块化(modularize)的形式设置,并在系统运行期间可直接装载或卸载。 1. linux内核 linux操作系统是一个用来和硬件打交道并为用户程序提供一个有限服务集的低级支撑软件。 一个计算机系统是一个硬件和软件的共生体,它们互相依赖,不可分割。 计算机的硬件,含有外围设备、处理器、内存、硬盘和其他的电子设备组成计算机的发动机。 但是没有软件来操作和控制它,自身是不能工作的。 完成这个控制工作的软件就称为操作系统,在Linux的术语中被称为“内核”,也可以称为“核心”。 Linux内核的主要模块(或组件)分以下几个部分: . 进程管理(process management)  . 定时器(timer) . 中断管理(interrupt management) . 内存管理(memory management) . 模块管理(module management) . 虚拟文件系统接口(VFS layer) . 文件系统(file system) . 设备驱动程序(device driver) . 进程间通信(inter-process communication) . 网络管理(network management . 系统启动(system init)等操作系统功能的实现。 2. linux内核版本号 Linux内核使用三种不同的版本编号方式。 . 第一种方式用于1.0版本之前(包括1.0)。   第一个版本是0.01,紧接着是0.02、0.03、0.10、0.11、0.12、0.95、0.96、0.97、0.98、0.99和之后的1.0。 . 第二种方式用于1.0之后到2.6,数字由三部分“A.B.C”,A代表主版本号,B代表次主版本号,C代表较小的末版本号。   只有在内核发生很大变化时(历史上只发生过两次,1994年的1.0,1996年的2.0),A才变化。   可以通过数字B来判断Linux是否稳定,偶数的B代表稳定版,奇数的B代表开发版。C代表一些bug修复,安全更新,新特性和驱动的次数。   以版本2.4.0为例,2代表主版本号,4代表次版本号,0代表改动较小的末版本号。   在版本号中,序号的第二位为偶数的版本表明这是一个可以使用的稳定版本,如2.2.5;   而序号的第二位为奇数的版本一般有一些新的东西加入,是个不一定很稳定的测试版本,如2.3.1。   这样稳定版本来源于上一个测试版升级版本号,而一个稳定版本发展到完全成熟后就不再发展。 . 第三种方式从2004年2.6.0版本开始,使用一种“time-based”的方式。   3.0版本之前,是一种“A.B.C.D”的格式。   七年里,前两个数字A.B即“2.6”保持不变,C随着新版本的发布而增加,D代表一些bug修复,安全更新,添加新特性和驱动的次数。   3.0版本之后是“A.B.C”格式,B随着新版本的发布而增加,C代表一些bug修复,安全更新,新特性和驱动的次数。   第三种方式中不使用偶数代表稳定版,奇数代表开发版这样的命名方式。   举个例子:3.7.0代表的不是开发版,而是稳定版! linux内核升级时间图谱如下:

05

linux inotify-tools 安装

安装inotify工具inotify-tools 由于inotify特性需要Linux内核的支持,在安装inotify-tools前要先确认Linux系统内核是否达到了2.6.13以上,如果Linux内核低于2.6.13版本,就需要重新编译内核加入inotify的支持,也可以用如下方法判断,内核是否支持inotify: [root@localhost webdata]# uname -r 2.6.18-164.11.1.el5PAE [root@localhost webdata]# ll /proc/sys/fs/inotify 总计 0 -rw-r--r-- 1 root root 0 04-13 19:56 max_queued_events -rw-r--r-- 1 root root 0 04-13 19:56 max_user_instances -rw-r--r-- 1 root root 0 04-13 19:56 max_user_watches 如果有上面三项输出,表示系统已经默认支持inotify,接着就可以开始安装inotify-tools了。 可以到http://inotify-tools.sourceforge.net/下载相应的inotify-tools版本,然后开始编译安装: [root@localhost ~]# tar zxvf inotify-tools-3.14.tar.gz root@localhost ~]# cd inotify-tools-3.14 [root@localhost inotify-tools-3.14]# ./configure [root@localhost inotify-tools-3.14]# make [root@localhost inotify-tools-3.14]# make install [root@localhost inotify-tools-3.14]# ll /usr/local/bin/inotifywa* -rwxr-xr-x 1 root root 37264 04-14 13:42 /usr/local/bin/inotifywait -rwxr-xr-x 1 root root 35438 04-14 13:42 /usr/local/bin/inotifywatch inotify-tools安装完成后,会生成inotifywait和inotifywatch两个指令,其中,inotifywait用于等待文件或文件集上的一个特定事件,它可以监控任何文件和目录设置,并且可以递归地监控整个目录树。 inotifywatch用于收集被监控的文件系统统计数据,包括每个inotify事件发生多少次等信息。

04
领券