MKFS.EROFS(1) General Commands Manual MKFS.EROFS(1)

mkfs.erofs - ابزاری برای ساخت سیستم‌فایل EROFS

mkfs.erofs [گزینه‌ها] مقصد مبدأ

سیستم‌فایل EROFS یک سیستم‌فایل فقط‌خواندنی سبک، بهبودیافته و مدرن لینوکس است که با طراحی‌های نوین (مانند عدم استفاده از buffer head، متادیتای بهینه‌سازی‌شده، داده‌ها و ویژگی‌های توسعه‌یافته درون‌خطی و غیره) برای سناریوهایی با کارایی بالا در حالت فقط‌خواندنی، نظیر سیستم‌عامل اندروید در گوشی‌های هوشمند و دیسک‌های زنده (LiveCD) توسعه یافته است.

این سیستم‌فایل همچنین از فشرده‌سازی با خروجی اندازه ثابت پشتیبانی می‌کند که تراکم ذخیره‌سازی را بهبود بخشیده و نرخ فشرده‌سازی نسبتاً بالاتری ارائه می‌دهد؛ این ویژگی به‌ویژه برای دستگاه‌های تعبیه‌شده (Embedded) با حافظه محدود که نیازمند کارایی بالا و حداقل بار اضافی حافظه و جلوگیری از نوسان حافظه کش صفحه (Page cache thrashing) هستند، بسیار کاربردی است.

دستور mkfs.erofs برای ساخت فایل تصویر مقصد سیستم‌فایل EROFS از روی انواع مختلف مبدأ استفاده می‌شود، که در آن مبدأ می‌تواند شامل موارد زیر باشد:

  • یک دایرکتوری محلی
  • یک آرشیو تار (فشرده‌شده یا ساده)
  • یک باکت S3 یا پیشوندی درون آن
  • یک مرجع تصویر OCI
  • یک یا چند تصویر EROFS دیگر (به بخش REBUILD MODE در ادامه مراجعه کنید)

اندازه بلوک پایه‌ای سیستم‌فایل را بر حسب بایت تعیین می‌کند. به عبارت دیگر، کمترین مقدار داده‌ای که در هر بار قابل دسترسی است مشخص می‌شود. مقدار پیش‌فرض اندازه صفحه سیستم است و نمی‌تواند کمتر از ۵۱۲ بایت باشد.
حداکثر اندازه کلاستر فیزیکی فشرده‌سازی را بر حسب بایت مشخص می‌کند. این گزینه ممکن است باعث فعال‌سازی ویژگی pcluster بزرگ شود (لینوکس 5.13+).
فشرده‌سازی متادیتا را با کلاسترهای #-بایتی در یک اینود metabox فعال می‌کند (لینوکس 6.17+)؛ به‌صورت اختیاری می‌توان الگوریتم فشرده‌سازی را مشخص کرد (در صورت عدم تعیین، از الگوریتم فشرده‌سازی داده استفاده می‌شود).
متادیتای اینود ('i') و/یا داده‌های دایرکتوری ('d') را در یک ناحیه متادیتای جداگانه قرار می‌دهد. این کار محلی‌سازی مکانی چیدمان متادیتا را درون تصویر بهبود می‌بخشد که برای دسترسی به متادیتا روی حافظه‌های ذخیره‌سازی با تاخیر بالای I/O بسیار سودمند است.
محدودیت تعداد ویژگی‌های توسعه‌یافته (xattrs) که به‌صورت درون‌خطی ذخیره می‌شوند. پیش‌فرض 2 است.
الگوریتم اصلی فشرده‌سازی داده‌ها را به همراه سطح فشرده‌سازی اختیاری تعیین می‌کند. می‌توان الگوریتم‌های جایگزین را با دونقطه (:) از هم جدا و مشخص کرد. برای مشاهده فهرست الگوریتم‌هایی که mkfs.erofs با آن‌ها کامپایل شده و دامنه سطوح فشرده‌سازی مربوطه، خروجی دستور زیر را ببینید:
mkfs.erofs --help
برای فعال یا غیرفعال کردن فشرده‌سازی دایرکتوری استفاده می‌شود: 0=غیرفعال، 1=فعال. اگر آرگومان اختیاری حذف شود، فشرده‌سازی دایرکتوری به‌طور پیش‌فرض فعال است.
سطح پیام‌های اشکال‌زدایی (دیباگ) را تعیین می‌کند. مقدار پیش‌فرض 2 است که پیام‌های هشدار پایه را نمایش می‌دهد. مقادیر کمتر از صفر ذخیره‌سازی xattr را غیرفعال می‌کنند.
گزینه‌های توسعه‌یافته سیستم‌فایل را تعیین می‌کند. گزینه‌های توسعه‌یافته با کاما از یکدیگر جدا می‌شوند و ممکن است با علامت مساوی ('=') آرگومان اضافی دریافت کنند. برای غیرفعال کردن یک ویژگی، معمولاً نام گزینه را با کاراکتر هشتک/توان ('^') شروع می‌کنند. گزینه‌های توسعه‌یافته زیر پشتیبانی می‌شوند:
48bit
آدرس‌دهی ۴۸ بیتی بلوک‌ها و گستره‌های کدگذاری‌شده را برای پشتیبانی از تصاویر سیستم‌فایل بزرگ‌تر و فشرده‌سازی داده‌های بایت‌محور (عمدتاً برای Zstandard) فعال می‌کند (لینوکس 6.15+).
به‌طور اجباری کل فایل‌ها را برای فشرده‌سازی بهتر درون یک اینود ویژه ذخیره می‌کند و می‌تواند اندازه‌ای به عنوان اندازه pcluster اینود بسته‌بندی‌شده بر حسب بایت دریافت کند (لینوکس 6.1+).
حذف داده‌های تکراری سراسری فشرده‌شده (Deduplication) را برای به حداقل رساندن داده‌های تکراری در سیستم‌فایل فعال می‌کند. استفاده هم‌زمان با -E fragments می‌تواند حجم تصویر را بیشتر کاهش دهد (لینوکس 6.1+).
ورودی دایرکتوری "." (نقطه) را در تمام دایرکتوری‌ها برای کاهش بار اضافی متادیتا حذف می‌کند (لینوکس 6.15+). این گزینه همچنین چیدمان روی دیسک 48bit را فعال می‌کند.
تولید اینودهای فشرده (۳۲ بایتی) را اجباری می‌کند.
تولید اینودهای توسعه‌یافته (۶۴ بایتی) را اجباری می‌کند.
تولید قالب چانک اینود را به‌صورت آرایه‌ای از آدرس‌های بلوک ۴ بایتی اجباری می‌کند.
تولید قالب چانک اینود را به‌صورت نمایه چانک ۸ بایتی (همراه با شناسه دستگاه) اجباری می‌کند.
[^]fragdedupe[=<inode|full>]
حالت حذف داده‌های تکراری قطعات (Fragments) را تعیین می‌کند. این گزینه فقط زمانی مؤثر است که همراه با -E(all)-fragments استفاده شود. اگر کاراکتر ('^') قرار داده شود، حذف تکرار قطعات غیرفعال می‌شود.
حذف تکرار داده‌های قطعه تنها در صورتی که داده‌های اینود یکسان باشند انجام می‌شود. این گزینه در کدبیس فعلی منجر به تولید سریع‌تر تصویر می‌شود.
حذف تکرار داده‌های قطعه همیشه در صورت امکان انجام می‌شود.
بخش انتهایی (pcluster) فایل‌های فشرده‌شده یا کل فایل‌ها را برای کاهش اندازه تصویر در یک اینود ویژه بسته‌بندی می‌کند، و می‌تواند اندازه‌ای به عنوان اندازه pcluster اینود بسته‌بندی‌شده بر حسب بایت دریافت کند (لینوکس 6.1+).
^inline_data
از درون‌خطی کردن فایل‌های معمولی جلوگیری می‌کند. این گزینه معمولاً برای فعال‌سازی FSDAX (لینوکس 5.15+) در آن تصاویر کاربرد دارد، هرچند موارد استفاده دیگری نیز دارد.
چیدمان روی دیسک «نمایه‌های فشرده‌شده» را غیرفعال می‌کند.
چک‌سام سوپربلوک سیستم‌فایل را صریحاً غیرفعال می‌کند.
پیشوندهای طولانی نام ویژگی‌های توسعه‌یافته را به‌جای اینودهای ویژه، مستقیماً روی دیسک ذخیره می‌کند. به‌طور پیش‌فرض، پیشوندهای طولانی نام xattr در metabox_inode (در صورت فعال بودن metabox) یا packed_inode (در صورت فعال بودن fragments) قرار می‌گیرند. این گزینه ذخیره آن‌ها را به‌صورت ساختارهای ساده روی دیسک اجباری می‌کند.
فیلتر نام را برای ویژگی‌های توسعه‌یافته جهت بهینه‌سازی جستجوهای منفی فعال می‌کند (لینوکس 6.6+).
بخش انتهایی (pcluster) فایل‌های فشرده‌شده را درون متادیتای آن بسته‌بندی می‌کند تا فضای بیشتری صرفه‌جویی شده و عملیات I/O بخش انتهایی کاهش یابد (لینوکس 5.17+).
برچسب حجم (Volume Label) سیستم‌فایل را روی volume-label تنظیم می‌کند. حداکثر طول برچسب حجم ۱۵ بایت است.
یک برچسب زمانی یونیکس (Timestamp) برای زمان ایجاد تصویر به منظور ساخت‌های بازتولیدپذیر (Reproducible Builds) تعیین می‌کند. اگر --mkfs-time مشخص نشده باشد، مانند --all-time عمل خواهد کرد: تمام فایل‌ها به‌جای زمان اصلاح فایل‌های مبدأ، با این برچسب زمانی یونیکس تنظیم می‌شوند.
شناسه یکتای سراسری (UUID) سیستم‌فایل را روی UUID تنظیم می‌کند. قالب UUID رشته‌ای از ارقام هگزادسیمال جداشده با خط تیره است، مانند: "c1b9d5a2-f162-11cf-9ece-0020afc76f16". پارامتر UUID همچنین می‌تواند یکی از مقادیر زیر باشد:
پاک کردن UUID سیستم‌فایل
ایجاد یک UUID تصادفی جدید
مالکیت تمامی فایل‌ها را به کاربر root اختصاص می‌دهد.
(همراه با -T استفاده می‌شود) زمان تمامی فایل‌ها را روی برچسب زمانی ثابت تنظیم می‌کند. این حالت پیش‌فرض است.
حداکثر تعداد ورودی‌ها در صف وظایف چندنخی را مشخص می‌کند.
فایل‌های ویژه aufs را با متادیتای overlayfs جایگزین می‌کند.
یک دستگاه حبابی (Blob Device) اضافی برای ذخیره‌سازی داده‌های مبتنی بر چانک مشخص می‌کند.
فایل‌های مبتنی بر چانک را با چانک‌های #-بایتی تولید می‌کند.
یک ساخت کاملاً تمیز با حالت MODE داده‌شده اجرا می‌کند که می‌تواند یکی از مقادیر data، rvsp، یا 0 باشد.

اگر گزینه --clean بدون مقدار صریح مشخص شود، به‌صورت --clean=data رفتار می‌کند.

data: داده‌های کامل فایل را از مبدأ به تصویر مقصد وارد کرده و یک تصویر EROFS کاملاً خودکفا می‌سازد. این حالت زمانی کاربرد دارد که به تصویری مستقل و بی‌نیاز از دستگاه‌های حباب خارجی احتیاج دارید.

rvsp: فضا را برای داده‌های فایل در تصویر مقصد رزرو می‌کند بدون اینکه محتوای واقعی کپی شود. داده‌های فایل بعداً باید از روش‌های دیگر پر شوند. این حالت برای ایجاد تصاویر خلوت (Sparse) یا زمانی که داده‌های واقعی جداگانه منتقل می‌شوند مناسب است.

0: تمام داده‌های اینود را با صفر پر می‌کند.

پشتیبانی حالت‌های MODE به تفکیک نوع مبدأ در حال حاضر:

مبدأ دایرکتوری محلی
تنها حالت data پشتیبانی می‌شود. حالت‌های rvsp و 0 نادیده گرفته می‌شوند.
مبدأ تار (--tar)
حالت‌های data و rvsp پشتیبانی می‌شوند. حالت 0 نادیده گرفته می‌شود. توجه داشته باشید که rvsp اولویت بالاتری نسبت به --tar=i یا --tar=headerball دارد.
حالت بازسازی (Rebuild mode)
حالت‌های data و rvsp پشتیبانی می‌شوند.
مبدأ S3 (--s3)
حالت‌های data و 0 پشتیبانی می‌شوند.
مبدأ OCI (--oci)
تنها حالت data پشتیبانی می‌شود.
یک استراتژی فشرده‌سازی بر اساس هر فایل اعمال می‌کند. هر خط در file توسط نشانه‌هایی که با فاصله از هم جدا شده‌اند به شکل زیر تعریف می‌شود. به‌صورت اختیاری، به‌جای الگوریتم اصلی می‌توان الگوریتم‌های جایگزین را با algorithm-index به‌طور صریح مشخص کرد:
<pcluster-size-in-bytes> [algorithm-index] <match-pattern>
مقدارهای match-pattern عبارت‌های منظم توسعه‌یافته‌ای هستند که با مسیرهای مطلق درون سیستم‌فایل خروجی بدون اسلش اولیه تطبیق داده می‌شوند.
تمام آدرس‌های بلوک داده را با مضارب # تراز می‌کند.

اگر هر دو گزینه --dsunit و --chunksize تنظیم شده باشند، در صورتی که --dsunit بزرگ‌تر از --chunksize باشد، --dsunit نادیده گرفته می‌شود.

اگر --dsunit بزرگ‌تر باشد، چندین چانک را در بر می‌گیرد، برای مثال: -b 4096، --dsunit 512 (2MiB)، --chunksize 4096

به محض اینکه یک چانک تکرارزدایی (Deduplicate) شود، تمام چانک‌های بعدی دیگر تراز نخواهند بود. برای عملکرد بهینه، توصیه می‌شود --dsunit را برابر با مقدار --chunksize تنظیم کنید:

مثال: -b 4096, --dsunit 512 (2MiB), --chunksize $((4096*512))

فایلی را که دقیقاً با مسیر متنی داده‌شده تطابق دارد نادیده می‌گیرد. می‌توانید چندین گزینه --exclude-path تعریف کنید.
فایل‌هایی را که با عبارت منظم توسعه‌یافته داده‌شده مطابقت دارند نادیده می‌گیرد. می‌توانید چندین گزینه --exclude-regex تعریف کنید.
پیکربندی‌ها و بازنویسی‌های برچسب SELinux را از فایل file در قالب selinux_file(5) می‌خواند.
شناسه کاربری (UID) تمام فایل‌ها را روی UID تنظیم می‌کند.
شناسه گروهی (GID) تمام فایل‌ها را روی GID تنظیم می‌کند.
تراز اندازه دستگاه اصلی (معمولاً اندازه سیستم‌فایل) را بر حسب بلوک مشخص می‌کند.
مقدار GIDOFFSET را به GID تمام فایل‌ها اضافه می‌کند. وقتی این گزینه همراه با --force-gid استفاده شود، مقدار نهایی gid فایل‌ها برابر با GID + GIDOFFSET خواهد بود.
(همراه با --tar استفاده می‌شود) اطلاعات zinfo سازگار با AWS SOCI را برای پشتیبانی از دسترسی تصادفی gzip تولید می‌کند. فایل مبدأ باید یک آرشیو تار فشرده‌شده با gzip باشد.
پیوندهای سخت (Hardlinks) را دنبال کرده و آن‌ها را به عنوان اینودهای جداگانه اضافه می‌کند.
زمان اصلاح فایل را در مواقعی که باعث می‌شود mkfs.erofs به‌جای اینودهای فشرده از اینودهای توسعه‌یافته استفاده کند، نادیده می‌گیرد. در صورت عدم استفاده از برچسب زمانی ثابت، این گزینه می‌تواند کل حجم متادیتا را کاهش دهد. این گزینه توسط -E force-inode-compact به‌طور ضمنی فعال می‌شود.
یک ساخت افزایشی اجرا می‌کند که در آن DESTINATION یک تصویر EROFS موجود است، و داده‌های مشخص‌شده توسط SOURCE به‌صورت افزایشی به تصویر اضافه می‌شوند. MODE معنای یکسانی با بخش --clean در بالا دارد. ساخت افزایشی برای مبداهای --s3 و --oci پشتیبانی نمی‌شود.

اگر --incremental بدون مقدار صریح مشخص شود، به‌صورت --incremental=data رفتار می‌کند.

پشتیبانی حالت‌های MODE به تفکیک نوع مبدأ در حال حاضر:

مبدأ دایرکتوری محلی
تنها حالت data پشتیبانی می‌شود. حالت‌های rvsp و 0 نادیده گرفته می‌شوند.
مبدأ تار (--tar)
حالت‌های data و rvsp پشتیبانی می‌شوند. حالت 0 نادیده گرفته می‌شود. توجه داشته باشید که rvsp اولویت بالاتری نسبت به --tar=i یا --tar=headerball دارد.
حالت بازسازی (Rebuild mode)
تنها حالت rvsp پشتیبانی می‌شود.
حداکثر اندازه اکستنت غیرفشرده را بر حسب بایت مشخص می‌کند. مقدار پیش‌فرض نامحدود است.
(همراه با -T استفاده می‌شود) برچسب زمانی ارائه‌شده فقط روی زمان ساخت سیستم‌فایل اعمال می‌شود.
پیشوند مسیر سیستم‌فایل هدف را مشخص می‌کند (پیش‌فرض: /).
یک تصویر کامل (f) یا فقط نمایه (i) از مبدأ راه دور OCI تولید می‌کند. گزینه‌های اضافی زیر قابل تعیین هستند:
پلتفرم را مشخص می‌کند (پیش‌فرض: linux/amd64).
شاخص لایه را برای استخراج مشخص می‌کند (بر پایه صفر؛ در صورت حذف، تمام لایه‌ها استخراج می‌شوند).
دایجست حباب (Blob digest) را برای استخراج مشخص می‌کند (در صورت حذف، تمام لایه‌ها استخراج می‌شوند).
نام کاربری برای احراز هویت (اختیاری).
رمز عبور برای احراز هویت (اختیاری).
استفاده از HTTP به‌جای HTTPS (اختیاری).
تعداد # بایت را در ابتدای تصویر نادیده می‌گیرد و رد می‌کند.
متادیتای overlayfs (مانند whiteouts) را در تصویر هدف حذف می‌کند.
در صورتی که زمان اصلاح فایل از محدوده اینودهای فشرده سرریز کند، از اینودهای توسعه‌یافته استفاده می‌کند. این حالت پیش‌فرض است و گزینه --ignore-mtime را لغو می‌کند.
اجرای خاموش (هیچ پیامی در خروجی استاندارد چاپ نمی‌شود).
اطمینان حاصل می‌کند که اندازه xattr درون‌خطی دایرکتوری ریشه حداقل # بایت باشد.
یک تصویر از مخزن اشیای سازگار با S3 تولید می‌کند. گزینه‌های اضافی زیر قابل تعیین هستند:
فایل رمز عبور سازگار با S3FS، با فرمت "accessKey:secretKey" در خط اول.
سبک فراخوانی API سرویس S3 (به‌صورت vhost یا path) (پیش‌فرض: vhost).
نسخه امضای API سرویس S3 (مقدار 2 یا 4) (پیش‌فرض: 2).
کد منطقه‌ای (Region) که نقطه پایانی متعلق به آن است (برای sig=4 الزامی است).
ترتیب مرتب‌سازی داده‌های اینود را برای آرشیوهای تار به عنوان ورودی مشخص می‌کند.

MODE می‌تواند یکی از مقادیر none یا path باشد.

none: هیچ ترتیب داده خاصی برای تصویر هدف مشخص نمی‌شود تا از بار اضافی جلوگیری گردد؛ در حال حاضر زمانی مؤثر است که `-E^inline_data` تعیین شده باشد و هیچ فشرده‌سازی اعمال نشود.

path: ترتیب داده‌ها دقیقاً از ترتیب تولید درخت پیروی می‌کند (پیش‌فرض).

با مبدأ به‌جای یک دایرکتوری، به عنوان یک آرشیو تار یا یک «headerball» شبه‌تار رفتار می‌کند.

MODE می‌تواند یکی از مقادیر f، i، یا headerball باشد.

f: یک تصویر EROFS کامل از یک آرشیو تار معمولی تولید می‌کند (پیش‌فرض).

i: یک تصویر EROFS حاوی فقط متادیتا از یک آرشیو تار معمولی تولید می‌کند. تنها متادیتایی مانند dentries، اینودها و xattrs به تصویر اضافه می‌شوند و داده‌های فایل حذف می‌شوند. کاربرد چنین تصاویری شامل استفاده به عنوان لایه در سیستم‌فایل overlay همراه با لایه‌های فقط داده است.

headerball: یک تصویر EROFS حاوی فقط متادیتا از جریانی مشابه آرشیو تار تولید می‌کند، با این تفاوت که داده‌های فایل بعد از هر هدر فایل وجود ندارند.

مقدار UIDOFFSET را به UID تمام فایل‌ها اضافه می‌کند. وقتی این گزینه همراه با --force-uid استفاده شود، مقدار نهایی uid فایل‌ها برابر با UID + UIDOFFSET خواهد بود.
جریان‌های آرشیو تار را از فیلتر gzip عبور می‌دهد. به‌صورت اختیاری، جریان‌های خام نیز می‌توانند به‌طور هم‌زمان تخلیه شوند.
جریان‌های آرشیو تار را از فیلتر xz، lzma یا lzip عبور می‌دهد. به‌صورت اختیاری، جریان‌های خام نیز می‌توانند به‌طور هم‌زمان تخلیه شوند.
یک فایل توصیف‌گر VMDK برای ادغام زیرسیستم‌های فایل تولید می‌کند که می‌تواند برای نمایه تار یا حالت بازسازی استفاده شود.
تعداد نخ‌های پردازشی (Worker threads) را روی # تنظیم می‌کند (پیش‌فرض: تعداد پردازنده‌ها).
نام ویژگی توسعه‌یافته (xattr) را برای ثبت دایجست‌های اینود مشخص می‌کند.
یک پیشوند سفارشی برای فضای نام ویژگی توسعه‌یافته جهت صرفه‌جویی در فضا مشخص می‌کند، مانند "trusted.overlay.". می‌توانید چندین گزینه --xattr-prefix ارائه دهید (لینوکس 6.4+).
ویژگی‌های فشرده‌سازی سیستم‌فایل را بر اساس بیت‌های داده‌شده # فعال یا غیرفعال می‌کند. هر بیت در این مقدار متناظر با یک ویژگی فشرده‌سازی خاص است:
  7 6 5 4 3 2 1 0  (bit position)
  | | | | | | | |
  | | | | | | | +-- Bit 0 (1)   : legacy-compress
  | | | | | | +---- Bit 1 (2)   : ztailpacking
  | | | | | +------ Bit 2 (4)   : fragments
  | | | | +-------- Bit 3 (8)   : all-fragments
  | | | +---------- Bit 4 (16)  : dedupe
  | | +------------ Bit 5 (32)  : fragdedupe
  | +-------------- Bit 6 (64)  : 48bit
  +---------------- Bit 7 (128) : dot-omitted
برای مثال، گزینه --zfeature-bits=6 (در مبنای دو: 0000 0110) ویژگی‌های ztailpacking (بیت ۱) و fragments (بیت ۲) را فعال می‌کند.

نمایش پیام راهنما و خروج.
چاپ شماره نسخه و خروج.

حالت بازسازی (REBUILD MODE)
حالت بازسازی به mkfs.erofs امکان می‌دهد تا یک تصویر EROFS جدید از یک یا چند تصویر EROFS موجود که به عنوان مبدأ ارسال شده‌اند تولید کند. این حالت به‌ویژه برای ادغام چندین تصویر EROFS یا ایجاد تصاویر متادیتای فقط نمایه که به داده‌های درون تصاویر مبدأ ارجاع می‌دهند، بسیار سودمند است.

وقتی مبدأ شامل یک یا چند فایل تصویر EROFS باشد، mkfs.erofs به‌طور خودکار وارد حالت بازسازی می‌شود. این رفتار توسط گزینه‌های --clean یا --incremental کنترل می‌شود که نحوه مدیریت داده‌های فایل را مشخص می‌کنند:

حالت پیش‌فرض (نمایه حبابی / blob index)
تصویر تولیدشده تنها حاوی متادیتا (اینودها، dentries و xattrs) است. داده‌های فایل از طریق نمایه‌های مبتنی بر چانک که به تصاویر مبدأ اصلی اشاره دارند، ارجاع داده می‌شوند که مانند دستگاه‌های حباب خارجی عمل می‌کنند. این کار یک لایه متادیتای فشرده مناسب برای سناریوهای سیستم‌فایل لایه‌ای، مشابه لایه‌های تصویر کانتینر، ایجاد می‌کند.
حالت داده (data mode)
--clean=data: داده‌های کامل فایل را از تمام تصاویر مبدأ به تصویر مقصد وارد کرده و یک تصویر EROFS کاملاً خودکفا تولید می‌کند که به دستگاه‌های حباب خارجی وابسته نیست.
حالت رزرو (rvsp mode)
--clean=rvsp یا --incremental=rvsp: فضا را برای داده‌های فایل بدون کپی کردن محتوای واقعی رزرو می‌کند که برای ایجاد تصاویر خلوت (Sparse) بسیار کاربردی است.

این نسخه از mkfs.erofs توسط Li Guifu <blucerlee@gmail.com>، Miao Xie <miaoxie@huawei.com> و Gao Xiang <xiang@kernel.org> با بهبودهای مداوم سایر مشارکت‌کنندگان نوشته شده است.

این صفحه راهنما توسط Gao Xiang <xiang@kernel.org> نوشته شده است.

ابزار mkfs.erofs بخشی از بسته erofs-utils است و از نشانی git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git در دسترس است.

mkfs(8).