This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux:eMMC 闪存分区大小与 squash rootfs 大小之间的关系

Guru**** 2595805 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/641324/linux-relation-between-emmc-flash-partition-size-and-squash-rootfs-size

Thread 中讨论的其他器件:OMAPL138

工具/软件:Linux

大家好、

我想了解分区大小与 rootfs 大小的关系。

我的器件具有128MB eMMC 闪存、其参与情况如下。

/# fdisk -l

磁盘/dev/mmcblk0:116MB、116523008字节
4个缸盖、16个扇区/履带、3556个气缸
单位= 64 * 512 = 32768字节的圆柱体

器件引导启动结束块 ID 系统
/dev/mmcblk0p1 73 200 4096 83 Linux
/dev/mmcblk0p2 201 328 4096 83 Linux
/dev/mmcblk0p3 329 872 17408 83 Linux
/dev/mmcblk0p4 873 3556 85888 5扩展
/dev/mmcblk0p5 877 1420 17408 83 Linux
/dev/mmcblk0p6 1425 1488 2048 83 Linux
/dev/mmcblk0p7 1493 1556 2048 83 Linux
/dev/mmcblk0p8 1573 1668 3072 83 Linux
/dev/mmcblk0p9 1673 1768 3072 83 Linux
/dev/mmcblk0p10 1773 1836 2048 83 Linux
/dev/mmcblk0p11 1841 1904 2048 83 Linux
/dev/mmcblk0p12 1909 2196 9216 83 Linux
/dev/mmcblk0p13 2201 2488 9216 83 Linux
/dev/mmcblk0p14 2493 2940 14336 83 Linux
/dev/mmcblk0p15 2945 3392 14336 83 Linux


/# df -h
已使用的文件系统大小可用使用%已安装
/dev/root 7.8M 7.8M 0 100%/
devtmpfs 121.9M 4.0K 121.9M 0%/dev/dev
tmpfs 122.0M 140.0K 121.9M 0%/run
tmpfs 122.0M 0 122.0M 0%/fss
tmpfs 122.0M 2.9M 119.1M 2%/tmp
tmpfs 2.0M 192.0K 1.8M 9%/rdklogs
tmpfs 2.0M 0 2.0M 0%/minidump
tmpfs 2.0M 0 2.0M 0%/遥测

1) 1)从上面的命令中发现/dev/root rootfs 大小为7.8 MB、这是基于 sashfs 的。

2)在检查时,使用 du 命令返回122 MB 的整个 rootfs 大小。

# du -sh /
121.4M /

3) 3)# fdisk /dev/mmcblk0p12
设备既不包含有效的 DOS 分区表,也不包含 Sun、SGI、OSF 或 GPT 磁盘标签
构建新的 DOS 磁盘标签。 更改仅保留在内存中、
直到您决定编写它们。 之后是上一个内容
不可恢复。


命令(m 表示帮助):p

磁盘/dev/mmcblk0p12:9 MB、9437184字节
4个缸盖、16个扇区/履带、288个气缸
单位= 64 * 512 = 32768字节的圆柱体


CAT /proc/cmdline
root=/dev/mmcblk0p12 rootwait ro console=ttyS0、115200n8

我的查询:

1)/dev/root 大小为7.8M 时,整个 rootfs 大小如何为122 MB

2) 2)请阐明 DU -sh /(122 MB)与/dev/root 大小7.8M 之间的关系

/#安装
rootfs 打开/键入 rootfs (RW)
/dev/root on / type squashfs (ro、relatme)
devtmpfs on /dev/type devtmpfs (rw、relatme、size=124856k、nr_inodes = 31214、mode=755)
proc on /proc type proc (rw、relatme)
/dev/pts 上的设备类型设备(RW、相对值、GID=5、MODE = 620)
/run 类型 tmpfs 上的 tmpfs (rw、nosuid、nodev、mode=755)
/sys 类型 sysfs 上的 sysfs (rw、relatme)
/fss 类型 tmpfs 上的 tmpfs (rw、relatme)
tmpfs on /tmp 类型 tmpfs (rw、relatme)
/rdklogs 上的 tmpfs 类型 tmpfs (rw、relatme、size=2048k)
/minidump 类型 tmpfs 上的 tmpfs (rw、相对值、size=2048k)
tmpfs on /teletry type tmpfs (rw、relatme、size=2048k)

谢谢

Murali.s

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    这是哪个器件? 您使用的是哪个 Linux SDK 版本? 这是定制板还是 TI 参考板?

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    定制板。

    基本说明是我的 rootfs 基于大约8 MB 的 squarashfs。 但是,在使用(du -sh /)提取 rootfs 大小后,返回60 MB。 这是指在闪存空间还是 RAM 中提取的 rootfs?

    请确认
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    应将 rootfs 解压到闪存。
    再次请阐明正在使用的 SoC、您尝试移植的 SDK 版本以及这是 TI 器件还是定制板。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Yordan。

    从框中、使用 df -h show /dev/root 大小基于 sashfs 为7.8 MB。
    但 du -sh /返回121.4 MB。

    如何将7.8 MB 解压缩为121.4 MB。

    我想知道我的总闪存为128 MB,那么我的 rootfs 如何消耗逻辑上不理解的121.4 MB。 请澄清我的问题。 请在下面的"输出"框中找到。

    /# df -h
    已使用的文件系统大小可用使用%已安装
    /dev/root 7.8M 7.8M 0 100%/
    devtmpfs 121.9M 4.0K 121.9M 0%/dev/dev
    tmpfs 122.0M 140.0K 121.9M 0%/run
    tmpfs 122.0M 0 122.0M 0%/fss
    tmpfs 122.0M 2.9M 119.1M 2%/tmp
    tmpfs 2.0M 192.0K 1.8M 9%/rdklogs
    tmpfs 2.0M 0 2.0M 0%/minidump
    tmpfs 2.0M 0 2.0M 0%/遥测

    # du -sh /
    121.4M /
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能不能分享您的宝贵意见。

    谢谢 Yordan。

    从框中、使用 df -h show /dev/root 大小基于 sashfs 为7.8 MB。
    但 du -sh /返回121.4 MB。

    如何将7.8 MB 解压缩为121.4 MB。

    我想知道我的总闪存为128 MB,那么我的 rootfs 如何消耗逻辑上不理解的121.4 MB。 请澄清我的问题。 请在下面的"输出"框中找到。

    /# df -h
    已使用的文件系统大小可用使用%已安装
    /dev/root 7.8M 7.8M 0 100%/
    devtmpfs 121.9M 4.0K 121.9M 0%/dev/dev
    tmpfs 122.0M 140.0K 121.9M 0%/run
    tmpfs 122.0M 0 122.0M 0%/fss
    tmpfs 122.0M 2.9M 119.1M 2%/tmp
    tmpfs 2.0M 192.0K 1.8M 9%/rdklogs
    tmpfs 2.0M 0 2.0M 0%/minidump
    tmpfs 2.0M 0 2.0M 0%/遥测

    # du -sh /
    121.4M /
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    发布您使用的是哪个器件? 以及哪个软件 SDK?
    在您共享此信息之前、我无法回答任何问题、因此我可以尝试在我的一侧测试此信息。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们使用的是 OMAPL138、SDK 为 mcsdk 01.01.00.02

    它是具有 eMMC 闪存的定制板。

    您也可以在 OMAPL138 LCDK 中尝试

    查询:  


    1)安装在"/"目录中的 Rootfs、文件系统分区的大小为7.8 MB。

    2)在/dev/root 大小为7.8M 时,如何使用(du -sh/)找到整个 rootfs 是122 MB。

    3) 3) sashfs 在访问 I/O 操作时是否使用虚拟空间?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Yordan、

    您对我的查询是否有任何输入?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    2) 2) rootfs 复制到 SD 卡的 rootfs 分区、eMMC 或 NAND 的文件系统分区。 该分区非常大。 例如、您至少需要4GB SD 卡才能使用 MCSDK 或处理器 SDK。
    3)。 是的、它应该使用物理地址的虚拟化。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Yordan、您好!

    我的问题更具体地涉及 squashfs 大小(7.8 MB)和 rootfs 大小(122 MB)之间的关系

    如何将7.8 MB 解压缩为122 MB? 解压的数据位于何处,是在 RAM 中还是在虚拟或闪存中?

    请澄清。 你以前的回答没有澄清我的疑问。

    谢谢
    Murali.s
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    哦、很抱歉、我没有正确理解您的问题。

    会在物理存储器上刷写 squared fs。 更具体地描述闪存(Nand 闪存、SPI 闪存等) 您用于引导的任何外部存储)。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您对我的查询是否有任何更新?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用]如何将7.8 MB 解压缩为122 MB? 提取的数据位于何处,是在 RAM 中还是在虚拟或闪存中?

    我已经回答了您的最后一个问题。 squashfs 文件系统是在外部存储器(闪存)上提取的、而不是在 RAM 中提取的。

    此致、
    Yordan