.TH KWBOOT 1 "2022-03-02" .SH "نام (NAME)" kwboot \- بوت تراشه‌های ۳۲ بیتی Marvell Kirkwood (و سایر موارد) از طریق اتصال سریال .SH "خلاصه دستور (SYNOPSIS)" .B kwboot .RB [ "-b \fIimage\fP" ] .RB [ "-t" ] .RB [ "-B \fIbaudrate\fP" ] .RB \fITTY\fP .SH "توضیحات (DESCRIPTION)" برنامه \fBkwboot\fP بردهای مبتنی بر پلتفرم‌های ۳۲ بیتی Marvell از جمله Kirkwood، Dove، Avanta، A370، AXP، A375، A38x و A39x را از طریق UART داخلی آن‌ها بوت می‌کند. فایل‌های ایمیج بوت معمولاً شامل یک بوت‌لودر مرحله دوم مانند U-Boot هستند. فایل ایمیج باید با قالب ایمیج سفت‌افزار BootROM متعلق به Marvell (\fIkwbimage v0\fP یا \fIv1\fP) که با ابزاری مانند \fBmkimage\fP ساخته شده است، مطابقت داشته باشد. پس از روشن شدن یا بازنشانی (reset) سیستم، کد BootROM سیستم برای مدت کوتاهی UART را بررسی (poll) می‌کند تا پیام دست‌تکانی (handshake) را برای شروع بارگذاری ایمیج تشخیص دهد. این برنامه پیام بوت را تا زمانی که یک تأییدیه مثبت دریافت کند ارسال می‌نماید. انتقال ایمیج با استفاده از Xmodem انجام می‌شود. علاوه بر این، این برنامه یک حالت ترمینال کمینه را پیاده‌سازی می‌کند که می‌تواند به‌صورت مستقل استفاده شود یا بلافاصله پس از اتمام انتقال ایمیج بوت وارد آن شود. این حالت اغلب برای دریافت پیام‌های اولیه بوت یا متوقف کردن دستی روند بوت پیش‌فرض توسط لودر مرحله دوم مفید است. .SH "گزینه‌ها (OPTIONS)" .TP .BI "\-b \fIimage\fP" دست‌تکانی؛ سپس بارگذاری فایل \fIimage\fP از طریق \fITTY\fP. توجه داشته باشید که برای اجرای کد بوت کپسوله‌شده، \fIimage\fP باید از نوع «UART boot» (0x69) باشد. برنامه \fBkwboot\fP این نوع را به‌طور خودکار تغییر می‌دهد، مگر اینکه \fIimage\fP امضا شده باشد، که در این صورت امکان تغییر آن وجود ندارد. این حالت وضعیت دست‌تکانی و نشانگر پیشرفت بارگذاری را در stdout می‌نویسد. ممکن است \fIimage\fP شامل یک کد باینری اختیاری در سرآیند خود باشد که خروجی‌هایی را از طریق UART چاپ کند (برای نمونه U-Boot SPL این کار را انجام می‌دهد). در چنین حالتی، این خروجی نیز پس از ارسال سرآیند در stdout نوشته می‌شود. .TP .B "\-b" تنها دست‌تکانی را روی \fITTY\fP بدون بارگذاری هیچ فایلی انجام می‌دهد. بارگذاری فایل را می‌توان بعداً از طریق گزینه \fB\-D\fP یا از طریق هر برنامه Xmodem دیگری مانند \fBsx\fP(1) انجام داد. .TP .B "\-d" انجام دست‌تکانی ویژه روی \fITTY\fP برای حالت اشکال‌زدایی کنسول. این گزینه به BootROM دستور می‌دهد تا وارد حالت اشکال‌زدایی کنسول ساده داخلی شود. باید با گزینه \fB\-t\fP ترکیب شود. برای دریافت راهنمای BootROM، این دستور را تایپ کرده و کلید ENTER را فشار دهید: .RS 1.2i .TP .B ? .RE .IP در BootROM پردازنده Armada 38x باگی وجود دارد که باعث می‌شود در صورت وجود یک ایمیج بوت معتبر در محل منبع بوت پیش‌فرض، خروجی استاندارد BootROM روی UART خاموش شود. با این وجود، ورودی استاندارد BootROM و اکوی ترمینال آن فعال هستند و به درستی کار می‌کنند. برای دور زدن این باگ BootROM در رابطه با خروجی استاندارد، می‌توان متغیرهای ذخیره‌شده در SRAM را که BootROM برای بررسی فعال بودن یا نبودن خروجی استاندارد استفاده می‌کند، به‌طور دستی بازنویسی کرد. برای فعال کردن خروجی استاندارد BootROM روی UART، این دستور را تایپ کرده و کلید ENTER را فشار دهید: .RS 1.2i .TP .B w 0x40034100 1 .RE .TP .BI "\-D" " image" بارگذاری فایل \fIimage\fP از طریق \fITTY\fP بدون دست‌تکانی اولیه. این روش عمدتاً روی پلتفرم‌های Dove استفاده می‌شود؛ در این پلتفرم‌ها BootROM از دست‌تکانی اولیه برای ورود به حالت بارگذاری UART پشتیبانی نکرده و به جای آن از پین‌های strapping (مثلاً از طریق دکمه‌ها) استفاده می‌شود. .TP .BI "\-p" منسوخ شده است. کاری انجام نمی‌دهد. در گذشته، هنگامی که از این گزینه استفاده می‌شد، برنامه سرآیند ایمیج را پیش از بارگذاری به نوع «UART boot» وصله می‌کرد. اکنون این کار به‌طور پیش‌فرض انجام می‌شود. .TP .B "\-q" منسوخ شده است. کاری انجام نمی‌دهد. مشخص نیست که آیا در گذشته کاری انجام می‌داده است یا خیر. .TP .BI "\-s" " response-timeout" تعیین مهلت زمانی (timeout) سفارشی پاسخ هنگام انجام دست‌تکانی. مقدار پیش‌فرض ۵۰ میلی‌ثانیه است. این مهلت زمانی بین ارسال دو الگوی متوالی دست‌تکانی است، به این معنی که چه مدت باید منتظر پاسخ از BootROM ماند. فقط بر گزینه \fB\-b\fP همراه با فایل ایمیج و گزینه \fB\-d\fP تأثیر می‌گذارد. گزینه \fB-a\fP مهلت زمانی پاسخ مناسب برای Armada XP BootROM را مشخص می‌کند که در حال حاضر ۱۰۰۰ میلی‌ثانیه است. برخی آزمایش‌ها نشان داده است که تعیین ۲۴ میلی‌ثانیه به عنوان مهلت زمانی پاسخ، دست‌تکانی با Armada 385 BootROM را پایدارتر می‌کند. .TP .BI "\-t" اجرای یک برنامه ترمینال، که ورودی و خروجی استاندارد را به .RB \fITTY\fP متصل می‌کند. اگر در ترکیب با گزینه‌های \fB\-b\fP، \fB\-D\fP یا \fB\-d\fP استفاده شود، حالت ترمینال بلافاصله پس از بارگذاری موفقیت‌آمیز ایمیج یا دست‌تکانی موفقیت‌آمیز (در صورت عدم بارگذاری ایمیج) آغاز می‌شود. اگر جریان‌های ورودی/خروجی استاندارد به یک کنسول متصل باشند، این حالت پس از دریافت \fBctrl-\e\fP و به دنبال آن \fBc\fP از ورودی کنسول خاتمه می‌یابد. .TP .BI "\-B \fIbaudrate\fP" اگر در ترکیب با \fB-b\fP استفاده شود، کدی را به سرآیند ایمیج تزریق می‌کند که نرخ باود را پس از بارگذاری سرآیند ایمیج به \fIbaudrate\fP تغییر دهد، و کدی که نرخ باود را قبل از اجرای بار مفید (payload) به مقدار پیش‌فرض (115200 Bd) بازگرداند، و همچنین نرخ باود را روی \fITTY\fP به‌طور متناظر تنظیم کند. این کار می‌تواند بارگذاری را به‌طور چشمگیری سریع‌تر کند. اگر در ترکیب با \fB-t\fP استفاده شود، نرخ باود را پیش از شروع ترمینال روی \fITTY\fP به \fIbaudrate\fP تغییر می‌دهد. اگر هر دو گزینه \fB-b\fP و \fB-t\fP استفاده شوند، نرخ باود پس از اتمام بارگذاری به 115200 بازگردانده می‌شود. مقادیر آزمایش‌شده برای \fIbaudrate\fP در Armada 38x عبارتند از: 115200، 230400، 460800، 500000، 576000، 921600، 1000000، 1152000، 1500000، 2000000، 2500000، 3125000، 4000000 و 5200000. .SH "مثال‌ها (EXAMPLES)" دستور به BootROM برای ورود به حالت بوت Xmodem، ارسال فایل kwbimage با نام \fIu-boot-with-spl.kwb\fP از طریق Xmodem روی \fI/dev/ttyUSB0\fP با نرخ ۱۱۵۲۰۰ باود و اجرای برنامه ترمینال: .IP .B kwboot -b u-boot-with-spl.kwb -t /dev/ttyUSB0 .PP دستور به BootROM برای ورود به حالت بوت Xmodem، ارسال سرآیند فایل kwbimage با نام \fIu-boot-with-spl.kwb\fP از طریق Xmodem با نرخ ۱۱۵۲۰۰ باود، سپس دستور به BootROM برای تغییر نرخ باود به ۵۲۰۰۰۰۰ باود، ارسال بخش داده‌های فایل kwbimage از طریق Xmodem با سرعت بالا، سپس بازگرداندن نرخ باود به ۱۱۵۲۰۰ باود و در نهایت اجرای برنامه ترمینال: .IP .B kwboot -b u-boot-with-spl.kwb -B 5200000 -t /dev/ttyUSB0 .PP تنها ارسال فایل kwbimage با نام \fIu-boot-with-spl.kwb\fP از طریق Xmodem روی \fI/dev/ttyUSB0\fP با نرخ ۱۱۵۲۰۰ باود: .IP .B kwboot -D u-boot-with-spl.kwb /dev/ttyUSB0 .PP دستور به BootROM برای ورود به حالت اشکال‌زدایی کنسول و اجرای برنامه ترمینال روی \fI/dev/ttyUSB0\fP با نرخ ۱۱۵۲۰۰ باود: .IP .B kwboot -d -t /dev/ttyUSB0 .PP تنها اجرای برنامه ترمینال روی \fI/dev/ttyUSB0\fP با نرخ ۱۱۵۲۰۰ باود: .IP .B kwboot -t /dev/ttyUSB0 .SH "همچنین ببینید (SEE ALSO)" .PP \fBmkimage\fP(1), \fBsx\fP(1) .SH "نویسندگان (AUTHORS)" Daniel Stodden .br Luka Perkov .br David Purdy .br Pali Rohár .br Marek Behún