导航:首页 > 文件教程 > 制作ramdisk文件系统的步骤

制作ramdisk文件系统的步骤

发布时间:2022-12-23 02:47:04

Ⅰ ramdisk三种实现方式

Ramdisk/ramfs/tmpfs

Ramdisk:
大小固定,默认4096k。在编译内核的时候需将block device 中的Ramdisk支持选项加上。
如果对Ramdisk的支持已经编译进内核,可以如下方式使用:
查看可用的Ramdisk,使用 ls /dev/ram*
创建一个目录 mkdir /mnt/test
对/dev/ram0创建文件系统 mke2fs /dev/ram0
最后将创建的文件系统挂载到该目录下
mount /dev/ram /mnt/test

ramfs:
大小可以根据需要进行增加和减少。
处于虚拟文件系统层VFS,不像ramdisk基于虚拟在内存中的其他文件系统(ex2fs)。
如果对Ramdisk的支持已经编译进内核,可以如下方式使用:
创建目录,加载ramfs到该目录
mkdir /testRam
mount -t ramfs none /testRam
缺省的情况下,被限制为最多使用内存大小的一半
也可通过maxsize进行制定
eg:创建一个限定最大使用内存2M的ramfs
mount -t ramfs none /test Ram -o maxsize=2000

tmpfs:
不同于传统的用块设备block device来进行实现的Ramdisk,
也不同于针对物理内存的ramfs
tmpfs既可以使用物理内存,也可以使用交换分区。
大小不固定,可以根据需要进行增加或减少
使用tmpfs需要编译内核时选择
虚拟内存文件系统支持(Virtual memory filesystem support)”
加载tmpfs:
mkdir -p /mnt/tmpfs
mount tmpfs /mnt/tmpfs -t tmpfs
指定大小
mount tmpfs /mnt/tmpfs -t tmpfs -o size=32M

linux 根文件系统 什么时候使用ramdisk

开发环境:Fedora 9
交叉编译工具链:-linux-gcc 4.3.2 with EABI
嵌入式Linux内核版本:2.6.29.4-FriendlyARM。昨天写贴子的时候具体记不清了,今天起来启动开发板用uname -r查一下,就是叫做2.6.29.4-FriendlyARM,帖子已经改好了。本文就是友善之臂的2.6.29.4-FriendlyARM的那个版本的内核的基础上改的。其它版本的应该也类似,仅供参考。
开发板:mini2440-128M Nand Flash
Bootloader:u-boot-2009.11

具体步骤如下:
1.解压内核源码树
解压linux-2.6.29-mini2440-20090708.tgz到自己的工作目录,会生成一个友善之臂修改过的并且有几个mini2440默认配置文件的内核源码目录linux-2.6.29。具体步骤参照友善之臂mini2440开发板用户手册,具体不详述了。

2.修改内核配置选项
进入内核源码目录linux-2.6.29目录
#cp config_mini2440_t35 .config
#make menuconfig ARCH=arm
打开配置菜单,修改两个配置项,分别是:
a):General setup-->选择 Initial RAM filesystem and RAM disk...... 项
b):Device Drivers-->Block devices-->选择 RAM block device support 项

并检查Optimize for size是否被选中,如果没有则选中,此项优化内核大小,根据需要进行配置。
修改(8192)Default RAM disk size kbytes选项为(4096)Default RAM disk size kbytes,之所以修改是因为我之后制作的ramdisk是4096KB大小的。当然如果你想制作8192KB大小的ramdisk,这里就要对应为8192了,以此类推。但是最小系统嘛,是不用那么大的ramdisk的。此项的默认配置就是(4096),以前我改过这个配置,所以是(8192)了。如果这个大小和你做的ramdisk不匹配,则启动时仍然会出现kernel panic内核恐慌,提示ramdisk格式不正确,挂载不上ramdisk。
然后特别要注意的一点是,ramdisk是一种内存虚拟磁盘技术,实质上并不是一种文件系统,它使用的文件系统时ext2文件系统。所以一定要在make menuconfig ARCH=arm的时候进入File systems菜单,选上<*> Second extended fs support。以提供内核对ext2文件系统的支持。我以前添加过了ext2文件系统了,所以开始的时候在此没有说明,在此为了说明为什么有的人照着我的方法做了,但是仍然kernel panic,特别把这一步也加上。
然后保存配置退出。
这样就为内核添加好了ramdisk启动功能和ramdisk的驱动支持了。

3.修改内核启动参数
方法有二:
a):修改.config的第310行,修改CONFIG_CMDLINE=""的定义
修改为CONFIG_CMDLINE="initrd=0x31000000,0x200000 root=/dev/ram rw init=/linuxrc console=ttySAC0 mem=64M"
保存。
意思为从ramdisk启动,ramdisk压缩文件起始地址在内存地址0x31000000处,文件大小为0x200000。
此参数也可以在make menuconfig ARCH=arm时进入Boot options菜单,然后在Default kernel command string里修改。效果是一样的。
b):或者不修改.config的的第310行CMDLINE定义,而是用u-boot的bootargs环境变量来传递启动参数。
同样也是修改该环境变量为bootargs=initrd=0x31000000,0x200000 root=/dev/ram rw init=/linuxrc console=ttySAC0 mem=64M
并saveenv保存u-boot环境变量
以上a),b)的效果是一样的。

4.编译内核
#make zImage ARCH=arm CROSS_COMPILE=arm-linux-
然后是二十分钟左右的等待。
编译完成后在当前目录下就出现了zImage内核映像了。
好像友善之臂把内核源码目录里的uImage目标给注释了,以前在论坛里看到过有人说,直接make uImage好像提示没有uImage的目标。所以我就先制作zImage,然后再用u-boot的mkimage工具转化为uImage。其实uImage就是在zImage的开头部分增加了一个64字节的内核映像说明。

5.制作uImage内核映像
由于我使用的Bootloader是u-boot,所以要将zImage转化为uImage,方法如下:
#mkimage -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008000 -n "Linux kernel Image" -d zImage uImage-ramdisk
说明:mkimage工具是u-boot格式uImage内核映像制作工具。如果成功编译u-boot之后,它会在u-boot源码树下的tools目录之下。建议将其拷贝到宿主机的/sbin/目录下,以方便使用。mkimage使用时的具体参数不再详述,不清楚的请自己查阅。

6.制作ramdisk根文件系统
该过程是制作ramdisk根文件系统的核心步骤,方法如下:
a)创建根文件系统目录:
#cd转入到你的工作目录。
#mkdir rootfs
#cd rootfs
#mkdir bin dev etc lib proc sbin sys usr mnt tmp var
#mkdir usr/bin usr/lib usr/sbin lib/moles

b)创建最基本的设备文件:
#cd dev
#mknod -m 666 console c 5 1
#mknod -m 666 null c 1 3
#cd ..

c)安装/etc配置文件:
这里可以直接把友善之臂的root_qtopia里的几个基本的配置文件拷贝过来,只拷贝必要的即可,并对其内容进行删减,因为我做的ramdisk并不包含Qtopia等,全拷贝过来也没有用。
我是从网上找的最小系统的etc配置文件直接解压到我制作的根文件系统里了,并做参照友善之臂的root_qtopia添加了一些内容,见最后的说明。
操作如下:
#tar etc.tar.gz -C /xxx/rootfs
xxx表示你要制作的rootfs所在的目录。

d)编译内核模块:
方法是如下:
进入Linux内核源码目录(linux-2.6.29)
#make moles ARCH=arm CROSS_COMPILE=arm-linux-

e)安装内核模块:
#make moles_install ARCH=arm INSTALL_MOD_PATH=/xxx/rootfs
xxx表示你要制作的rootfs所在的目录。

f)配置busybox
进入busybox目录执行#make menuconfig
进入Busybox Settings -> build Options ->选中"Build busybox as a static binary“,即静态链接,免去拷贝大量的库文件。
Installation Options -> 选中"Don't use /usr",以免busybox不慎被安装到宿主机系统的相应目录下,破坏宿主机系统。
Busybox Installation Prefix (/xxx/rootfs),修改该选项表明编译后的busybox将安装到该位置。

g)编译、安装busybox
#make ARCH=arm CROSS_COMPILE=arm-linux-
几分钟编译完成后
#make install
安装到Busybox Installation Prefix (/xxx/rootfs)设定的目录里。当前为我要制作的根文件系统目录(/xxx/rootfs)。

Ⅲ 如何修改ramdisk文件系统

ramdisk 是一种基于内存抄的虚拟磁盘技术,采用ext2文件系统。ramdisk.gz是ramdisk文件再压缩后的格式。
查看ramdisk.gz根文件系统,或者对原有的文件系统进行修改,只需解压,再把获得的镜像文件挂载即可。
步骤如下:1)解压:转到ramdisk.gz所在文件夹
#gunzip ramdisk.gz
注意,解压后会得到ramdisk镜像文件,该镜像文件会把原有的ramdisk.gz覆盖,因此如果想保留ramdisk.gz复制到其他文件夹后再解压。
2)挂载#mkdir /mnt/loop
#mount –o loop ramdisk /mnt/loop //
挂载镜像到loop目录
#cd /mnt/loop
这里可以看到, 就是ramdisk.gz成功加载后的目录
3)修改文件系统的内容
比如设置固定的IP地址,MAC地址。
4)umount /mnt/loop卸载 /mnt/loop0.
5)重新压缩成.gz压缩文件
#gzip –v9 ramdisk//生成新的ramdisk.gz压缩文件

Ⅳ 如何制作和使用Jffs2文件系统

嵌入应用:如何制作和使用Jffs2文件系统 (zhuan)本文主要介绍如何在AT91SAM9261EK板子上制作和使用jffs2文件系统,使用的是linux-2.6.21内核。

首先配置MTD

$ make menuconfig
进入 Memory Technology Devices (MTD) --->
<*> Memory Technology Device (MTD) support
[*] Debugging
[*] MTD partitioning support
[*] Command line partition table parsing
[*] Direct char device access to MTD devices
[*] Caching block device access to MTD devices
RAM/ROM/Flash chip drivers ----->
<*> Detect non-CFI AMD/JEDEC-compatible flash chips
<*> Support for AMD/Fujitsu flash chips
Mapping drivers for chip access --->
[*] Support non-linear mappings of flash chips
Self-contained MTD device drivers --->
[*] Support for AT45... DataFlash
NAND Flash Device Drivers ---->
[*] NAND Device Support
[*] Support for NAND Flash /SmartMedia on AT91
File systems ---->
<*> Second extended fs support
[*] Inotify file change notification support
[*] Inotify support for user space
<*> Filesystem in Userspace support
Miscellaneous filesystems
<*> Journalling Flash File System v2 (JFFS2) support
[*] JFFS2 write-buffering support
<*> Compressed ROM file system support (cramfs)

以上配置中没有列出的,都没选;其配置仅做参考,可根据自己的需要自行配置。

$ make all

其次制作mtd-util工具

从网上下载zlib-1.2.3.tar.gz解压缩$ cd zlib-1.2.3

$ ./configure –prefix=/usr/local/arm/3.4.1/arm-linux --shared

修改Makefile如下:

CC=arm-linux-gcc

LDSHARED=arm-linux-ld -shared

$ make all

$ make install

注意:这里是安装在/usr/local/arm/3.4.1/arm-linux目录下

由于交叉编译mtd工具时需要zlib.h文件,所以在编译之前先安装zlib库文件。

从网上下载mtd-snapshot-20050519.tar.bz2 解压缩 $ cd mtd/util

修改该目录下的Makefile:

CROSS=arm-linux-

$ make all

然后将该目录下生成的 flash_erase,flash_eraseall, mkfs.jffs2工具放在ramdisk 文件系统中(我这里放在/bin目录下),另外在ramdisk文件系统的dev目录下要保证有mtd0~mtd9,mtdblock0~mtdblock9这些设备,如果没有可参考 ramdisk文件系统的制作,也可从pc机相同目录下拷贝,要加上文件属性。

另外,需要将/arm-linux/lib目录下的libz.so, libz.so.1, libz.so.1.2.3文件拷贝到ramdisk文件系统的/lib目录下,否则mkfs.jffs2工具不能使用。

最后将新生成的uImage和ramdisk文件下载到板子上,起动系统,使用命令 cat /proc/mtd可以看到

dev: size erasesize name

mtd0: 00040000 00020000 "Partition 1"

mtd1: 0ffc0000 00020000 "Partition 2"

mtd2: 00420000 00000210 "spi0.0-AT45DB321x"

这里mtd0,mtd1是nandflash上的分区; mtd2是dataflsh上的分区,该分区上放有u-boot,uImage.img,ramdisk.img,所以我们这里可以使用空的nandflash上的两个分区。使用之前要先用工具flash_erase或者flash_eraseall擦除nandflash,具体使用的步骤如下:

# flash_erase /dev/mtd1

制作jffs2映像

# cd /var/tmp

# mkdir jffs2 (jffs2下的目录可以任意建)

# mkfs.jffs2 –d jffs2/ -o jffs2.img

# cp /var/tmp/jffs2/jffs2.img /dev/mtdblock1

最后# mount -t jffs2 /dev/mtdblock1 /mnt/mtd即可,使用结束可使用$ umount /mnt/mtd卸载.

如果只是当作普通的jffs2 来使用dataflash或者nandflash,可不必制作 jffs2映像,只需要最后一步,# mount -t jffs2 /dev/mtdblock1 /mnt/mtd即可。

AT91sam9263EK使用JFFS2根文件系统

在AT91sam9263EK成功配置了NFS根文件系统后,后来又想把JFFS2也移植到AT91sam9263EK上吧,说干就干。

1. 呵呵,其实很简单我使用的linux-2.6.20内核里已经有jffs2 文件系统支持,选上jffs2即可

File systems --->

Miscellaneous filesystems --->

<*> Journalling Flash File System v2 (JFFS2) support

(0) JFFS2 debugging verbosity (0 = quiet, 2 = noisy)

[*] JFFS2 write-buffering support

[*] JFFS2 summary support (EXPERIMENTAL)

[*] JFFS2 XATTR support (EXPERIMENTAL)

[*] JFFS2 POSIX Access Control Lists

[*] JFFS2 Security Labels

[*] Advanced compression options for JFFS2

[*] JFFS2 ZLIB compression support

[*] JFFS2 RTIME compression support

[ ] JFFS2 RUBIN compression support

JFFS2 default compression mode (priority)

选上MTD支持

Device Drivers --->

Memory Technology Devices (MTD) --->

<*> Memory Technology Device (MTD) support

[ ] Debugging

<*> MTD concatenating support

[*] MTD partitioning support

< > RedBoot partition table parsing

[*] Command line partition table parsing

<*> ARM Firmware Suite partition parsing

--- User Moles And Translation Layers

<*> Direct char device access to MTD devices

<*> Caching block device access to MTD devices

<*> FTL (Flash Translation Layer) support

<*> NFTL (NAND Flash Translation Layer) support

[ ] Write support for NFTL

2. 从ttp://www.linux-mtd.infradead.org/上下载

mtd-utils-1.0.0.tar.gz 到宿主机。

解压

tar xvzf mtd-utils-1.0.0.tar.gz

进入mtd-utils-1.0.0目录修改Makefile进行编译。

编译出mkfs.jffs2,nandwrite等工具

3. 创建jffs2根文件系统:

首先要有一个其他类型的根文件系统,制作和获取方式可以参见<< AT91sam9263EK使用NFS根文件系统>>

比如可以:

mount -t cramfs rootfs_lnxdemo.cramfs tmp/ -o loop

rootfs_lnxdemo.cramfs由atmel提供当然你可以自己制作,这里直接使用atmel的省去了制作的麻烦。

tar czvf target.tar.gz tmp/

生成jffs2根文件系统镜像:

mkfs.jffs2 –l –s 0x400 –e 0x20000 –d tmp/ -o target.jffs2

4. 烧写jffs2根文件系统镜像到nand flash。

烧写方法应该有多种常用的有2种(呵呵自己认为的):

a.通过nand编程器烧写镜像文件到nand flash芯片然后再焊接到pcb.

b.挂载nfs文件系统,使用nandwrite工具写镜像文件

到mtd设备。

第一种适合生产时使用,而我们测试时候比较适合使用第二种方式。

挂载nfs文件系统:

nandwrite –o /dev/mtd1 target.jffs2

或者是在nfs 根文件系统下:

mount –t jffs2 /dev/mtdblock1 /mnt

cd /mnt

tar xvzf ../target.tar.gz

umount /mnt

5. 配置内核启动参数如下:

setenv bootargs mem=64M console=ttyS0 115200 root=/dev/mtdblock1 rootfstype=jffs2 rw

6. 重新启动,呵呵内核使用jffs2文件系统自动挂载根文件系统到mtdblock1设备上。

ls 测试一下

vi test

hello this is for test jffs2 filesystem.

保存退出。

Sync

重新启动

vi test

内容依旧。

Ok jffs2根文件系统引导成功。
Linux联盟收集整理 ,转贴请标明原始链接

Ⅳ Linux系统分析、裁减及RAMOS制作

使用Linux开发,根据应用需求的不同有不同的配置开发方法,但是一般都要经过如下的过程:

1.建立开发环境
操作系统一般使用RedHat-Linux,版本从7到9都可以,选择定制安装或全部安装,通过网络下载相应的GCC交叉编译器进行安装(例如arm-Linux-gcc、arm-μclibc-gcc),或者安装产品厂家提供的交叉编译器。

2.配置开发主机
配置MINICOM,一般的参数为波特率为115 200bps,数据位为8位,停止位为1,无奇偶校验,软件硬件流控设为无。在Windows下的超级终端的配置也是这样的。MINICOM软件的作用是作为调试嵌入式开发板的信息输出的监视器和键盘输入的工具。配置网络,主要是配置NFS网络文件系统,需要关闭防火墙,简化嵌入式网络调试环境设置过程。

3.建立引导装载程序BOOTLOADER
从网络上下载一些公开源代码的BOOTLOADER,如U-BOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT等,根据自己具体的芯片进行移植修改。有些芯片没有内置引导装载程序,例如三星的ARM7、ARM9系列芯片,这样就需要编写开发板上Flash的烧写程序,网络上有免费下载的Windows下通过JTAG并口简易仿真器烧写ARM外围Flash芯片的烧写程序,也有Linux下的公开源代码的J-Flash程序。如果不能烧写自己的开发板,就需要根据自己的具体电路进行源代码修改。这是系统正常运行的第一步。如果购买了厂家的仿真器当然比较容易烧写Flash,这对于需要迅速开发自己产品的人来说可以极大地提高开发速度,但是其中的核心技术是无法了解的。

4.下载别人已经移植好的Linux操作系统
如μCLinux、ARM-Linux、PPC-Linux等,如果有专门针对所使用的CPU移植好的Linux操作系统那是再好不过的,下载后再添加自己的特定硬件的驱动程序,进行调试修改,对于带MMU的CPU可以使用模块方式调试驱动,对于μCLinux这样的系统则需编译进内核进行调试。

5.建立根文件系统
从下载使用BUSYBOX软件进行功能裁减,产生一个最基本的根文件系统,再根据自己的应用需要添加其他程序。默认的启动脚本一般都不会符合应用的需要,所以就要修改根文件系统中的启动脚本,它的存放位置位于/etc目录下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile等,自动挂装文件系统的配置文件/etc/fstab,具体情况会随系统不同而不同。根文件系统在嵌入式系统中一般设为只读,需要使用mkcramfs、genromfs等工具产生烧写映像文件。

6.建立应用程序的Flash磁盘分区
一般使用JFFS2或YAFFS文件系统,这需要在内核中提供这些文件系统的驱动,有的系统使用一个线性Flash(NOR型)512KB~32MB,有的系统使用非线性Flash(NAND型)8~512MB,有的两个同时使用,需要根据应用规划Flash的分区方案。

7.开发应用程序
应用程序可以放入根文件系统中,也可以放入YAFFS、JFFS2文件系统中,有的应用不使用根文件系统,直接将应用程序和内核设计在一起,这有点类似于μCOS-II的方式。

8.烧写内核、根文件系统、应用程序

9.发布产品

Ⅵ 如何在Linux系统下制作RamDisk

1.查看你的系统已经创建了什么

RedHat默认创建16个RamDisk,虽然它们没有激活或使用任何Ram。系统列出的设备是ram0~ram19,但是只有ram0~ram15是默认可用的。使用下面的命令可用检出这些块设备:

viewplain
[root]#ls-l/dev/ram*
lrwxrwxrwx1rootroot4Jun1200:31/dev/ram->ram1
brw-rw----1rootdisk1,0Jan302003/dev/ram0
brw-rw----1rootdisk1,1Jan302003/dev/ram1
brw-rw----1rootdisk1,10Jan302003/dev/ram10
brw-rw----1rootdisk1,11Jan302003/dev/ram11
brw-rw----1rootdisk1,12Jan302003/dev/ram12
brw-rw----1rootdisk1,13Jan302003/dev/ram13
brw-rw----1rootdisk1,14Jan302003/dev/ram14
brw-rw----1rootdisk1,15Jan302003/dev/ram15
brw-rw----1rootdisk1,16Jan302003/dev/ram16
brw-rw----1rootdisk1,17Jan302003/dev/ram17
brw-rw----1rootdisk1,18Jan302003/dev/ram18
brw-rw----1rootdisk1,19Jan302003/dev/ram19
brw-rw----1rootdisk1,2Jan302003/dev/ram2
brw-rw----1rootdisk1,3Jan302003/dev/ram3
brw-rw----1rootdisk1,4Jan302003/dev/ram4
brw-rw----1rootdisk1,5Jan302003/dev/ram5
brw-rw----1rootdisk1,6Jan302003/dev/ram6
brw-rw----1rootdisk1,7Jan302003/dev/ram7
brw-rw----1rootdisk1,8Jan302003/dev/ram8
brw-rw----1rootdisk1,9Jan302003/dev/ram9
lrwxrwxrwx1rootroot4Jun1200:31/dev/ramdisk->ram0


现在,用grep在dmesg的输出中找出RamDisk的大小

viewplain
[root]#dmesg|grepRAMDISK
RAMDISKdriverinitialized:
RAMDISK:Compressedimagefoundatblock0


你可用看到,RamDisk默认只有4MB。我想要一个16MB的RamDisk,所以,下一步要配置Linux,使得在启动过程中使用一个更大的RamDisk。

2.增加RamDisk的大小

RamDisk的大小是被一个命令行选项控制的,这个选项会在系统启动时传给内核。由于RedHat9的默认bootloader是GRUB,我将用新的选项修改/etc/grub.conf,RamDisk大小的内核选项是:ramdisk_size=xxxxx,xxxxx是指大小为1024-Byte的块的个数。下面是我要添加到/etc/grub.conf的内容,它将RamDisk配置为16MB:

viewplain
#grub.confgeneratedbyanaconda
#
#
#NOTICE:Youhavea/bootpartition.Thismeansthat
#/boot/,eg.
#root(hd0,0)
#kernel/vmlinuz-versionroroot=/dev/hda5
#initrd/initrd-version.img
#boot=/dev/hda
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
titleRedHatLinux(2.4.20-20.9)
root(hd0,0)
kernel/vmlinuz-2.4.20-20.9roroot=LABEL=/hdc=ide-scsiramdisk_size=16000
initrd/initrd-2.4.20-20.9.img


将文件保存后,你需要重启系统。重启后,通过查看dmesg的输出来确认修改已经生效:

viewplain
[root]#dmesg|grepRAMDISK
RAMDISKdriverinitialized:
RAMDISK:Compressedimagefoundatblock0


3.格式化RamDisk

无需将RamDisk格式化为日志文件系统,我们将使用EXT2文件系统。我只想使用一个

RamDisk,所以我只格式化ram0。

viewplain
[root]#mke2fs-m0/dev/ram0
mke2fs1.32(09-Nov-2002)
Filesystemlabel=
OStype:Linux
Blocksize=1024(log=0)
Fragmentsize=1024(log=0)
4000inodes,16000blocks
0blocks(0.00%)reservedforthesuperuser
Firstdatablock=1
2blockgroups
8192blockspergroup,8192fragmentspergroup
2000inodespergroup
:
8193

Writinginodetables:done
:done


180days,whichevercomesfirst.Usetune2fs-cor-itooverride.


-m0选项指定了文件系统上root用户保留区块的比例为0,这是默认的特性。我希望普通用户可以使用所有的RamDisk空间。

4.新建一个挂载点并挂载RamDisk

你已经格式化了RamDisk,现在要为它新建一个挂载点。然后就可以挂载你的RamDisk并使用它。我们将会使用/mnt/rd文件夹。

viewplain
[root]#mkdir/mnt/rd
[root]#mount/dev/ram0/mnt/rd

检测新挂载的RamDisk

viewplain
[root]#mount|grepram0
/dev/ram0on/mnt/rdtypeext2(rw)
[root]#df-h|grepram0
/dev/ram016M13K16M1%/mnt/rd


你可以用tune2fs命令查看新RamDisk的详细信息

viewplain
[root]#tune2fs-l/dev/ram0
tune2fs1.32(09-Nov-2002)
Filesystemvolumename:none
Lastmountedon:notavailable
FilesystemUUID:fbb80e9a-8e7c-4bd4-b3d9-37c29813a5f5
Filesystemmagicnumber:0xEF53
Filesystemrevision#:1(dynamic)
Filesystemfeatures:filetypesparse_super
Defaultmountoptions:(none)
Filesystemstate:notclean
Errorsbehavior:Continue
FilesystemOStype:Linux
Inodecount:4000
Blockcount:16000
Reservedblockcount:0
Freeblocks:15478
Freeinodes:3989
Firstblock:1
Blocksize:1024
Fragmentsize:1024
Blockspergroup:8192
Fragmentspergroup:8192
Inodespergroup:2000
Inodeblockspergroup:250
Filesystemcreated:MonDec814:33:572003
Lastmounttime:MonDec814:35:392003
Lastwritetime:MonDec814:35:392003
Mountcount:1
Maximummountcount:22
Lastchecked:MonDec814:33:572003
Checkinterval:15552000(6months)
Nextcheckafter:SatJun514:33:572004
Reservedblocksuid:0(userroot)
Reservedblocksgid:0(grouproot)
Firstinode:11
Inodesize:128

在我的系统中,我需要'var'用户能够读写RamDisk,所以必须修改/mnt/rd文件夹的所有者和权限。

viewplain
[root]#chownvan:root/mnt/rd
[root]#chmod0770/mnt/rd
[root]#ls-ald/mnt/rd
drwxrwx---2vanroot4096Dec811:09/mnt/rd

RamDisk挂载点的所有者和权限要根据你的特定情况进行修改。

Ⅶ 如何在Linux系统下制作RamDisk

1. 查看你的系统已经创建了什么
RedHat默认创建16个RamDisk,虽然它们没有激活或使用任何Ram。系统列出的设备是ram0~ram19,但是只有ram0~ram15是默认可用的。使用下面的命令可用检出这些块设备:

[root]# ls -l /dev/ram*

2. 增加RamDisk的大小

RamDisk的大小是被一个命令行选项控制的,这个选项会在系统启动时传给内核。由于RedHat9的默认bootloader是GRUB,我将用新的选项修改/etc/grub.conf,RamDisk大小的内核选项是:ramdisk_size=xxxxx ,xxxxx是指大小为1024-Byte的块的个数。下面是我要添加到/etc/grub.conf的内容,它将RamDisk配置为16MB:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/hda5
# initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Red Hat Linux (2.4.20-20.9)
root (hd0,0)
kernel /vmlinuz-2.4.20-20.9 ro root=LABEL=/ hdc=ide-scsi ramdisk_size=16000
initrd /initrd-2.4.20-20.9.img
将文件保存后,你需要重启系统。重启后,通过查看dmesg的输出来确认修改已经生效:

[root]# dmesg | grep RAMDISK
RAMDISK driver initialized: 16 RAM disks of 16000K size 1024 blocksize
RAMDISK: Compressed image found at block 0
3. 格式化RamDisk

无需将RamDisk格式化为日志文件系统,我们将使用EXT2文件系统。我只想使用一个RamDisk,所以我只格式化ram0。

[root]# mke2fs -m 0 /dev/ram0
mke2fs 1.32 (09-Nov-2002)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
4000 inodes, 16000 blocks
0 blocks (0.00%) reserved for the super user
First data block=1
2 block groups
8192 blocks per group, 8192 fragments per group
2000 inodes per group
Superblock backups stored on blocks:
8193

Writing inode tables: done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 22 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
-m 0选项指定了文件系统上root用户保留区块的比例为0,这是默认的特性。我希望普通用户可以使用所有的RamDisk空间。

4. 新建一个挂载点并挂载RamDisk

你已经格式化了RamDisk,现在要为它新建一个挂载点。然后就可以挂载你的RamDisk并使用它。我们将会使用/mnt/rd文件夹。

[root]# mkdir /mnt/rd
[root]# mount /dev/ram0 /mnt/rd
检测新挂载的RamDisk

[root]# mount | grep ram0
/dev/ram0 on /mnt/rd type ext2 (rw)
[root]# df -h | grep ram0
/dev/ram0 16M 13K 16M 1% /mnt/rd
你可以用tune2fs命令查看新RamDisk的详细信息

[root]# tune2fs -l /dev/ram0
tune2fs 1.32 (09-Nov-2002)
Filesystem volume name: none
Last mounted on: not available
Filesystem UUID: fbb80e9a-8e7c-4bd4-b3d9-37c29813a5f5
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: filetype sparse_super
Default mount options: (none)
Filesystem state: not clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 4000
Block count: 16000
Reserved block count: 0
Free blocks: 15478
Free inodes: 3989
First block: 1
Block size: 1024
Fragment size: 1024
Blocks per group: 8192
Fragments per group: 8192
Inodes per group: 2000
Inode blocks per group: 250
Filesystem created: Mon Dec 8 14:33:57 2003
Last mount time: Mon Dec 8 14:35:39 2003
Last write time: Mon Dec 8 14:35:39 2003
Mount count: 1
Maximum mount count: 22
Last checked: Mon Dec 8 14:33:57 2003
Check interval: 15552000 (6 months)
Next check after: Sat Jun 5 14:33:57 2004
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 128
在我的系统中,我需要'var'用户能够读写RamDisk,所以必须修改/mnt/rd文件夹的所有者和权限。

[root]# chown van:root /mnt/rd
[root]# chmod 0770 /mnt/rd
[root]# ls -ald /mnt/rd
drwxrwx--- 2 van root 4096 Dec 8 11:09 /mnt/rd
RamDisk挂载点的所有者和权限要根据你的特定情况进行修改。

5. 使用RamDisk

RamDisk已经创建成功,现在,你可以像在物理硬盘分区那样,在RamDisk上复制、移动、删除、编辑或列出文件。

Ⅷ 如何制作u盘启动盘安装xp系统

制作u盘启动盘安装xp系统的操作步骤如下:

1、制作启动U盘:

A、到实体店买个容量4或8G以上的品牌U盘。

B、上网搜索下载老毛桃或大白菜等启动U盘制作工具,将U盘插入电脑运行此软件制作成启动U盘。

注意:在安装系统完成后,先安装安全软件如360安全卫士加360杀毒或者金山毒霸之类其它安全软件,进行全盘查杀木马、病毒,再打好系统补丁、安装常用软件,并下载安装使用一键还原工具进行系统备份,以备不时之需。

阅读全文

与制作ramdisk文件系统的步骤相关的资料

热点内容
株洲编程学校哪个好 浏览:266
linuxlast时间 浏览:305
齐鲁高速app如何设置 浏览:542
文件的存储路径分为 浏览:889
win10鼠标滑轮失灵 浏览:201
word文档内超链接 浏览:264
苹果7plus光学变焦 浏览:329
ie11升级出错 浏览:311
win10xp局域网 浏览:615
花源app盈利模式 浏览:619
可以私信的app有哪些 浏览:86
flink用户点击行为数据怎么获取 浏览:761
js改变css中的内容 浏览:39
iphone取消共享 浏览:591
js浮框 浏览:816
日淘有哪些网站 浏览:698
英语书同步app有哪些 浏览:949
ipad用什么数据流量 浏览:480
win10设置连接投影 浏览:76
本地搭建安卓开发环境 浏览:142

友情链接