NVME-RPMB(1) NVMe Manual NVME-RPMB(1) نام (NAME) nvme-rpmb - ارسال دستورات RPMB به یک دستگاه NVMe خلاصه دستور (SYNOPSIS) nvme rpmb [--cmd= | -c ] [--msgfile= | -f ] [--keyfile= | -g ] [--key= | -k ] [--msg= | -d ] [--address= | -o ] [--blocks=<512 byte sectors> | -b ] [--target= | -t ] [--output-format= | -o ] [--verbose | -v] توضیحات (DESCRIPTION) برای دستگاه NVMe داده‌شده، یک دستور nvme rpmb ارسال کرده و نتایج را ارائه می‌دهد. پارامتر اجباری است و باید یک دستگاه کاراکتری NVMe (مانند /dev/nvme0) مشخص شود. اگر دستگاه داده‌شده از اهداف RPMB پشتیبانی کند، دستور ارائه‌شده با گزینهٔ --cmd یا -c به کنترل‌کننده ارسال خواهد شد. اگر دستگاه NVMe مورد نظر از اهداف RPMB پشتیبانی نکند، پیامی مبنی بر همین موضوع به همراه مقادیر ثبات‌های کنترل‌کنندهٔ مرتبط با RPMB چاپ می‌شود. گزینه‌ها (OPTIONS) -c , --cmd= دستور RPMB برای ارسال به دستگاه. این دستور می‌تواند یکی از موارد زیر باشد: info - چاپ اطلاعات مربوط به اهداف RPMB پشتیبانی‌شده، اندازه‌های دسترسی و اندازهٔ کل. به هیچ آرگومان دیگری نیاز نیست. program-key - برنامه‌ریزی کلید (key) مشخص‌شده با گزینهٔ -k یا کلید خوانده‌شده از فایل مشخص‌شده با گزینهٔ --keyfile برای هدف RPMB تعیین‌شده با گزینه‌های --target یا -t. طبق مشخصات فنی، این یک عملیات یک‌باره است و قابل بازگشت نیست. read-counter - خواندن «شمارندهٔ نوشتن» (write counter) برای هدف RPMB مشخص‌شده. مقدار شمارندهٔ خوانده‌شده در STDOUT چاپ می‌شود. read-config - خواندن ۵۱۲ بایت داده‌های بلوک پیکربندی دستگاه از هدف RPMB مشخص‌شده در دستگاه NVMe. داده‌های خوانده‌شده در فایل ورودی مشخص‌شده با گزینهٔ --msgfile یا -f نوشته می‌شوند. write-config - نوشتن ۵۱۲ بایت داده‌های بلوک پیکربندی دستگاه از فایل مشخص‌شده توسط گزینه‌های --msgfile یا -f در هدف RPMB مشخص‌شده با گزینه‌های --target یا -t. read-data - پشتیبانی از خواندن احرازهویت‌شدهٔ داده‌ها از هدف RPMB مشخص‌شده (گزینهٔ --target یا -t) در افست ارائه‌شده با گزینهٔ --address یا -o، با استفاده از کلید مشخص‌شده با گزینهٔ --keyfile یا -k. برای مشخص کردن میزان داده جهت خواندن بر حسب بلوک‌های ۵۱۲ بایتی، باید گزینهٔ --blocks یا -b ارائه شود. write-data - پشتیبانی از نوشتن احرازهویت‌شدهٔ داده‌ها در هدف RPMB مشخص‌شده (گزینهٔ --target یا -t) در افست ارائه‌شده با گزینهٔ --address یا -o، با استفاده از کلید مشخص‌شده با گزینهٔ --keyfile یا -k. برای مشخص کردن میزان داده جهت نوشتن بر حسب بلوک‌های ۵۱۲ بایتی، باید گزینهٔ --blocks یا -b ارائه شود. برای دستورات انتقال داده (خواندن/نوشتن)، اگر اندازهٔ مشخص‌شده در محدودهٔ اندازهٔ کل پشتیبانی‌شده توسط یک هدف نباشد، nvme-rpmb بدون ارسال درخواست به دستگاه، آن را با شکست مواجه می‌کند. در صورتی که --target یا -t مشخص نشده باشد، هدف RPMB شمارهٔ 0 به عنوان هدف پیش‌فرض استفاده می‌شود. در صورت عدم تعیین گزینهٔ --address یا -o، آدرس 0x0 به عنوان آدرس پیش‌فرض در نظر گرفته می‌شود. -t , --target= شناسهٔ هدف RPMB. این مقدار باید یکی از اهداف RPMB پشتیبانی‌شده باشد که توسط دستور info گزارش می‌شود. در صورت عدم تعیین، مقدار پیش‌فرض 0 به عنوان هدف RPMB استفاده می‌شود. -k , --key=, -g , --keyfile= کلید احراز هویت برای استفاده در دستورات خواندن/نوشتن. این کلید باید قبلاً توسط دستور program-key برای هدف مورد نظر برنامه‌ریزی شده باشد. کلید را می‌توان با استفاده از گزینه‌های --key یا -k در خط فرمان مشخص کرد. همچنین می‌توان کلید را با استفاده از آرگومان فایل ارائه‌شده با گزینه‌های --keyfile یا -g مشخص نمود. -f , --msgfile= نام فایلی که برای دستورات انتقال داده (خواندن یا نوشتن) استفاده می‌شود. برای دستور خواندن، اگر یک فایل موجود مشخص شود، داده‌ها به انتهای آن افزوده (append) خواهند شد. -d , --msg= این گزینه‌ها داده‌ها را مستقیماً در خود خط فرمان ارائه می‌دهند. -o , --address= آدرس (بر حسب افست سکتورهای ۵۱۲ بایتی از 0) برای استفاده در دستورات انتقال داده (خواندن یا نوشتن) برای یک هدف RPMB مشخص‌شده. -b, --blocks= اندازه بر حسب سکتورهای ۵۱۲ بایتی برای استفاده در دستورات انتقال داده (خواندن یا نوشتن) برای یک هدف RPMB مشخص‌شده. -o , --output-format= تنظیم قالب گزارش‌دهی روی normal، json یا binary. در هر بار فقط می‌توان از یک قالب خروجی استفاده کرد. -v, --verbose افزایش جزئیات اطلاعات در خروجی. مثال‌ها (EXAMPLES) • چاپ اطلاعات پشتیبانی از RPMB در یک دستگاه NVMe: # nvme rpmb /dev/nvme0 --cmd=info • برنامه‌ریزی SecretKey به عنوان کلید احراز هویت برای هدف 1: # nvme rpmb /dev/nvme0 --cmd=program-key -key='SecretKey' --target=1 • خواندن شمارندهٔ نوشتن فعلی برای هدف RPMB شمارهٔ 0: # nvme rpmb /dev/nvme0 --cmd=read-counter --target=0 • خواندن بلوک داده‌های پیکربندی هدف 2 و ذخیره در فایل config.bin: # nvme rpmb /dev/nvme0 --cmd=read-config --target=2 -f config.bin • نوشتن ۲۰۰ بلوک (۵۱۲ بایتی) از input.bin روی هدف 0: # nvme rpmb /dev/nvme0 -c write-data -t 0 -f input.bin -b 200 -k 'SecretKey' • خواندن ۲۰۰ بلوک (۵۱۲ بایتی) از هدف 2 در افست 0x100 و ذخیرهٔ • داده‌ها در out.bin: # nvme rpmb /dev/nvme0 -c read-data -t 2 -f out.bin -b 200 -o 0x100 همچنین ببینید (SEE ALSO) nvme(1) ان‌وی‌ام‌ای (NVME) بخشی از مجموعهٔ nvme-user NVMe 02/16/2026 NVME-RPMB(1)