| 最近尝试了一个好东西,今天给大家分享一下。主要实现在Ubantu10.10系统上编写一个sbull驱动,将一段ram空间模拟为disk使用。并在这个disk上建立文件系统。 
 
 
 
 
 
 1、 将文件夹blkdev-2.6.35复制到linux环境中,如:/home/linux/workdir/test 
 2、 编译 
 linux@ubuntu:~/workdir/test/blkdev-2.6.35$ make 
 3、通过insmod命令将模块加入内核 
 linux@ubuntu:~/workdir/test/blkdev-2.6.35$sudo insmod ./blkdev.ko 
 4、#sudo fdisk /dev/blkdeva 
         出现磁盘分区界面,选择m出现帮助信息 
 <img id="aimg_Cn8Ws"  class="zoom" file="http://files.chinaaet.com/images/blog/2015/03/13/1550311882869.png"  lazyloadthumb="1" border="0" alt="" /> 
 选择n添加新的分区 
 <img id="aimg_q9o9F"  class="zoom" file="http://files.chinaaet.com/images/blog/2015/03/13/1550777548719.png"  lazyloadthumb="1" border="0" alt="" /> 
 选择p建立一个新的主分区 
 
 
 选择w,保存分区信息 
  <img id="aimg_xsSf6"  class="zoom" file="http://files.chinaaet.com/images/blog/2015/03/13/1553501017809.png"  lazyloadthumb="1" border="0" alt="" /> 
 
 
         5、格式化disk   
 #mkfs.ext2 /dev/blkdeva1 
         6、挂载文件系统 
             #mkdir mnt 
 #sudo mount –t ext2 /dev/blkdeva1 mnt 
         7、思考:如果分区后没有及时挂载文件系统(>30s),设备为何会失效。 
         8、修改模式为RM_NOQUEUE测试,同样可以同样的功能(因为是ram,所以可以不 
 需要quque) 
             enum { 
             RM_SIMPLE  = 0, /* The extra-simple request function */ 
             RM_FULL    = 1, /* The full-blown version */ 
             RM_NOQUEUE = 2, /* Use make_request */ 
 }; 
         9、修改模式为RM_FUL、RM_NOQUEUE 测试,同样可以正常运行 
 春天真的来了,万物复苏,一切都会好起来! 
 
 
 
 
 
 
 
 
 
 
 
 ——————————————————————————————————————
 |