.\" Process this file with .\" groff -man -Tascii kexec.8 .\" .TH kexec 8 "April 2006" Linux "راهنمای کاربران" .SH "نام (NAME)" kexec \- بوت مستقیم به یک هسته جدید .SH "خلاصه دستور (SYNOPSIS)" .B /sbin/kexec .B [\-v (\-\-version)] [\-f (\-\-force)] [\-x (\-\-no\-ifdown)] [\-y (\-\-no\-sync)] [\-l (\-\-load)] [\-p (\-\-load\-panic)] [\-u (\-\-unload)] [\-e (\-\-exec)] [\-t (\-\-type)] .BI [\-\-mem\-min= addr ] .BI [\-\-mem\-max= addr ] .SH "توضیحات (DESCRIPTION)" دستور .B kexec یک فراخوان سیستمی است که به شما امکان می‌دهد از درون هسته در حال اجرا، هسته دیگری را بارگذاری کرده و به آن بوت شوید. .B kexec وظیفه بارگذار بوت را از داخل هسته انجام می‌دهد. تفاوت اصلی میان یک بوت استاندارد سیستم و بوت با .B kexec این است که مقداردهی اولیه سخت‌افزار که معمولاً توسط BIOS یا سفت‌افزار (بسته به معماری) انجام می‌شود، در طول بوت .B kexec انجام نمی‌گیرد. این ویژگی مدت زمان مورد نیاز برای راه‌اندازی مجدد را کاهش می‌دهد. .PP اطمینان حاصل کنید که هنگام پیکربندی هسته گزینه .B CONFIG_KEXEC=y را انتخاب کرده باشید. گزینه .B CONFIG_KEXEC فراخوان سیستمی .B kexec را فعال می‌کند. .SH "نحوه استفاده (USAGE)" استفاده از .B kexec شامل موارد زیر است: .RS (۱) بارگذاری هسته‌ای که قرار است به آن ریبوت شود در حافظه، و .RE .RS (۲) ریبوت واقعی به هسته از پیش بارگذاری‌شده. .RE .PP برای بارگذاری یک هسته، نحو دستور به صورت زیر است: .RS .B kexec .RI \-l\ kernel\-image .RI "\-\-append=" command\-line\-options .RI "\-\-initrd=" initrd\-image .RE که در آن .I kernel\-image فایل هسته‌ای است که قصد دارید به آن ریبوت شوید. .PP پارامترهای خط فرمانی را که باید به هسته جدید ارسال شوند در .IR command\-line\-options قرار دهید. ارسال دقیق محتویات /proc/cmdline به .I command\-line\-options امن‌ترین روش برای اطمینان از ارسال مقادیر صحیح به هسته‌ای است که در حال راه‌اندازی مجدد است. .PP گزینه اختیاری .I initrd\-image تصویر initrd مورد استفاده در حین بوت است. .PP همچنین امکان فراخوانی .B kexec بدون پارامتر گزینه وجود دارد. در این حالت، kexec هسته مشخص‌شده را بارگذاری کرده و سپس .BR shutdown (8) را فراخوانی می‌کند. اگر اسکریپت‌های خاموش‌سازی توزیع لینوکس شما از راه‌اندازی مجدد مبتنی بر kexec پشتیبانی کنند، درست قبل از ریبوت واقعی دستگاه، .B kexec را با .I \-e فراخوانی می‌کنند. به این ترتیب دستگاه یک خاموش‌سازی تمیز شامل تمام اسکریپت‌های خاموش‌سازی انجام می‌دهد. .SH "مثال (EXAMPLE)" .PP برای مثال، اگر تصویر هسته‌ای که می‌خواهید به آن ریبوت شوید .BR /boot/vmlinux ، محتوای /proc/cmdline برابر با .BR "root\=/dev/hda1" ، و مسیر initrd برابر با .BR /boot/initrd باشد، برای بارگذاری هسته از دستور زیر استفاده می‌کنید: .RS .B kexec .RB \-l\ /boot/vmlinux .RB "\-\-append=" "root=/dev/hda1" "\ \-\-initrd=" /boot/initrd .RE .PP پس از بارگذاری این هسته، با فرض پشتیبانی فضای کاربری از راه‌اندازی مجدد مبتنی بر kexec، می‌توان با یک خاموش‌سازی تمیز با استفاده از دستور زیر به آن بوت شد: .RS .BR reboot .RE .PP همچنین می‌توان بدون فراخوانی shutdown(8)، با استفاده از دستور زیر به آن بوت شد: .RS .BR kexec \ \-e .RE .SH "گزینه‌ها (OPTIONS)" .TP .B \-d\ (\-\-debug) فعال‌سازی پیام‌های اشکال‌زدایی. .TP .B \-S\ (\-\-status) در صورتی که نوع (به‌طور پیش‌فرض crash) بارگذاری شده باشد مقدار 1 و در غیر این صورت 0 را برمی‌گرداند. می‌تواند در ترکیب با \-l یا \-p برای تغییر نوع استفاده شود. توجه داشته باشید که این گزینه بر سایر گزینه‌ها اولویت دارد و .BR هسته\ را\ بارگذاری\ یا\ تخلیه\ نخواهد\ کرد. .TP .B \-e\ (\-\-exec) اجرای هسته بارگذاری‌شده فعلی. توجه داشته باشید که این گزینه بدون فراخوانی shutdown(8) به هسته بارگذاری‌شده ریبوت می‌کند. .TP .B \-f\ (\-\-force) اجبار به فراخوانی فوری .BR kexec ، عدم فراخوانی .BR shutdown (8) (برخلاف عملکرد پیش‌فرض بدون هیچ پارامتر گزینه). این گزینه همانند اجرای .IR \-l و .IR \-e در یک فراخوانی عمل می‌کند. .TP .B \-h\ (\-\-help) باز کردن فایل راهنما برای .BR kexec . .TP .B \-\-hotplug تنظیم سگمنت‌های kexec به گونه‌ای که هسته بتواند در رویدادهای افزودن/حذف گرم پردازنده/حافظه، آن‌ها را با امنیت به‌روزرسانی کند. اگر این گزینه فعال باشد، هسته به‌روزرسانی سگمنت‌های kexec را در رویدادهای افزودن/حذف گرم پردازنده/حافظه در درون خود هسته انجام می‌دهد، بنابراین از نیاز به بارگذاری مجدد هسته kdump جلوگیری می‌شود. .TP .B \-i\ (\-\-no\-checks) راه‌اندازی مجدد سریع، بدون بررسی‌های یکپارچگی حافظه. .TP .BI \-l\ (\-\-load) \ kernel بارگذاری .I kernel مشخص‌شده در هسته جاری. .TP .B \-p\ (\-\-load\-panic) بارگذاری هسته جدید برای استفاده در هنگام panic (وحشت هسته). .TP .BI \-t\ (\-\-type= type ) مشخص کردن اینکه هسته جدید از این .I type (نوع) است. .TP .BI \-s\ (\-\-kexec\-file\-syscall) مشخص کردن اینکه منحصراً از فراخوان سیستمی جدید KEXEC_FILE_LOAD استفاده شود. در XEN نادیده گرفته می‌شود. .TP .BI \-c\ (\-\-kexec\-syscall) مشخص کردن اینکه منحصراً از فراخوان سیستمی قدیمی KEXEC_LOAD استفاده شود. .TP .BI \-a\ (\-\-kexec\-syscall\-auto) ابتدا فراخوان سیستمی جدید KEXEC_FILE_LOAD را امتحان می‌کند و در صورتی که پشتیبانی نشود یا هسته تصویر ارائه‌شده را تشخیص ندهد، به رابط قدیمی KEXEC_LOAD بازمی‌گردد. هیچ رابط واحدی وجود ندارد که همیشه کار کند، بنابراین این گزینه پیش‌فرض است. گزینه KEXEC_FILE_LOAD در سیستم‌هایی که از بوت امن قفل‌شده برای تایید امضای هسته استفاده می‌کنند الزامی است. همچنین ممکن است KEXEC_LOAD در پیکربندی هسته غیرفعال شده باشد. گزینه KEXEC_LOAD برای برخی فرمت‌های تصویر هسته و در معماری‌هایی که KEXEC_FILE_LOAD را پیاده‌سازی نکرده‌اند الزامی است. .TP .B \-u\ (\-\-unload) تخلیه هسته هدف .B kexec فعلی. در صورتی که یک هسته capture در حال تخلیه است، \-p را همراه با \-u مشخص کنید. .TP .B \-v\ (\-\-version) نمایش شماره نسخه ابزار نصب‌شده. .TP .B \-x\ (\-\-no\-ifdown) خاموش کردن هسته در حال اجرا، اما بازیابی رابط شبکه در بارگذاری مجدد. .TP .B \-y\ (\-\-no\-sync) خاموش کردن هسته در حال اجرا، اما صرف‌نظر کردن از همگام‌سازی سیستم‌های فایل. .TP .BI \-\-mem\-min= addr مشخص کردن پایین‌ترین آدرس حافظه .I addr برای بارگذاری کد در آن. .TP .BI \-\-mem\-max= addr مشخص کردن بالاترین آدرس حافظه .I addr برای بارگذاری کد در آن. .TP .BI \-\-entry= addr مشخص کردن آدرس پرش به عقب (jump back). (مقدار 0 به معنای عدم پرش به عقب یا عدم حفظ زمینه است). .TP .BI \-\-load\-preserve\-context بارگذاری هسته جدید و حفظ زمینه (context) هسته جاری در طول kexec. .TP .BI \-\-load\-jump\-back\-helper بارگذاری یک تصویر کمکی برای پرش به عقب به هسته اصلی. .TP .BI \-\-reuseinitrd استفاده مجدد از initrd از بوت نخست. .TP .BI \-\-print\-ckr\-size چاپ اندازه ناحیه هسته خرابی (crash kernel)، در صورت موجود بودن. .SH "انواع فایل‌های پشتیبانی‌شده هسته و گزینه‌ها (SUPPORTED KERNEL FILE TYPES AND OPTIONS)" .B Beoboot-x86 .RS .TP .B \-\-args\-elf ارسال یادداشت‌های بوت ELF. .TP .B \-\-args\-linux ارسال گزینه‌ها به سبک هسته لینوکس. .TP .B \-\-real\-mode استفاده از نقطه ورود حالت واقعی (real mode) هسته. .RE .PP .B elf-x86 .RS .TP .BI \-\-append= string الحاق .I string به خط فرمان هسته. .TP .BI \-\-command\-line= string تنظیم خط فرمان هسته روی .IR string . .TP .BI \-\-reuse\-cmdline استفاده از خط فرمان سیستم در حال اجرا. هنگامی که یک هسته panic بارگذاری می‌شود، پارامتر .I crashkernel به‌طور خودکار حذف می‌شود. پارامتر .I BOOT_IMAGE نیز حذف می‌گردد. .TP .BI \-\-initrd= file استفاده از .I file به‌عنوان ramdisk اولیه هسته. .TP .BI \-\-ramdisk= file استفاده از .I file به‌عنوان ramdisk اولیه هسته. .RE .PP .B bzImage-x86 .RS .TP .BI \-\-append= string الحاق .I string به خط فرمان هسته. .TP .BI \-\-command\-line= string تنظیم خط فرمان هسته روی .IR string . .TP .BI \-\-reuse\-cmdline استفاده از خط فرمان سیستم در حال اجرا. هنگامی که یک هسته panic بارگذاری می‌شود، پارامتر .I crashkernel به‌طور خودکار حذف می‌شود. پارامتر .I BOOT_IMAGE نیز حذف می‌گردد. .TP .BI \-\-initrd= file استفاده از .I file به‌عنوان ramdisk اولیه هسته. .TP .BI \-\-ramdisk= file استفاده از .I file به‌عنوان ramdisk اولیه هسته. .TP .BI \-\-real\-mode استفاده از نقطه ورود حالت واقعی (real-mode). .RE .PP .B multiboot-x86 .RS .TP .BI \-\-command\-line= string تنظیم خط فرمان هسته روی .IR string . .TP .BI \-\-reuse\-cmdline استفاده از خط فرمان سیستم در حال اجرا. هنگامی که یک هسته panic بارگذاری می‌شود، پارامتر .I crashkernel به‌طور خودکار حذف می‌شود. پارامتر .I BOOT_IMAGE نیز حذف می‌گردد. .TP .BI \-\-module= "mod arg1 arg2 ..." بارگذاری ماژول .I mod با آرگومان‌های خط فرمان .I "arg1 arg2 ..." این پارامتر را می‌توان چندین بار مشخص کرد. .RE .PP .B multiboot2-x86 .RS .TP .BI \-\-command\-line= string تنظیم خط فرمان هسته روی .IR string . .TP .BI \-\-reuse\-cmdline استفاده از خط فرمان سیستم در حال اجرا. هنگامی که یک هسته panic بارگذاری می‌شود، پارامتر .I crashkernel به‌طور خودکار حذف می‌شود. پارامتر .I BOOT_IMAGE نیز حذف می‌گردد. .TP .BI \-\-module= "mod arg1 arg2 ..." بارگذاری ماژول .I mod با آرگومان‌های خط فرمان .I "arg1 arg2 ..." این پارامتر را می‌توان چندین بار مشخص کرد. .RE .PP .B elf-ppc64 .RS .TP .BI \-\-reuse\-cmdline استفاده از خط فرمان هسته از سیستم در حال اجرا. .TP .BI \-\-command\-line= string تنظیم خط فرمان هسته روی .IR string. .TP .BI \-\-append= string تنظیم خط فرمان هسته روی .IR string. .TP .BI \-\-ramdisk= file استفاده از .IR file به‌عنوان دیسک رم اولیه (initial RAM disk). .TP .BI \-\-initrd= file استفاده از .IR file به‌عنوان دیسک رم اولیه. .TP .BI \-\-devicetreeblob= file مشخص کردن فایل blob درخت دستگاه (device tree blob file). در زمان استفاده از \-\-kexec\-file\-syscall قابل استفاده نیست. .TP .BI \-\-dtb= file مشخص کردن فایل blob درخت دستگاه. در زمان استفاده از \-\-kexec\-file\-syscall قابل استفاده نیست. .RE .SH "گزینه‌های معماری (ARCHITECTURE OPTIONS)" .TP .B \-\-console\-serial فعال‌سازی کنسول سریال. .TP .B \-\-console\-vga فعال‌سازی کنسول VGA. .TP .B \-\-elf32\-core\-headers آماده‌سازی هدرهای هسته (core headers) در قالب ELF32. .TP .B \-\-elf64\-core\-headers آماده‌سازی هدرهای هسته در قالب ELF64. .TP .B \-\-reset\-vga تلاش برای بازنشانی (reset) یک دستگاه استاندارد VGA. .TP .BI \-\-serial= port مشخص کردن پورت سریال .I port برای خروجی اشکال‌زدایی. .TP .BI \-\-serial\-baud= baud_rate مشخص کردن .I baud rate (نرخ باود) پورت سریال. .TP .BI \-\-dt\-no\-old\-root عدم استفاده مجدد از پارامتر root= هسته قدیمی در هنگام ایجاد درخت دستگاه مسطح (flattened device tree).