arm 内存模拟磁盘

1.linux系统中自带ramdisk支持,即在内存中开辟一片内存作为磁盘,从而提高文件的访问速率,在drivers/brd.c文件中

2.磁盘设备节点在/dev/ram0-/dev/ram15

arm 内存模拟磁盘_第1张图片

3.在使用/dev/ram*之前需要先将磁盘格式化,利用mkesf2命令,默认将文件系统格式化为ext2格式

4.如果不需要对磁盘进行分区,则直接挂载就可以使用

mount /dev/ram* /mnt

umount /mnt

5.如果需要对磁盘进行分区,则通过如下命令进行分区

fdisk命令菜单常用参数如下所示:

  • d:(del)删除一个分区。
  • n:(new)新建一个新分区。
  • p:(print)打印分区表。
  • q:(quit)放弃不保存。
  • t:改变分区类型
  • w:(write)把分区写进分区表,保存并退出。
  • l:列出已挂载的磁盘

操作实例:

# fdisk /dev/ram0             //对ram0块设备分区

1.输入n,  出现两个菜单e表示扩展分区,p表示主分区

 

2.输入p,进入主分区,再输入1,表示第一个主分区:

 arm 内存模拟磁盘_第2张图片

 

 arm 内存模拟磁盘_第3张图片

3.然后输入1,表示开始柱面 ,再输入5,表示结束柱面

 arm 内存模拟磁盘_第4张图片

4.再次输入n,p,2,创建第2个分区,可以发现起始柱面就是从6开始的,因为1~5柱面被第一个分区占用了

 arm 内存模拟磁盘_第5张图片

5.第2个分区创建好了,输入p,打印分区表

 

 

6.输入w,保存并退出。

发现出错,出现分区无法写入分区表,如下图所示:

 

找到在驱动程序入口函数中,alloc_disk()分配一个gendisk,设置的只有一个分区.如下图所示:

 

修改参数,改为大于2的值即可,然后重新执行就没有问题了

 

7.输入ls /dev/ram* -l,就能看到分到的分区了

(PS:次设备号为0的,就是主磁盘)

 

 

https://blog.csdn.net/kris_fei/article/details/77202814

http://blog.chinaunix.net/uid-26859697-id-4282829.html

你可能感兴趣的:(linux)