linux 块设备驱动——块设备应用层的操作

Posted 夕相待

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 块设备驱动——块设备应用层的操作相关的知识,希望对你有一定的参考价值。

一: 加载好sbull驱动

[email protected]:/# ls /dev/sbull -l brw-r--r-- 1 root root 254, 16 Mar 25 08:25 /dev/sbull [email protected]:/#

可以看到sbull文件属性是一个块设备, 主设备号是254,次设备号是16

 

二:对设备进行分区

[email protected]:/# fdisk /dev/sbull [ 266.720648] sbull: unknown partition table Welcome to fdisk (util-linux 2.24.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table. Created a new DOS disklabel with disk identifier 0xb90ed7e4. Command (m for help): m Help: DOS (MBR) a toggle a bootable flag b edit nested BSD disklabel c toggle the dos compatibility flag Generic d delete a partition l list known partition types n add a new partition p print the partition table t change a partition type v verify the partition table Misc m print this menu u change display/entry units x extra functionality (experts only) Save & Exit w write table to disk and exit q quit without saving changes Create a new label g create a new empty GPT partition table G create a new empty SGI (IRIX) partition table o create a new empty DOS partition table s create a new empty Sun partition table Command (m for help): n //输入n 添加一个新的分区Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p //主分区 Partition number (1-4, default 1): 1 //该分区NO.1 First sector (1-1023, default 1): 1 // 该分区起始扇区 Last sector, +sectors or +size{K,M,G,T,P} (1-1023, default 1023): 1023 //该分区结尾扇区 Created a new partition 1 of type ‘Linux‘ and of size 511.5 KiB. Command (m for help): w //保存并退出 The partition table has been altered. Calling ioctl() to re-read parti[ 303.589984] sbull: sbull1 tion table. Syncing disks.

 
 

查看分区:笔者做了两个分区

[email protected]:/# ls /dev/sbull*
/dev/sbull   /dev/sbull1  /dev/sbull2
[email protected]:/#

 

二:格式化文件系统

[email protected]:/# mkfs.ext4 /dev/sbull2 mke2fs 1.42.4 (12-June-2012) Filesystem label= OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) Stride=0 blocks, Stripe width=0 blocks 64 inodes, 504 blocks 25 blocks (4.96%) reserved for the super user First data block=1 Maximum filesystem blocks=524288 1 block group 8192 blocks per group, 8192 fragments per group 64 inodes per group Allocating group tables: done Writing inode tables: done Filesystem too small for a journal Writing superblocks and filesystem accounting information: done

三:挂在文件系统

[email protected]:/# mount /dev/sbull1 /tmp/mnt/sbull/ mount: mounting /dev/sbull1 on /tmp/mnt/sbull/ failed: Invalid argument [email protected]:/# mount /dev/sbull2 /tmp/mnt/sbull/ [ 832.527053] EXT4-fs (sbull2): couldn‘t mount as ext3 due to feature incompatibilities [ 832.557133] EXT4-fs (sbull2): couldn‘t mount as ext2 due to feature incompatibilities [ 832.588127] EXT4-fs (sbull2): mounted filesystem without journal. Opts: (null) [email protected]:/# [email protected]:/#

以上完成了该块设备应用层的挂在操作,接下来就可以直接在/tmp/mnt/sbull目录里面操作了

以上是关于linux 块设备驱动——块设备应用层的操作的主要内容,如果未能解决你的问题,请参考以下文章

Linux下驱动开发_块设备驱动开发(内存模拟存储)

Linux下驱动开发_块设备驱动开发(内存模拟存储)

[Linux]字符设备块设备网络设备虚拟设备

linux 块设备-整理

Linux 0.11源码阅读笔记-块设备驱动程序

22.Linux-块设备驱动之框架详细分析(详解)