.\" SPDX-License-Identifier: GPL-2.0 .\" Copyright (C) 2022 Sean Anderson .\" Copyright (C) 2013-20 Simon Glass .\" Copyright (C) 2010 Nobuhiro Iwamatsu .\" Copyright (C) 2010 Wolfgang Denk .TH MKIMAGE 1 2022-06-11 U-Boot . .SH "نام (NAME)" mkimage \- تولید ایمیج‌ها برای U-Boot .SH "خلاصه دستور (SYNOPSIS)" .SY mkimage .OP \-T type .BI \-l\~ image-file-name .YS . .SY mkimage .RI [ option\~ .\|.\|.\&] .OP \-T type .I image-file-name .YS . .SY mkimage .RI [ option\~ .\|.\|.\&] .BI \-f\~ image-tree-source-file\c .RB | auto\c .RB | auto-conf .I image-file-name .YS . .SY mkimage .RI [ option\~ .\|.\|.\&] .BI \-F\~ image-file-name .YS . .SH "توضیحات (DESCRIPTION)" دستور .B mkimage برای ساخت ایمیج‌ها جهت استفاده با بوت‌لودر U-Boot به کار می‌رود. این ایمیج‌ها می‌توانند شامل هسته لینوکس، device tree blob، ایمیج سیستم‌فایل ریشه، ایمیج‌های میان‌افزار (firmware) و غیره، به صورت مجزا یا ترکیبی باشند. .P دستور .B mkimage از قالب‌های ایمیج متعددی پشتیبانی می‌کند. برخی از این قالب‌ها ممکن است توسط سفت‌افزار بوت تعبیه‌شده (embedded boot firmware) برای بارگذاری U-Boot به کار روند. سایر قالب‌ها ممکن است توسط U-Boot برای بارگذاری لینوکس (یا هسته‌ای دیگر) استفاده شوند: .P قالب سنتی (legacy) ایمیج، بخش‌های مجزا (برای مثال، ایمیج هسته، device tree blob و ایمیج ramdisk) را پشت سر هم متصل می‌کند و یک سرآیند ۶۴ بایتی شامل اطلاعاتی درباره معماری مقصد، سیستم‌عامل، نوع ایمیج، روش فشرده‌سازی، نقاط ورود (entry points)، برچسب زمانی، مجموع‌های مقابله‌ای (checksums) و غیره به آن می‌افزاید. .P قالب جدید .I FIT (Flattened Image Tree) انعطاف‌پذیری بیشتری در کار با انواع گوناگون ایمیج‌ها فراهم می‌کند و همچنین حفاظت از یکپارچگی ایمیج‌ها را با مجموع‌های مقابله‌ای قوی‌تر ارتقا می‌دهد. این قالب همچنین از بوت تأییدشده (verified boot) پشتیبانی می‌کند. . .SH "گزینه‌ها (OPTIONS)" . .SS "گزینه‌های عمومی (General options)" . .TP .B \-h .TQ .B \-\-help پیام راهنما را چاپ کرده و خارج می‌شود. . .TP .B \-l .TQ .B \-\-list دستور .B mkimage اطلاعات موجود در سرآیند یک ایمیج موجود U-Boot را فهرست می‌کند. . .TP .B \-s .TQ .B \-\-no\-copy داده‌های ایمیج را درون آن رونوشت نمی‌کند. بسته به نوع ایمیج، این کار ممکن است تنها سرآیند، همه‌چیز به جز داده‌های ایمیج، یا اصلاً هیچ‌چیزی ایجاد نکند. . .TP .BI \-T " image-type" .TQ .BI \-\-type " image-type" فایل ایمیج را به عنوان .IR image-type تجزیه می‌کند. مقدار .B list را به عنوان .I image-type ارسال کنید تا فهرست انواع ایمیج‌های پشتیبانی‌شده را مشاهده نمایید. اگر این گزینه مشخص نشود، مقدار پیش‌فرض آن .B kernel (ایمیج سنتی) خواهد بود. اگر این گزینه هنگام استفاده از .B \-l مشخص نشده باشد، آن‌گاه .B mkimage تلاش خواهد کرد نوع ایمیج را به طور خودکار شناسایی کند. همه انواع ایمیج از تشخیص خودکار پشتیبانی نمی‌کنند، بنابراین ممکن است لازم باشد .B \-T به صورت صریح مشخص شود. .IP هنگام ساخت یک ایمیج FIT با .BR \-f ، نوع ایمیج همیشه برابر با .BR flat_dt تنظیم می‌شود. در این حالت، .B \-T ویژگی \(oqtype\(cq مربوط به گره ایمیج را تعیین می‌کند. اگر .B \-T داده نشود، ویژگی \(oqtype\(cq به طور پیش‌فرض برابر با .BR kernel خواهد بود. . .TP .B \-q .TQ .B \-\-quiet حالت بی‌صدا. سرآیند ایمیج را چاپ نمی‌کند. . .TP .B \-v .TQ .B \-\-verbose حالت مشروح. نام فایل‌ها را هنگام افزوده شدن به ایمیج چاپ می‌کند. . .TP .B \-V .TQ .B \-\-version اطلاعات نسخه را چاپ کرده و خارج می‌شود. ..SS "گزینه‌های عمومی ساخت تصویر (General image-creation options)" . .TP .BI \-A " architecture" .TQ .BI \-\-architecture " architecture" معماری را تعیین می‌کند. برای مشاهده فهرست معماری‌های پشتیبانی‌شده، .B \-h را به‌عنوان معماری ارسال کنید. اگر .B \-A مشخص نشود، مقدار پیش‌فرض آن .BR ppc است. . .TP .BI \-O " os" .TQ .BI \-\-os " os" سیستم‌عامل را تعیین می‌کند. دستور .I bootm در U-Boot شیوه راه‌اندازی (بوت) را بر اساس نوع سیستم‌عامل تغییر می‌دهد. برای مشاهده فهرست سیستم‌عامل‌های پشتیبانی‌شده، .B \-h را به‌عنوان .I os ارسال کنید. اگر .B \-O مشخص نشود، مقدار پیش‌فرض آن .BR linux است. . .TP .BI \-C " compression-type" .TQ .BI \-\-compression " compression-type" نوع فشرده‌سازی را تعیین می‌کند. داده‌های تصویر باید از قبل با استفاده از این نوع فشرده‌سازی فشرده شده باشند. .B mkimage داده‌های تصویر را به‌طور خودکار فشرده نخواهد کرد. برای مشاهده فهرست انواع فشرده‌سازی پشتیبانی‌شده، .B \-h را به‌عنوان .I compression-type ارسال کنید. اگر .B \-C مشخص نشود، مقدار پیش‌فرض آن .BR gzip است. . .TP .BI \-a " load-address" .TQ .BI \-\-load\-address " load-address" آدرس مطلقی که داده‌های تصویر باید در آن بارگذاری شوند را تعیین می‌کند. .I load-address به‌عنوان یک عدد در مبنای شانزده (هگزادسیمال) تفسیر می‌شود. . .TP .BI \-e " entry-point" .TQ .BI \-\-entry\-point " entry-point" آدرس مطلق نقطه ورود تصویر را تعیین می‌کند. دستور .I bootm در U-Boot پس از بارگذاری تصویر به این آدرس پرش خواهد کرد. .I entry-point به‌عنوان یک عدد در مبنای شانزده (هگزادسیمال) تفسیر می‌شود. . .TP .BI \-n " primary-configuration" .TQ .BI \-\-config " primary-configuration" تصاویر ممکن است به پیکربندی‌های اضافه‌ای نیاز داشته باشند که با گزینه‌های دیگر مشخص نمی‌شود؛ این تنظیمات معمولاً در قالبی مختص به نوع تصویر هستند. انواع تصاویری که از این گزینه پشتیبانی می‌کنند و قالب پیکربندی آن‌ها در بخش .BR CONFIGURATION فهرست شده‌اند. . .TP .BI \-R " secondary-configuration" .TQ .BI \-\-secondary\-config " secondary-configuration" برخی از انواع تصویر از مجموعه‌ای دوم از داده‌های پیکربندی پشتیبانی می‌کنند. انواع تصاویری که از پیکربندی ثانویه پشتیبانی می‌کنند و قالب پیکربندی آن‌ها در بخش .BR CONFIGURATION فهرست شده‌اند. . .TP .BI \-d " image-data-file" .TQ .BI \-\-image " image-data-file" از داده‌های تصویر موجود در .IR image-data-file استفاده می‌کند. اگر .I image-type برابر با .BR multi باشد، می‌توان چندین تصویر را که با دونقطه از یکدیگر جدا شده‌اند مشخص کرد: .RS .IP .IR image-data-file [\fB:\fP image-data-file .\|.\|.] .RE . .TP .B \-x .TQ .B \-\-xip پرچم .I XIP (اجرا در محل / execute in place) را تنظیم می‌کند. دستور .I bootm در U-Boot داده‌های تصویر را بارگذاری نخواهد کرد و در عوض فرض می‌کند که این داده‌ها از قبل در آدرس بارگذاری در دسترس هستند (مانند حافظه فلش نگاشت‌شده در حافظه). . .TP .B \-y .TQ .B \-\-tfa-bl31-file فایل TFA BL31 را به تصویر ضمیمه می‌کند. . .TP .B \-Y .TQ .B \-\-tfa-bl31-addr آدرس بارگذاری و نقطه ورود فایل TFA BL31 را تعیین می‌کند. . .TP .B \-z .TQ .B \-\-tee-file فایل خام TEE را به تصویر ضمیمه می‌کند. . .TP .B \-Z .TQ .B \-\-tee-addr آدرس بارگذاری و نقطه ورود فایل خام TEE را در مبنای شانزده (هگزادسیمال) تعیین می‌کند. ..SS گزینه‌های ایجاد تصویرهای FIT . .TP .BI \-b " device-tree-file" .TQ .BI \-\-device\-tree " device-tree-file" فایل باینری درخت دستگاه (.dtb) را به FIT ضمیمه می‌کند. . .TP .BI \-c " comment" .TQ .BI \-\-comment " comment" توضیحی را برای افزودن هنگام امضا مشخص می‌کند. این معمولاً پیامی است که نحوهٔ امضای تصویر یا سایر اطلاعات مفید را توصیف می‌کند. . .TP .BI \-D " dtc-options" .TQ .BI \-\-dtcopts " dtc-options" گزینه‌های اضافی را هنگام ایجاد تصویر به کامپایلر درخت دستگاه ارائه می‌دهد. برای مستندات گزینه‌های ممکن، .BR dtc (1) را ببینید. اگر .B \-D مشخص نشود، مقدار پیش‌فرض آن .BR "\-I dts \-O dtb \-p 500" خواهد بود. . .TP .BI \-E .TQ .BI \-\-external پس از پردازش، داده‌های تصویر را به بیرون از FIT منتقل کرده و آفست داده را در FIT ذخیره می‌کند. تصویرها بلافاصله پس از FIT و یکی پس از دیگری قرار می‌گیرند و هر یک روی یک مرز ۴ بایتی تراز می‌شوند. ویژگی \(oqdata\(cq موجود در هر تصویر با ویژگی‌های \(oqdata-offset\(cq و \(oqdata-size\(cq جایگزین خواهد شد. مقدار 0 برای \(oqdata-offset\(cq نشان می‌دهد که داده‌ها از نخستین بایت (تراز شده بر ۴ بایت) پس از FIT شروع می‌شوند. . .TP .BI \-B " alignment" .TQ .BI \-\-alignment " alignment" میزان تراز (به مبنای شانزده / هگزادسیمال) که داده‌های خارجی بر مبنای آن تراز می‌شوند. این گزینه تنها زمانی اثر دارد که \-E مشخص شده باشد. . .TP .BI \-p " external-position" .TQ .BI \-\-position " external-position" داده‌های خارجی را در یک موقعیت خارجی ایستا قرار می‌دهد. به جای نوشتن ویژگی \(oqdata-offset\(cq که آفست را از انتهای FIT تعیین می‌کند، .B \-p از \(oqdata-position\(cq به عنوان موقعیت مطلق از ابتدای FIT استفاده خواهد کرد. برای جزئیات در مورد استفاده از داده‌های خارجی به .B \-E مراجعه کنید. . .TP \fB\-f \fIimage-tree-source-file\fR | \fBauto\fR | \fBauto-conf .TQ \fB\-\-fit \fIimage-tree-source-file\fR | \fBauto\fR | \fBauto-conf فایل منبع درخت تصویر (image tree source) که ساختار و محتویات تصویر FIT را توصیف می‌کند. .IP در برخی موارد ساده، منبع درخت تصویر می‌تواند به طور خودکار تولید شود. برای استفاده از این قابلیت، .BR "\-f auto" را ارسال کنید. گزینه‌های .BR \-d ، .BR \-A ، .BR \-O ، .BR \-T ، .BR \-C ، .BR \-a و .B \-e می‌توانند برای مشخص کردن تصویری که باید در FIT گنجانده شود و ویژگی‌های آن استفاده شوند. هیچ .I image-tree-source-file مورد نیاز نیست. گزینه‌های .BR \-g ، .BR \-o و .B \-k یا .B \-G می‌توانند برای ایجاد زیرگره‌های امضاشدهٔ \(oqimages\(cq در FIT تولیدشدهٔ خودکار استفاده شوند. در عوض، برای دریافت زیرگره‌های امضاشدهٔ \(oqconfigurations\(cq و زیرگره‌های هش‌شدهٔ \(oqimages\(cq، .BR "\-f auto-conf" را ارسال کنید. در این حالت .BR \-g ، .BR \-o و .B \-k یا .B \-G گزینه‌های اجباری هستند. . .TP .B \-F .TQ .B \-\-update نشان می‌دهد که یک تصویر FIT موجود باید اصلاح شود. هیچ کامپایلی با dtc انجام نخواهد شد و .B \-f نباید داده شود. این گزینه می‌تواند برای امضای تصویرها با کلیدهای اضافی پس از ساخت اولیهٔ تصویر به کار رود. . .TP .BI \-i " ramdisk-file" .TQ .BI \-\-initramfs " ramdisk-file" یک فایل ramdisk یا initramfs را به تصویر ضمیمه می‌کند. . .TP .BI \-k " key-directory" .TQ .BI \-\-key\-dir " key-directory" دایرکتوری حاوی کلیدهای مورد استفاده برای امضا را مشخص می‌کند. این دایرکتوری باید شامل یک فایل کلید خصوصی .IR name .key برای استفاده در امضا و یک گواهی .IR name .crt (حاوی کلید عمومی) برای استفاده در اعتبارسنجی باشد. کلید عمومی تنها زمانی لازم است که با استفاده از .BR \-K در یک درخت دستگاه دیگر تعبیه شود. .I name مقدار ویژگی \(oqkey-name-hint\(cq در گرهٔ امضا است. . .TP .BI \-G " key-file" .TQ .BI \-\-key\-file " key-file" فایل کلید خصوصی مورد استفاده هنگام امضا را مشخص می‌کند. این گزینه می‌تواند به جای \-k استفاده شود. زمانی مفید است که نام پایهٔ (basename) فایل کلید خصوصی با مقدار \(oqkey-name-hint\(cq همخوانی نداشته باشد. اما توجه داشته باشید که استفادهٔ هم‌زمان آن با گزینه‌های -K و/یا -k ممکن است نتایج غیرمنتظره‌ای به دنبال داشته باشد. . .TP .BI \-K " key-destination" .TQ .BI \-\-key\-dest " key-destination" یک فایل باینری کامپایل‌شدهٔ درخت دستگاه (معمولاً .dtb) را مشخص می‌کند تا اطلاعات کلید عمومی در آن نوشته شود. هنگامی که یک کلید خصوصی برای امضای یک تصویر استفاده می‌شود، کلید عمومی متناظر برای اعتبارسنجی زمان اجرا در این فایل نوشته می‌شود. معمولاً این فایل همان باینری درخت دستگاهی است که توسط CONFIG_OF_CONTROL در U-Boot استفاده می‌شود. . .TP .BI \-g " key-name-hint" .TQ .BI \-\-key\-name\-hint " key-name-hint" مقدار ویژگی \(oqkey-name-hint\(cq در گرهٔ امضا را برای یک تصویر FIT که به طور خودکار تولید شده مشخص می‌کند. این گزینه تنها زمانی معنادار است که همراه با .B "\-f auto" یا .BR "\-f auto-conf" استفاده شود. این گزینه همچنین مشخص می‌کند که تصویرها یا پیکربندی‌های موجود در FIT باید امضا شوند. اگر این گزینه مشخص شود، آنگاه .B \-o نیز باید حتماً مشخص گردد. . .TP .BI \-o " checksum" , crypto .TQ .BI \-\-algo " checksum" , crypto الگوریتم مورد استفاده برای امضای یک تصویر FIT را مشخص می‌کند و مقداری را که از ویژگی \(oqalgo\(cq گرهٔ امضا در .IR image-tree-source-file گرفته شده بازنویسی (override) می‌کند. استفاده از آن برای FIT که به صورت خودکار تولید می‌شود اجباری است. .IP مقادیر معتبر برای .I checksum عبارتند از: .RS .IP .TS lb. sha1 sha256 sha384 sha512 .TE .RE.IP مقادیر معتبر برای .I crypto عبارتند از: .RS .IP .TS lb. rsa2048 rsa3072 rsa4096 ecdsa256 .TE .RE . .TP .B \-r .TQ .B \-\-key\-required مشخص می‌کند که کلیدهای استفاده‌شده برای امضای FIT الزامی هستند. این بدان معناست که امضاهای ایمیج‌ها یا پیکربندی‌ها باید پیش از استفاده از آن‌ها (یعنی برای بوت شدن) راستی‌آزمایی شوند. بدون این گزینه، راستی‌آزمایی اختیاری خواهد بود (مناسب برای آزمایش، اما نه برای انتشار نهایی). این گزینه تنها در صورت استفاده با .BR \-K معنا پیدا می‌کند. هنگامی که هر دو (ایمیج‌ها و پیکربندی‌ها) امضا شده باشند، مقدار ویژگی \(oqrequired\(cq برابر با "conf" خواهد بود. . .TP .BI \-N " engine" .TQ .BI \-\-engine " engine" موتور openssl مورد استفاده هنگام امضا و راستی‌آزمایی ایمیج. برای فهرست کاملی از موتورهای در دسترس، به .BR engine (1) مراجعه کنید. . .TP .B \-t .TQ .B \-\-touch بروزرسانی برچسب زمان (timestamp) در FIT. .IP به‌طور معمول، برچسب زمان FIT اولین باری که mkimage اجرا می‌شود، هنگام تبدیل فایل منبع .its به فایل باینری .fit ایجاد می‌گردد. این متناظر با استفاده از .BR \-f است. اما اگر ورودی اصلی mkimage یک فایل باینری باشد (از پیش کامپایل‌شده)، فرض می‌شود که برچسب زمان پیش‌تر تنظیم شده است. . .SH "پیکربندی (CONFIGURATION)" این بخش، قالب گزینه‌های پیکربندی اولیه و ثانویه را برای هر نوع ایمیجی که از آن‌ها پشتیبانی می‌کند، مستند می‌سازد. . .SS aisimage پیکربندی اولیه فایلی حاوی مجموعه‌ای از دستورهای .I AIS (Application Image Script) است، در هر خط یک دستور. هر دستور ساختاری به شکل زیر دارد: .RS .P .IR "command argument " .\|.\|. .RE .P برای جزئیات بیشتر، به .UR https://\:www\:.ti\:.com/\:lit/\:pdf/\:spraag0 گزارش کاربردی TI به شناسهٔ SPRAAG0E .UE مراجعه کنید. . .SS atmelimage پیکربندی اولیه یک فهرست جداشده با کاما از پارامترهای NAND Flash به شکل زیر است: .RS .P \fIparameter\fB=\fIvalue\fR[\fB,\fIparameter\fB=\fIvalue\fR.\|.\|.\&] .RE .P .IR parameter های معتبر عبارتند از: .RS .P .TS lb. usePmecc nbSectorPerPage spareSize eccBitReq sectorSize eccOffset .TE .RE .P و .IR value های معتبر اعداد ده‌دهی هستند. برای اطلاع از مقادیر معتبر هر پارامتر، بخش 11.4.4.1 از SAMA5D3 Series Data Sheet را ببینید. ..SS imximage پیکربندی اصلی، فایلی حاوی دستورهای پیکربندی است، همان‌گونه که در doc/\:imx/\:mkimage/\:imximage.txt از کد منبع U-Boot مستند شده است. . .SS "imx8image و imx8mimage" پیکربندی اصلی، فایلی حاوی دستورهای پیکربندی است، همان‌گونه که در doc/\:imx/\:mkimage/\:imx8image.txt از کد منبع U-Boot مستند شده است. . .SS kwbimage پیکربندی اصلی، فایلی حاوی دستورهای پیکربندی است، همان‌گونه که در doc/\:imx/\:mkimage/\:kwbimage.txt از کد منبع U-Boot مستند شده است. . .SS mtk_image پیکربندی اصلی فهرستی از گزینه‌های سرآیند است که با نقطه‌ویرگول از هم جدا شده‌اند، به این صورت: .RS .P \fIkey\fB=\fIvalue\fR[\fB;\fIkey\fB=\fIvalue\fR.\|.\|.\&] .RE .P که کلیدهای معتبر در آن عبارتند از: .RS .P .TS lb lbx lb l. کلید توضیحات _ lk T{ اگر \fB1\fP باشد، از یک سرآیند ایمیج \fILK\fP (قدیمی) استفاده می‌شود. در غیر این صورت، یک سرآیند ایمیج \fIBootROM\fP به کار می‌رود. T} lkname T{ نام سرآیند ایمیج LK. بیشینهٔ طول ۳۲ نویسهٔ ASCII است. در صورت مشخص نشدن، مقدار پیش‌فرض \fBU-Boot\fP خواهد بود. T} media دستگاه راه‌اندازی (boot). مقادیر معتبر در زیر آمده است. nandinfo نوع دستگاه NAND مورد نظر. مقادیر معتبر در زیر آمده است. arm64 اگر \fB1\fP باشد، نشان‌دهندهٔ یک ایمیج AArch64 است. hdroffset افزایش اندازهٔ گزارش‌شدهٔ سرآیند BRLYT به این مقدار. .TE .RE .P مقادیر معتبر برای .B media عبارتند از: .RS .P .TS lb lb lb l. مقدار توضیحات _ nand حافظه فلش NAND موازی snand حافظه فلش NAND سریال nor حافظه فلش NOR سریال emmc \fIeMMC\fP (کارت چندرسانه‌ای جاسازی‌شده) sdmmc کارت \fISD\fP (Secure Digital) .TE .RE .P مقادیر معتبر برای .B nandinfo عبارتند از: .RS .P .TS lb lb lb lb lb lb l l l l. مقدار نوع NAND اندازه صفحه اندازه OOB اندازه کل _ 2k+64 سریال 2KiB 64B 2k+120 سریال 2KiB 120B 2k+128 سریال 2KiB 128B 4k+256 سریال 4KiB 256B 1g:2k+64 موازی 2KiB 64B 1Gbit 2g:2k+64 موازی 2KiB 64B 2Gbit 4g:2k+64 موازی 2KiB 64B 4Gbit 2g:2k+128 موازی 2KiB 128B 2Gbit 4g:2k+128 موازی 2KiB 128B 4Gbit .TE .RE ..SS mxsimage پیکربندی اصلی، فایلی شامل دستورهای پیکربندی است، همان‌گونه که در doc/\:imx/\:mkimage/\:mxsimage.txt از کد منبع U-Boot مستند شده است. . .SS omapimage پیکربندی اصلی مقدار اختیاری .BR byteswap است. در صورت وجود، بایت‌های هر واژهٔ ۳۲ بیتی ایمیج جابه‌جا خواهند شد (تبدیل از little-endian به big-endian یا برعکس). . .SS pblimage پیکربندی اصلی فایلی حاوی سرآیند .I PBI (Pre-Boot Image) است. هر خط از پیکربندی قالب زیر را دارد: .RS .P .IR value "[ " value .\|.\|.\&] .RE .P که در آن .I value یک عدد صحیح هگزادسیمال ۳۲ بیتی است. هر .I value پس از تبدیل شدن به بایت‌های خام، دقیقاً به ابتدای PBI اضافه می‌شود. .P پیکربندی ثانویه فایلی با همان قالب فایل پیکربندی اصلی است. این اطلاعات پس از داده‌های پیکربندی اصلی و پیش از داده‌های ایمیج، درون ایمیج درج خواهد شد. .P مرسوم است که از فایل پیکربندی اصلی برای .I RCW (Reset Configuration Word)، و از فایل پیکربندی ثانویه برای هرگونه دستور اضافی PBI استفاده شود. با این حال، می‌توان یک PBI موجود را نیز به قالب بالا تبدیل کرده و داده‌های اضافی را به انتهای ایمیج \(lqزنجیر\(rq (\(lqchain\(rq) کرد. این کار ممکن است به‌ویژه برای ایجاد ایمیج‌های بوت امن (secure boot) مفید باشد. . .SS rkimage پیکربندی اصلی، نام پردازنده‌ای است که ایمیج برای آن تولید می‌شود. مقادیر معتبر عبارت‌اند از: .RS .P .TS lb. px30 rk3036 rk3066 rk3128 rk3188 rk322x rk3288 rk3308 rk3328 rk3368 rk3399 rv1108 rk3568 .TE .RE . .SS spkgimage فایل پیکربندی اصلی از خطوطی شامل جفت‌های کلید/مقدار تشکیل شده است که با نویسه‌های فاصله از یکدیگر جدا شده‌اند. در ادامه نمونه‌ای آورده شده است. .PP .RS .EX # Comments and blank lines may be used .I key1 value1 .I key2 value2 .EE .RE .P انواع .I key پشتیبانی‌شده به شرح زیر هستند. .TP .B VERSION .TQ .B NAND_ECC_BLOCK_SIZE .TQ .B NAND_ECC_ENABLE .TQ .B NAND_ECC_SCHEME .TQ .B NAND_BYTES_PER_ECC_BLOCK همگی این‌ها یک مقدار عدد صحیح مثبت را به عنوان آرگومان خود می‌پذیرند. این مقدار مستقیماً در فیلد مربوطه از ساختار سرآیند SPKG کپی خواهد شد. برای جزئیات در مورد این مقادیر، به بخش 7.4 از راهنمای کاربری Renesas RZ/N1 مراجعه کنید. . .TP .B ADD_DUMMY_BLP یک آرگومان عددی می‌پذیرد که به عنوان یک مقدار بولی در نظر گرفته می‌شود. هر مقدار غیر صفر باعث خواهد شد تا یک سرآیند امنیتی ساختگی BLp در خروجی SPKG گنجانده شود. . .TP .B PADDING یک مقدار عدد صحیح مثبت را با یک پسوند اختیاری .B K یا .B M (نشان‌دهندهٔ به‌ترتیب KiB / MiB) می‌پذیرد. فایل خروجی SPKG تا مضربی از این مقدار تراز (pad) خواهد شد. ..SS sunxi_egon پیکربندی اصلی، نامی است که برای درخت دستگاه (device tree) استفاده می‌شود. . .SS ublimage پیکربندی اصلی، فایلی شامل دستورهای پیکربندی است، همان‌گونه که در doc/\:README.ublimage از سورس‌کد U-Boot مستند شده است. . .SS "zynqimage و zynqmpimage" برای .BR zynqmpimage ، پیکربندی اصلی فایلی حاوی .I PMUFW (سفت‌افزار واحد مدیریت توان \- Power Management Unit Firmware) است. .B zynqimage از پیکربندی اصلی استفاده نمی‌کند. .P برای هر دو نوع ایمیج، پیکربندی ثانویه فایلی شامل پارامترهای راه‌اندازی اولیه است، یک پارامتر در هر خط. هر پارامتر قالبی به این شکل دارد: .RS .P .I address data .RE .P که در آن .I address و .I data اعداد صحیح در مبنای شانزده (هگزادسیمال) هستند. هنگام بارگذاری ایمیج، رام بوت (boot ROM) هر .I data را در .I address می‌نویسد. حداکثر ۲۵۶ پارامتر را می‌توان به این روش مشخص کرد. . .SH "گزارش باگ‌ها (BUGS)" لطفاً باگ‌ها را به .UR https://\:source\:.denx\:.de/\:u-boot/\:u-boot/\:issues سامانه پیگیری باگ U-Boot .UE گزارش دهید. .SH "مثال‌ها (EXAMPLES)" .\" Reduce the width of the tab stops to something reasonable .ta T 1i فهرست کردن اطلاعات ایمیج: .RS .P .EX \fBmkimage \-l uImage .EE .RE .P ایجاد ایمیج سنتی (legacy) با هسته لینوکس فشرده‌شده PowerPC: .RS .P .EX \fBmkimage \-A powerpc \-O linux \-T kernel \-C gzip \\ \-a 0 \-e 0 \-n Linux \-d vmlinux.gz uImage .EE .RE .P ایجاد ایمیج FIT با هسته لینوکس فشرده‌شده PowerPC: .RS .P .EX \fBmkimage \-f kernel.its kernel.itb .EE .RE .P ایجاد ایمیج FIT با هسته فشرده‌شده و امضای آن با کلیدهای موجود در دایرکتوری /public/signing\-keys . کلیدهای عمومی متناظر به u\-boot.dtb اضافه می‌شوند و مواردی که کلید برای آن‌ها یافت نشود نادیده گرفته می‌شوند. همچنین یک توضیح (comment) اضافه می‌شود. .RS .P .EX \fBmkimage \-f kernel.its \-k /public/signing\-keys \-K u\-boot.dtb \\ \-c \(dqKernel 3.8 image for production devices\(dq kernel.itb .EE .RE .P افزودن کلید عمومی به u\-boot.dtb بدون نیاز به امضای یک FIT. این کار همچنین یک FIT شامل گره images بدون داده به نام unused.itb ایجاد می‌کند. .RS .P .EX \fBmkimage \-f auto \-d /dev/null \-k /public/signing\-keys \-g dev \\ \-o sha256,rsa2048 \-K u\-boot.dtb unused.itb .EE .RE .P افزودن کلید عمومی با ویژگی required = "conf" به u\-boot.dtb بدون نیاز به امضای یک FIT. این کار همچنین یک FIT بی‌استفاده به نام unused.itb ایجاد می‌کند. .RS .P .EX \fBmkimage \-f auto-conf \-d /dev/null \-k /public/signing\-keys \-g dev \\ \-o sha256,rsa2048 \-K u\-boot.dtb -r unused.itb .EE .RE .P به‌روزرسانی یک ایمیج FIT موجود و امضای آن با کلیدهای اضافی. کلیدهای عمومی متناظر به u\-boot.dtb اضافه می‌شوند. این کار تمام ایمیج‌ها را با کلیدهای موجود در دایرکتوری جدید مجدداً امضا می‌کند. ایمیج‌هایی که درخواست امضا با کلیدهای ناموجود دارند نادیده گرفته می‌شوند. .RS .P .EX \fBmkimage \-F \-k /secret/signing\-keys \-K u\-boot.dtb \\ \-c \(dqKernel 3.8 image for production devices\(dq kernel.itb .EE .RE .P ایجاد یک ایمیج FIT حاوی هسته، با استفاده از حالت خودکار. نیازی به فایل .its نیست. .RS .P .EX \fBmkimage \-f auto \-A arm \-O linux \-T kernel \-C none \-a 43e00000 \-e 0 \\ \-c \(dqKernel 4.4 image for production devices\(dq \-d vmlinuz kernel.itb .EE .RE .P ایجاد یک ایمیج FIT حاوی یک هسته و چند فایل درخت دستگاه (device tree)، با استفاده از حالت خودکار. نیازی به فایل .its نیست. .RS .P .EX \fBmkimage \-f auto \-A arm \-O linux \-T kernel \-C none \-a 43e00000 \-e 0 \\ \-c \(dqKernel 4.4 image for production devices\(dq \-d vmlinuz \\ \-b /path/to/rk3288\-firefly.dtb \-b /path/to/rk3288\-jerry.dtb kernel.itb .EE .RE .P ایجاد یک ایمیج FIT حاوی یک هسته امضاشده، با استفاده از حالت خودکار. نیازی به فایل .its نیست. .RS .P .EX \fBmkimage \-f auto \-A arm \-O linux \-T kernel \-C none \-a 43e00000 \-e 0 \\ \-d vmlinuz \-k /secret/signing\-keys \-g dev \-o sha256,rsa2048 kernel.itb .EE .RE .P ایجاد یک ایمیج FIT حاوی یک هسته و چند فایل درخت دستگاه (device tree) و امضای هر پیکربندی، با استفاده از حالت خودکار. علاوه بر این، کلید عمومی مورد نیاز برای اعتبارسنجی امضاها با ویژگی required = "conf" به u\-boot.dtb اضافه می‌شود. .RS .P .EX \fBmkimage \-f auto-conf \-A arm \-O linux \-T kernel \-C none \-a 43e00000 \\ \-e 0 \-d vmlinuz \-b /path/to/file\-1.dtb \-b /path/to/file\-2.dtb \\ \-k /folder/with/signing\-keys \-g dev \-o sha256,rsa2048 \\ \-K u\-boot.dtb -r kernel.itb .EE .RE .P تبدیل یک ایمیج FIT موجود از هر یک از سه نوع ذخیره‌سازی داده (داخلی، data-offset خارجی یا data-position خارجی) به نوع دیگری از ذخیره‌سازی داده. .RS .P .EX \fB// convert FIT from internal data to data-position \fBmkimage -p 0x20000 -F internal_data.itb .EE .EX \fB// convert FIT from data-position to data-offset \fBmkimage -E -F external_data-position.itb .EE .EX \fB// convert FIT from data-offset to internal data \fBmkimage -F external_data-offset.itb .EE .RE ..SH "همچنین ببینید (SEE ALSO)" .BR dtc (1), .BR dumpimage (1), .BR openssl (1), و\~ .UR https://\:u-boot\:.readthedocs\:.io/\:en/\:latest/\:index.html مستندات U-Boot .UE