'\" t .\" Title: nvme-rpmb .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 02/16/2026 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: Persian .\" .TH "NVME\-RPMB" "1" "02/16/2026" "NVMe" "NVMe Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" nvme-rpmb \- ارسال دستورات RPMB به یک دستگاه NVMe .SH "خلاصه دستور (SYNOPSIS)" .sp .nf \fInvme rpmb\fR [\-\-cmd= | \-c ] [\-\-msgfile= | \-f ] [\-\-keyfile= | \-g ] [\-\-key= | \-k ] [\-\-msg= | \-d ] [\-\-address= | \-o ] [\-\-blocks=<512 byte sectors> | \-b ] [\-\-target= | \-t ] [\-\-output\-format= | \-o ] [\-\-verbose | \-v] .fi .SH "توضیحات (DESCRIPTION)" .sp برای دستگاه NVMe داده‌شده، یک دستور nvme rpmb ارسال کرده و نتایج را ارائه می‌دهد\&. .sp پارامتر اجباری است و باید یک دستگاه کاراکتری NVMe (مانند /dev/nvme0) مشخص شود\&. اگر دستگاه داده‌شده از اهداف RPMB پشتیبانی کند، دستور ارائه‌شده با گزینهٔ \-\-cmd یا \-c به کنترل‌کننده ارسال خواهد شد\&. اگر دستگاه NVMe مورد نظر از اهداف RPMB پشتیبانی نکند، پیامی مبنی بر همین موضوع به همراه مقادیر ثبات‌های کنترل‌کنندهٔ مرتبط با RPMB چاپ می‌شود\&. .SH "گزینه‌ها (OPTIONS)" .PP \-c , \-\-cmd= .RS 4 دستور RPMB برای ارسال به دستگاه\&. این دستور می‌تواند یکی از موارد زیر باشد: .sp .if n \{\ .RS 4 .\} .nf info \- چاپ اطلاعات مربوط به اهداف RPMB پشتیبانی‌شده، اندازه‌های دسترسی و اندازهٔ کل\&. به هیچ آرگومان دیگری نیاز نیست\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf program\-key \- برنامه‌ریزی کلید (key) مشخص‌شده با گزینهٔ \-k یا کلید خوانده‌شده از فایل مشخص‌شده با گزینهٔ \-\-keyfile برای هدف RPMB تعیین‌شده با گزینه‌های \-\-target یا \-t\&. طبق مشخصات فنی، این یک عملیات یک‌باره است و قابل بازگشت نیست\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf read\-counter \- خواندن «شمارندهٔ نوشتن» (write counter) برای هدف RPMB مشخص‌شده\&. مقدار شمارندهٔ خوانده‌شده در STDOUT چاپ می‌شود\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf read\-config \- خواندن ۵۱۲ بایت داده‌های بلوک پیکربندی دستگاه از هدف RPMB مشخص‌شده در دستگاه NVMe\&. داده‌های خوانده‌شده در فایل ورودی مشخص‌شده با گزینهٔ \-\-msgfile یا \-f نوشته می‌شوند\&. write\-config \- نوشتن ۵۱۲ بایت داده‌های بلوک پیکربندی دستگاه از فایل مشخص‌شده توسط گزینه‌های \-\-msgfile یا \-f در هدف RPMB مشخص‌شده با گزینه‌های \-\-target یا \-t\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf read\-data \- پشتیبانی از خواندن احرازهویت‌شدهٔ داده‌ها از هدف RPMB مشخص‌شده (گزینهٔ \-\-target یا \-t) در افست ارائه‌شده با گزینهٔ \-\-address یا \-o، با استفاده از کلید مشخص‌شده با گزینهٔ \-\-keyfile یا \-k\&. برای مشخص کردن میزان داده جهت خواندن بر حسب بلوک‌های ۵۱۲ بایتی، باید گزینهٔ \-\-blocks یا \-b ارائه شود\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf write\-data \- پشتیبانی از نوشتن احرازهویت‌شدهٔ داده‌ها در هدف RPMB مشخص‌شده (گزینهٔ \-\-target یا \-t) در افست ارائه‌شده با گزینهٔ \-\-address یا \-o، با استفاده از کلید مشخص‌شده با گزینهٔ \-\-keyfile یا \-k\&. برای مشخص کردن میزان داده جهت نوشتن بر حسب بلوک‌های ۵۱۲ بایتی، باید گزینهٔ \-\-blocks یا \-b ارائه شود\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf برای دستورات انتقال داده (خواندن/نوشتن)، اگر اندازهٔ مشخص‌شده در محدودهٔ اندازهٔ کل پشتیبانی‌شده توسط یک هدف نباشد، nvme\-rpmb بدون ارسال درخواست به دستگاه، آن را با شکست مواجه می‌کند\&. در صورتی که \-\-target یا \-t مشخص نشده باشد، هدف RPMB شمارهٔ 0 به عنوان هدف پیش‌فرض استفاده می‌شود\&. در صورت عدم تعیین گزینهٔ \-\-address یا \-o، آدرس 0x0 به عنوان آدرس پیش‌فرض در نظر گرفته می‌شود\&. .fi .if n \{\ .RE .\} .RE .PP \-t , \-\-target= .RS 4 شناسهٔ هدف RPMB\&. این مقدار باید یکی از اهداف RPMB پشتیبانی‌شده باشد که توسط دستور \fIinfo\fR گزارش می‌شود\&. در صورت عدم تعیین، مقدار پیش‌فرض 0 به عنوان هدف RPMB استفاده می‌شود\&. .RE .PP \-k , \-\-key=, \-g , \-\-keyfile= .RS 4 کلید احراز هویت برای استفاده در دستورات خواندن/نوشتن\&. این کلید باید قبلاً توسط دستور \fIprogram\-key\fR برای هدف مورد نظر برنامه‌ریزی شده باشد\&. کلید را می‌توان با استفاده از گزینه‌های \-\-key یا \-k در خط فرمان مشخص کرد\&. همچنین می‌توان کلید را با استفاده از آرگومان فایل ارائه‌شده با گزینه‌های \-\-keyfile یا \-g مشخص نمود\&. .RE .PP \-f , \-\-msgfile= .RS 4 نام فایلی که برای دستورات انتقال داده (خواندن یا نوشتن) استفاده می‌شود\&. برای دستور خواندن، اگر یک فایل موجود مشخص شود، داده‌ها به انتهای آن افزوده (append) خواهند شد\&. .RE .PP \-d , \-\-msg= .RS 4 این گزینه‌ها داده‌ها را مستقیماً در خود خط فرمان ارائه می‌دهند\&. .RE .PP \-o , \-\-address= .RS 4 آدرس (بر حسب افست سکتورهای ۵۱۲ بایتی از 0) برای استفاده در دستورات انتقال داده (خواندن یا نوشتن) برای یک هدف RPMB مشخص‌شده\&. .RE .PP \-b, \-\-blocks= .RS 4 اندازه بر حسب سکتورهای ۵۱۲ بایتی برای استفاده در دستورات انتقال داده (خواندن یا نوشتن) برای یک هدف RPMB مشخص‌شده\&. .RE .PP \-o , \-\-output\-format= .RS 4 تنظیم قالب گزارش‌دهی روی \fInormal\fR، \fIjson\fR یا \fIbinary\fR\&. در هر بار فقط می‌توان از یک قالب خروجی استفاده کرد\&. .RE .PP \-v, \-\-verbose .RS 4 افزایش جزئیات اطلاعات در خروجی\&. .RE .SH "مثال‌ها (EXAMPLES)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} چاپ اطلاعات پشتیبانی از RPMB در یک دستگاه NVMe: .sp .if n \{\ .RS 4 .\} .nf # nvme rpmb /dev/nvme0 \-\-cmd=info .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} برنامه‌ریزی \fISecretKey\fR به عنوان کلید احراز هویت برای هدف 1: .sp .if n \{\ .RS 4 .\} .nf # nvme rpmb /dev/nvme0 \-\-cmd=program\-key \-key=\*(AqSecretKey\*(Aq \-\-target=1 .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} خواندن شمارندهٔ نوشتن فعلی برای هدف RPMB شمارهٔ 0: .sp .if n \{\ .RS 4 .\} .nf # nvme rpmb /dev/nvme0 \-\-cmd=read\-counter \-\-target=0 .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} خواندن بلوک داده‌های پیکربندی هدف 2 و ذخیره در فایل config\&.bin: .sp .if n \{\ .RS 4 .\} .nf # nvme rpmb /dev/nvme0 \-\-cmd=read\-config \-\-target=2 \-f config\&.bin .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} نوشتن ۲۰۰ بلوک (۵۱۲ بایتی) از input\&.bin روی هدف 0: .sp .if n \{\ .RS 4 .\} .nf # nvme rpmb /dev/nvme0 \-c write\-data \-t 0 \-f input\&.bin \-b 200 \-k \*(AqSecretKey\*(Aq .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} خواندن ۲۰۰ بلوک (۵۱۲ بایتی) از هدف 2 در افست 0x100 و ذخیرهٔ .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} داده‌ها در out\&.bin: .sp .if n \{\ .RS 4 .\} .nf # nvme rpmb /dev/nvme0 \-c read\-data \-t 2 \-f out\&.bin \-b 200 \-o 0x100 .fi .if n \{\ .RE .\} .RE .SH "همچنین ببینید (SEE ALSO)" .sp \fBnvme\fR(1) .SH "ان‌وی‌ام‌ای (NVME)" .sp بخشی از مجموعهٔ nvme\-user