mmc-utils(1) General Commands Manual mmc-utils(1)

mmc - ابزاری برای پیکربندی و مدیریت دستگاه‌های ذخیره‌سازی MMC و eMMC

mmc [گزینه‌ها] [دستگاه-بلوکی-mmc]...

ابزار mmc-utils یک ابزار تک‌نخی (single-threaded) برای اجرای عملیات تعیین‌شده MMC توسط کاربر است.
کاربرد متداول mmc-utils دسترسی به دستگاه حافظه MMC جهت پیکربندی یا خواندن ثبات‌های پیکربندی (configuration registers) آن است.

خواندن و چاپ ثبات CSD توسعه‌یافته (extcsd).
نوشتن مقدار value در آفست offset در ثبات extcsd دستگاه.
چاپ وضعیت حفاظت در برابر نوشتن (write protect) پارتیشن‌های بوت.
تنظیم وضعیت حفاظت در برابر نوشتن پارتیشن بوت دستگاه.
اگر number ارسال شود (۰ یا ۱)، تنها همان پارتیشن بوت eMMC محافظت می‌شود؛ در غیر این صورت هر دو پارتیشن محافظت خواهند شد.
این حفاظت تا راه‌اندازی (بوت) بعدی پایدار خواهد بود.
چاپ پیکربندی حفاظت در برابر نوشتن ناحیه کاربری برای دستگاه.
تنظیم پیکربندی حفاظت در برابر نوشتن برای محدوده مشخصی از ناحیه کاربری دستگاه.
start-block بلوک آغازین ناحیه محافظت‌شده را مشخص می‌کند.
blocks اندازه ناحیه محافظت‌شده را بر حسب تعداد بلوک‌ها مشخص می‌سازد.
توجه! این محدوده باید در مرزهای گروه حفاظت در برابر نوشتن آغاز شده و پایان یابد. از دستور "writeprotect user get" برای دریافت اندازه گروه حفاظت استفاده کنید. type یکی از مقادیر زیر است:
پاک کردن حفاظت موقت در برابر نوشتن.
تنظیم حفاظت موقت در برابر نوشتن.
تنظیم حفاظت در برابر نوشتن تا زمان قطع و وصل مجدد برق (power cycle).
تنظیم اندازه سکتور داده eMMC به ۴ کیلوبایت با غیرفعال‌سازی شبیه‌سازی روی دستگاه.
ایجاد پارتیشن همه‌منظوره (general purpose) برای دستگاه.
توجه! این یک تغییر یک‌باربرنامه‌ریزی‌پذیر (غیرقابل بازگشت) است.
برای تنظیم ویژگی بهبودیافته (enhanced) برای پارتیشن، مقدار enh-attr را ۱ و در غیر این صورت ۰ بگذارید.
dry-run یکی از موارد زیر است:
مقدار PARTITION_SETTING_COMPLETED در extcsd تنظیم شده و عملیات پارتیشن‌بندی نهایی و اعمال می‌گردد.
تنظیمات پارتیشن‌بندی بیشتری در راه است؛ عملیات هنوز نهایی نمی‌شود.
تغییرات نه اکنون و نه پس از راه‌اندازی مجدد اعمال نخواهند شد.
فعال‌سازی ناحیه کاربری بهبودیافته برای دستگاه (غیرقابل بازگشت).
فعال‌سازی قابلیت اطمینان نوشتن به ازای هر پارتیشن برای دستگاه (غیرقابل بازگشت).
چاپ پاسخ دستور STATUS_SEND (CMD13).
فعال‌سازی پارتیشن بوت برای دستگاه (اگر boot-partition برابر با ۰ باشد، غیرفعال می‌شود).
تنظیم شرایط گذرگاه بوت (Boot Bus Conditions).
فعال‌سازی قابلیت BKOPS مربوط به eMMC روی دستگاه.
mode می‌تواند auto (خودکار) یا manual (دستی) باشد (حالت دستی غیرقابل بازگشت است).
فعال‌سازی دائمی قابلیت بازنشانی سخت‌افزاری eMMC روی دستگاه (غیرقابل بازگشت).
غیرفعال‌سازی دائمی قابلیت بازنشانی سخت‌افزاری eMMC روی دستگاه (غیرقابل بازگشت).
ارسال دستور Sanitize به دستگاه جهت پاک‌سازی قطعی نواحی نگاشت‌نشده حافظه.
برنامه‌ریزی کلید احراز هویت ۳۲ بایتی ذخیره‌شده در فایل تعیین‌شده (یا '-' برای ورودی استاندارد). غیرقابل بازگشت است.
خواندن مقدار شمارنده rpmb-device در خروجی استاندارد.
خواندن بلوک‌های ۲۵۶ بایتی از rpmb-device به پرونده خروجی یا stdout.
نوشتن بلوک ۲۵۶ بایتی از فایل داده به rpmb-device.
فعال‌سازی حالت حفاظت امن در برابر نوشتن.
غیرفعال‌سازی حالت حفاظت امن در برابر نوشتن (حالت موروثی).
فعال‌سازی قابلیت حافظه نهان (کَش) eMMC روی دستگاه.
غیرفعال‌سازی قابلیت حافظه نهان (کَش) eMMC روی دستگاه.
چاپ داده‌های ثبات CSD از مسیر دستگاه.
چاپ داده‌های ثبات شناسه کارت CID از مسیر دستگاه.
چاپ داده‌های ثبات پیکربندی SD (ثبات SCR) از مسیر دستگاه.
اجرای به‌روزرسانی میان‌افزار میدانی (Field Firmware Update / FFU) با تصویر مشخص‌شده روی دستگاه.
ارسال دستور Erase CMD38 برای پاک‌سازی بازه مشخص‌شده از داده‌های کاربری.
ارسال دستور عمومی GEN_CMD (CMD56) جهت خواندن داده‌های سلامت یا اطلاعات اختصاصی سازنده دستگاه.
ارسال فرمان CMD0 برای بازنشانی نرم‌افزاری.
اجرای عملیات بوت جایگزین و نوشتن بلوک‌های اولیه داده‌های بوت در پرونده درخواستی.
نمایش راهنمای دستورات.
نمایش راهنمای تفصیلی برای دستور خاص cmd.

پارتیشن RPMB (بلوک حافظه محافظت‌شده در برابر بازپخش) در دستگاه‌های eMMC ناحیه ویژه‌ای برای ذخیره‌سازی امن اطلاعات با امضای رمزنگاری‌شده توسط یک کلید محرمانه اختصاصی است.
جهت نوشتن و خواندن رکوردها از این ناحیه ویژه، احراز هویت الزامی است.
دسترسی به ناحیه RPMB *منحصراً* از طریق ioctl() از فضای کاربری انجام می‌شود.

نمونه‌های RPMB

برنامه‌ریزی کلید RPMB از طریق ورودی استاندارد:

$ echo -n AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHH | mmc rpmb write-key /dev/mmcblk0rpmb -

خواندن ۲ بلوک از آدرس ۲ و چاپ در خروجی استاندارد با اعتبارسنجی فریم‌ها با کلید:

$ echo -n AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHH | mmc rpmb read-block /dev/mmcblk0rpmb 0x02 2 -

خواندن ۲ بلوک بدون اعتبارسنجی از آدرس ۲ و ذخیره در پرونده /tmp/block:

$ mmc rpmb read-block /dev/mmcblk0rpmb 0x02 2 /tmp/block

نمونه‌های به‌روزرسانی میان‌افزار (FFU)

اجرای FFU با حداکثر اندازه قطعه مجاز:

$ mmc ffu IO4e0aC2056001801M1100042AE1.fluf /dev/mmcblk0

مشابه بالا اما با قطعات ۴ کیلوبایتی:

$ mmc ffu IO4e0aC2056001801M1100042AE1.fluf /dev/mmcblk0 4096

ابزار mmc-utils توسط Chris Ball <cjb@laptop.org> و <chris@printf.net> نوشته شده است.
این ابزار در حال حاضر توسط Ulf Hansson <ulf.hansson@linaro.org> نگهداری می‌شود.

اشکالات را به فهرست رایانامه‌ای mmc به نشانی <linux-mmc@vger.kernel.org> گزارش دهید.

برای مستندات تکمیلی پرونده README را مطالعه فرمایید.
مقدمه کوتاه: https://docs.kernel.org/driver-api/mmc/mmc-tools.html
درخت رسمی گیت: https://git.kernel.org/pub/scm/utils/mmc/mmc-utils.git

April 2024 User Manual