前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[Linux驱动炼成记] 07-文件系统分区

[Linux驱动炼成记] 07-文件系统分区

作者头像
程序手艺人
发布2019-02-20 17:12:03
1.5K0
发布2019-02-20 17:12:03
举报
文章被收录于专栏:程序手艺人程序手艺人
查看分区格式
代码语言:javascript
复制
# df -hT
// ext4 文件格式
Filesystem           Type            Size      Used Available Use% Mounted on
/dev/system          ext4            2.0G    112.4M      1.8G   6% /
devtmpfs             devtmpfs      107.2M         0    107.2M   0% /dev
tmpfs                tmpfs         116.5M         0    116.5M   0% /dev/shm
tmpfs                tmpfs         116.5M   1004.0K    115.5M   1% /tmp
tmpfs                tmpfs         116.5M     36.0K    116.5M   0% /run
/dev/data            ext4          613.9M    976.0K    568.2M   0% /data


[root@buildroot /]# df -hT
// ubifs 文件格式
Filesystem           Type            Size      Used Available Use% Mounted on
/dev/ubi0_0          ubifs          78.7M     67.0M     11.7M  85% /
devtmpfs             devtmpfs      106.9M         0    106.9M   0% /dev
tmpfs                tmpfs         116.5M         0    116.5M   0% /dev/shm
tmpfs                tmpfs         116.5M      2.3M    114.2M   2% /tmp
tmpfs                tmpfs         116.5M     36.0K    116.5M   0% /run
/dev/ubi1_0          ubifs          86.0M     66.2M     15.4M  81% /data
/dev/ubi1_1          ubifs          16.8M     92.0K     15.8M   1% /etc/sugr
/dev/ubi1_2          ubifs          16.8M     32.0K     15.9M   0% /cache
查看具体的分区大小
代码语言:javascript
复制
//ext4文件系统

cat /proc/inand
dev:    size   erasesize  name
inand01:    400000     80000 "bootloader"
inand02:   4000000     80000 "reserved"
inand03:  20000000     80000 "cache"
inand04:    800000     80000 "env"
inand05:   2000000     80000 "logo"
inand06:   2000000     80000 "recovery"
inand07:    800000     80000 "rsv"
inand08:    800000     80000 "tee"
inand09:   2000000     80000 "crypt"
inand10:   2000000     80000 "misc"
inand11:    400000     80000 "instaboot"
inand12:   2000000     80000 "boot"
inand13:  82000000     80000 "system"
inand14:  28000000     80000 "data"

//ubifs 文件系统

cat /proc/mtd 

dev:    size   erasesize  name
mtd0: 00200000 00020000 "bootloader"
mtd1: 00800000 00020000 "tpl"
mtd2: 00200000 00020000 "logo"
mtd3: 01000000 00020000 "recovery"
mtd4: 00f00000 00020000 "boot"
mtd5: 06480000 00020000 "system"
mtd6: 01400000 00020000 "config"
mtd7: 01400000 00020000 "cache"
mtd8: 14280000 00020000 "data"
计算Flash大小
代码语言:javascript
复制
# cat /proc/partitions 
major minor  #blocks  name

   7        0     102400 loop0
   7        1     102400 loop1
 179        0    3702784 mmcblk0
 179        1       4096 mmcblk0p1
 179        2      65536 mmcblk0p2
 179        3     524288 mmcblk0p3
 179        4       8192 mmcblk0p4
 179        5      32768 mmcblk0p5
 179        6      32768 mmcblk0p6
 179        7       8192 mmcblk0p7
 179        8       8192 mmcblk0p8
 179        9      32768 mmcblk0p9
 179       10      32768 mmcblk0p10
 179       11       4096 mmcblk0p11
 179       12      32768 mmcblk0p12
 179       13    2129920 mmcblk0p13
 179       14     655360 mmcblk0p14
 179       96        512 mmcblk0rpmb
 179       64       2048 mmcblk0boot1
 179       32       2048 mmcblk0boot0

//计算方法
blocks 设备总块数 (1024 Bytes/block)
计算方法: blocks / 1024 = ??MB
如上: 3702784 / 1024 = 3616MB 大概3.5GB
代码语言:javascript
复制
[root@buildroot /]# cat /proc/partitions
major minor  #blocks  name

  31        0       2048 mtdblock0
  31        1       8192 mtdblock1
  31        2       2048 mtdblock2
  31        3      16384 mtdblock3
  31        4      15360 mtdblock4
  31        5     102912 mtdblock5
  31        6      20480 mtdblock6
  31        7      20480 mtdblock7
  31        8     330240 mtdblock8
//计算方法
2048+8192+2048+16384+15360+102912+20480+20480+330240=518144
518144/1024=506MB
固件说明

文件系统的格式改为ext4之后,编译出来的固件有两种1

代码语言:javascript
复制
// raw ext4 image 其特点是完整的ext2 分区镜像(包含很多全零的无效填充区),可以直接使用mount进行挂载,因此比较大,编译出来的2GB
ls -alh rootfs.ext2
-rw-r--r-- 1 xxx xxx  2.0G 10月 21 17:14 rootfs.ext2

➜  images >file rootfs.ext2 
rootfs.ext2: Linux rev 1.0 ext4 filesystem data, UUID=9bcf3fbf-9dc4-4817-b18d-5dbe1b356164 (extents)

// 另一种是sparse ext2 image,是一个非常普通的dat文件。由于它将raw ext2进行稀疏描述,因此尺寸比较小(没有全零的无效填充区) 113M

ls -alh rootfs.ext2.img2simg 
-rw-r--r-- 1 xxx xxx 113M 10月 21 17:14 rootfs.ext2.img2simg

➜  images >file rootfs.ext2.img2simg 
rootfs.ext2.img2simg: Android sparse image, version: 1.0, Total of 524288 4096-byte output blocks in 1006 input chunks.
知识点

  1. simg2img ↩︎
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年10月18日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 查看分区格式
  • 查看具体的分区大小
  • 计算Flash大小
    • 固件说明
    • 知识点
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档