`

Linux Ram disk and initrd

阅读更多
转自:http://apps.hi.baidu.com/share/detail/14765588
      Initial RAM disk(initrd)

       RAM disk是存在于内存中的虚拟磁盘,也就是将RAM拿来当成磁盘使用。在Embedded Linux的应用中,我们通常会将ramdisk当成暂存目录来使用。例如将/dev/ram1附挂到/tmp目录,以便能让应用程序存放暂时性档案。 /dev/ram?为ramdisk的device file。由于整个root filesystem是从真正的储存装置读取并加载至ramdisk,因此有1个重要的特性是对file system所做的任何修改,都不会影响到真正root filesystem的内容。

         initrd全名为initialize RAM disk,是1个特殊的RAM disk。bootloader会将initrd载至内存,Linux kernel则可在/dev/ram0找到initrd。initrd会在Linux kernel开机前就加载,initrd正式的用途是用来存放开机时所需要的驱动程序(因root filesystem尚未mount进来)。在Embedded Linux应用上,我们会利用initrd来存放整个档案系统(root filesystem),也就是将root filesystem制作成ext2或romfs格式(或其它档案系统)的映像文件,并在开机时由bootloader加载内存,initrd均位于 /dev/ram0。要使用RAM disk与initrd,必须将Linux kernel的CONFIG_BLK_DEV_RAM以及CONFIG_BLK_DEV_INITRD)。

       使用initrd做为root filesystem装置

       将initial RAM disk当成root filesystem来使用,是在Embedded Linux应用上是相当常见的技巧,如果我们想将initial RAM disk当成存放root filesystem的装置来使用,在开机时,只需要配合root=的kernel开机参数即可。

        initramfs

        Linus本人在Linux 2.6时代所提出的 "initramfs" ,是1种更好的 "root=" 做法。简单来说,initramfs就是kernel 2.6 的 initrd,initramfs是属于1种compressed ramfs(ram filesystem)的映像档。

        C链接库

       在C链接库方面,除了标准的glibc也被广泛应用在嵌入式系统领域外,也有一些专门针对嵌入式系统应用所发展的C链接库,像是uClibc以及Diet libc。但是由于现在的ARM9处理器计算效能都很快,平台也多搭载大容量NAND闪存,所以许多实作都直接使用libc来实作root filesystem。
分享到:
评论

相关推荐

    Linux initial RAM disk (initrd) overview

    Linux initial RAM disk (initrd) overview

    Linux中的RAMDISK和INITRD

     先简单介绍一下ramdisk,Ramdisk是虚拟于RAM中的盘(Disk)。对于用户来说,能把RAM disk和通常的硬盘分区(如/dev/hda1)同等对待来使用,例如: redice # mkfs.ext2 /dev/ram0 mke2fs 1.38 (30-Jun-2005) ...

    一种实现嵌入式Linux系统新方法 (1)

    在Linux操作系统中,有一项特殊的功能——初始化内存盘INITRD(INITial Ram Disk)技术,而且内核支持压缩的文件系统映像。有了这两项功能,我们可以让Linux系统从小的初始化内存盘启动,并把系统内存的一部分作为根...

    linux详细目录架构

    /boot/initrd 核心解壓縮所需 RAM Disk /dev 系统周边设备 /etc 系统相关设定文件 /etc/DIR_COLORS 设定颜色 /etc/HOSTNAME 设定用户的节点名 /etc/NETWORKING 只有YES标明网络存在 /etc/host.conf 文件...

    一种实现嵌入式Linux的新方法-ramdisk

    一种实现嵌入式Linux的新方法...引言 在Linux操作系统中,有一项特殊的功能——初始化内存盘INITRD(INITial Ram Disk)技术,而且内核支持压缩的文件系统映像。有了这两项功能,我们可以让Linux系统从小的初始化内存盘

    linux常用命令

    /boot/initrd 核心解壓縮所需 RAM Disk /dev 系统周边设备 /etc 系统相关设定文件 /etc/DIR_COLORS 设定颜色 /etc/HOSTNAME 设定用户的节点名 /etc/NETWORKING 只有YES标明网络存在 /etc/host.conf 文件说明...

    Linux基础学习命令详解

    linux目录架构 / 根目录 /bin 常用的命令 binary file 的目录 /boot 存放系统启动时必须读取的档案,包括核心 (kernel) 在内 .../boot/initrd 核心解压缩所需 RAM Disk /dev 系统周边设备 /etc 系统相关设定文件

    qemu-0.13.0(编译过全处理器支持)

    -initrd file use 'file' as initial ram disk Debug/Expert options: -serial dev redirect the serial port to char device 'dev' -parallel dev redirect the parallel port to char device 'dev' -monitor dev ...

    嵌入式系统/ARM技术中的一种实现嵌入式Linux的新方法-ramdisk

     在Linux操作系统中,有一项特殊的功能——初始化内存盘INITRD(INITial Ram  Disk)技术,而且内核支持压缩的文件系统映像。有了这两项功能,我们可以让Linux系统从小的初始化内存盘启动,并把系统内存的一部分...

    Qemu-1.0.1 for windows

    string1 sets the window title and string2 the process name (on Linux) -uuid x-x-x-x-2x specify machine UUID Display options: -display sdl[,frame=on|off][,alt_grab=on|off][,ctrl_grab=on|off] [,...

    YUMI – Multiboot USB Creator (Windows)

    一个可以制作usb启动盘的工具,非常好用,可以直接把很多的linux live 光盘直接制作在usb上启动。目前支持下列系统: — Debian Live 32/64 Bit — Debian Live 7 Gnome 32bit ...Try an Unlisted ISO (Run from RAM)

    LINUIX的一些笔记(绝对实用)

    linux目录架构 / 根目录 /bin 常用的命令 binary file 的目錄 /boot 存放系统启动时必须读取的档案,包括核心 (kernel) 在内 ... /boot/initrd 核心解壓縮所需 RAM Disk /dev 系统周边设备 /etc 系统相关设定文件

    SimIt-ARM-3.0 ARM指令模拟器

    Kernel command line: console=ttySA0 mem=32m@0xC0000000 rw ramdisk_size=8192 initrd=0xC0800000,8m root=/dev/ram init=/bin/init Warning: uninitialized Real Time Clock Console: colour dummy device 80x30 ...

    linux目录架构

    RAM Disk /dev 系统周边设备 /etc 系统相关设定文件 /etc/DIR_COLORS 设定颜色 /etc/HOSTNAME 设定用户的节点名 /etc/NETWORKING 只有YES标明网络存在 /etc/host.conf 文件说明用户的...

Global site tag (gtag.js) - Google Analytics