MTD设备学习,挂载,读写,分区查看

您所在的位置:网站首页 怎么看磁盘挂载时间 MTD设备学习,挂载,读写,分区查看

MTD设备学习,挂载,读写,分区查看

2024-07-18 08:41:19| 来源: 网络整理| 查看: 265

MTD

Memory Technology Device,内存技术设备

/dev/mtdN

字符设备,支持ioctl,MEMGETINFO,MEMERASE等,mtd-utils(用于进行mtd操作的工具集,包含flash_eraseall等工具)就是以此实现的。mtd字符设备主设备号90。

/dev/mtdblockN

块设备,可以在块设备上创建文件系统,不提供ioctl方法,无法使用nandwrite,flash_eraseall,flash_erase等工具进行操作。mtd块设备主设备号31。只读块设备。貌似无法通过dd来写入。

实际上mtdN和mtdblockN是一个MTD分区,只是提供给上层的视图不同,因为mount、umount命令只能挂在块设备(有文件系统),mtd-utils工具(flash_erase等)只能通过字符设备来交互。

常用命令 - 挂载信息 mount

类似/proc/mounts,下面有

rootfs on / type rootfs (rw) /dev/root on /mnt/.cramfs type cramfs (ro,relatime) /dev/mmcblk1p1 on / type ext2 (rw,noatime,errors=continue) proc on /proc type proc (rw,relatime) ramfs on /tmp type ramfs (rw,relatime) sysfs on /sys type sysfs (rw,relatime) usbfs on /proc/bus/usb type usbfs (rw,relatime) mdev on /dev type tmpfs (rw,relatime) devpts on /dev/pts type devpts (rw,relatime,mode=600) /dev/mmcblk1p3 on /mnt/mmcblk1p3 type vfat (ro,relatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro) /proc/partitions

查看mtd块设备的大小,一个block是1KB:cat /proc/partitions

major minor #blocks name 31 0 4608 mtdblock0 31 1 2176 mtdblock1 31 2 64 mtdblock2 31 3 64 mtdblock3 31 4 64 mtdblock4 31 5 512 mtdblock5 31 6 64 mtdblock6 31 7 64 mtdblock7 31 8 8192 mtdblock8 31 9 64 mtdblock9 31 10 320 mtdblock10 179 0 3866624 mmcblk1 179 1 250480 mmcblk1p1 179 2 250488 mmcblk1p2 179 3 1000440 mmcblk1p3 179 4 1953504 mmcblk1p4 /etc/fstab

预先写好的挂载文件,开机后按自动该文件挂载目录。

# none /proc proc defaults 0 0 none /dev/pts devpts defaults 0 0 none /sys sysfs defaults 0 0 none /dev/shm tmpfs defaults 0 0 none /proc/bus/usb usbfs defaults 0 0 # these are for read-only root: none /tmp tmpfs defaults,mode=1777 0 0 none /var/run tmpfs defaults 0 0 /dev/mtdblock3 /mnt/rootdata cramfs defaults 0 0 # writable flash mtd:spi_jffs2 /mnt/rwflash jffs2 defaults 0 0 mtd:spi_reserve /mnt/mpflash jffs2 defaults 0 0 # writable overlays /mnt/rwflash/config /etc/config none defaults,bind 0 0 /mnt/rwflash/mail /etc/mail none defaults,bind 0 0 /mnt/rwflash/snmp /etc/snmp none defaults,bind 0 0 none /root tmpfs defaults,mode=1777 0 0 none /sys/kernel/debug debugfs defaults 0 0 pvgnas02:/users /home nfs noauto,tcp,soft,intr,nolock 0 0 /proc/mtd

查看mtd设备分区情况:cat /proc/mtd

dev: size erasesize name mtd0: 00040000 00010000 "spi_boot" mtd1: 001c0000 00010000 "spi_kernel" mtd2: 01100000 00010000 "spi_root" mtd3: 00b80000 00010000 "spi_rootdata" mtd4: 00090000 00010000 "spi_jffs2" mtd5: 000d0000 00010000 "spi_reserve" mtd6: 00020000 00010000 "spi_bootenv" /proc/mounts

查看当前分区的挂载情况

rootfs / rootfs rw 0 0 /dev/root / cramfs ro,relatime 0 0 none /proc proc rw,relatime 0 0 none /dev tmpfs rw,relatime 0 0 /tmpfs /mnt/rwflash tmpfs rw,relatime 0 0 /dev/mtdblock4 /mnt/rwflashphy jffs2 rw,relatime 0 0 none /dev/pts devpts rw,relatime,mode=600 0 0 none /sys sysfs rw,relatime 0 0 none /dev/shm tmpfs rw,relatime 0 0 none /proc/bus/usb usbfs rw,relatime 0 0 none /tmp tmpfs rw,relatime,mode=1777 0 0 none /var/run tmpfs rw,relatime 0 0 /dev/mtdblock3 /mnt/rootdata cramfs ro,relatime 0 0 mtd:spi_reserve /mnt/mpflash jffs2 rw,relatime 0 0 /tmpfs /etc/config tmpfs rw,relatime 0 0 /tmpfs /etc/mail tmpfs rw,relatime 0 0 /tmpfs /etc/snmp tmpfs rw,relatime 0 0 none /root tmpfs rw,relatime,mode=1777 0 0 none /sys/kernel/debug debugfs rw,relatime 0 0 df -h -T

查看已经挂载的分区和文件系统类型

Filesystem Size Used Available Use% Mounted on /dev/root 22.8M 22.8M 0 100% / /dev/mtdblock4 576.0K 288.0K 288.0K 50% /mnt/rwflashphy /dev/mtdblock3 11.2M 11.2M 0 100% /mnt/rootdata mtd:spi_reserve 832.0K 244.0K 588.0K 29% /mnt/mpflash mountpoint

判断当前目录是否为挂载点 选项: -q:不打印任何信息; -d:打印文件系统的主设备号和次设备号; -x:打印块数设备的主设备号和次设备号。

fdick -l

显示出所有挂载和未挂载的分区,但不显示文件系统类型。

Disk /dev/mtdblock0: 4 MB, 4718592 bytes 255 heads, 63 sectors/track, 0 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk /dev/mtdblock0 doesn't contain a valid partition table Disk /dev/mtdblock10: 0 MB, 327680 bytes 255 heads, 63 sectors/track, 0 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk /dev/mtdblock10 doesn't contain a valid partition table parted -l

查看未挂载的文件系统类型,以及哪些分区尚未格式化。

lsblk -f

查看未挂载的文件系统类型。

常用命令 - MTD操作 flash_erase

用于清除设备中的块 flash_erase MTD-device [start] [cnt (# erase blocks)] [lock]

flash_eraseall

擦除指定设备上的所有块

Usage: flash_eraseall [OPTION] MTD_DEVICE Erases all of the specified MTD device. -j, --jffs2 format the device for jffs2 -q, --quiet don't display progress messages --silent same as --quiet --help display this help and exit --version output version information and exit flashcp

向指定的设备写文件,与dd命令不同,对坏块是安全的,提供了许多错误检测属性

BusyBox v1.19.3 (2017-04-19 10:54:20 CST) multi-call binary. Usage: flashcp -v FILE MTD_DEVICE Copy an image to MTD device -v Verbose nandwrite

用于把文件写入nand flash nandwrite [OPTION] MTD_DEVICE [INPUTFILE|-]

读取与写入 读取

通过cat读取(通过网络发送走了):cat /dev/mtdblock2 | nc 192.156.13.235 5555 通过dd读取(未验证):dd if=/dev/mtdblock2 | nc 192.168.1.30 5555

写入

写入命令:flashcp -v /var/run/viewer/media/folder/sda4/mtd2new /dev/mtd2 2>&1 效果:

Erasing block: 148/148 (100%) Writing kb: 9432/9440 (99%) Verifying kb: 9432/9440 (99%) 参考链接

[Android] 查看MTD,EMMC,MMC三种设备的分区 How To Use MTD



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


    图片新闻

    实验室药品柜的特性有哪些
    实验室药品柜是实验室家具的重要组成部分之一,主要
    小学科学实验中有哪些教学
    计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
    实验室各种仪器原理动图讲
    1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
    高中化学常见仪器及实验装
    1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
    微生物操作主要设备和器具
    今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
    浅谈通风柜使用基本常识
     众所周知,通风柜功能中最主要的就是排气功能。在

    专题文章

      CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭