initrd的参考文档可见:
1) Linux initial RAM disk (initrd) overview, http://www.ibm.com/developerworks/linux/library/l-initrd/index.html
2) NTTdocomo-openstack / baremetal-initrd-builder, https://github.com/NTTdocomo-openstack/baremetal-initrd-builder
2.1, nash指令(一个文件小,内置了一些实用的指令)
2,2 挂载主要的文件系统, 并建立设备文件所需的文件系统
mount -t proc /proc /proc
mount -t sysfs /sys /sys
2.2.1,procfs映射着内存中的一个虚拟目录,用于提供硬件、进程的实时信息,会随时变动。linux为保证稳定性,不允许访问/proc下的文件,root用户也不例外。
2.2.2, sysfs也映射着内存中的一个虚拟目录,用于硬件信息的分类, sys目录的每一个文件都只有一个字符为内容来做开关的。
2.2.3, tmpfs也映射着内存中的一个虚拟目录,内存中的文件系统。想要速度快时,可以选择在内存建立tmpfs类型的文件系统,因为它都将建在内存中。
例如在内存中建立了一个tmpfs分区并挂载到/mnt/tmpfs目录 :mount -t tmpfs -o size=50M tmpfs /mnt/tmpfs/
[root@zhanghua proc]# df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 50M 0 50M 0% /mnt/tmpfs
2.2.4, /dev/shm,它是tmpfs的一种变种,tmpfs所有的内容所放在内存中,而/dev/shm在内存与文件系统有个映射,硬盘和内存中都会有这内容。
速度快,能存大于内存的文件,但重启之后,内容会消失。
下面显示在/dev/shm中建立文件与在普通ext4文件系统建文件的速度比较:
[root@zhanghua proc]# time dd if=/dev/zero of=/dev/shm/test.file bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 0.0395221 s, 2.7 GB/s
real 0m0.075s
user 0m0.001s
sys 0m0.041s
[root@zhanghua proc]# time dd if=/dev/zero of=/bak/test.file bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 0.0647526 s, 1.6 GB/s