| NDCTL-ACTIVATE-FIRMWARE(1) | ndctl Manual | NDCTL-ACTIVATE-FIRMWARE(1) |
نام (NAME)
ndctl-activate-firmware - فعالسازی سفتافزار آمادهشده روی دستگاههای حافظه
خلاصه دستور (SYNOPSIS)
ndctl activate-firmware [<bus-id> <bus-id2> ... <bus-idN>] [<options>]
برخی از دستگاههای حافظه پایدار (persistent memory) یک سفتافزار (firmware) را بهصورت محلی روی دستگاه / «DIMM» برای انجام وظایفی چون مدیریت رسانه، تدارک ظرفیت، و پایش سلامت اجرا میکنند. فرآیند بهروزرسانی این سفتافزار معمولاً مستلزم راهاندازی مجدد (reboot) است، زیرا بر تراکنشهای حافظه در حال انجام (in-flight) اثر میگذارد. با این حال، راهاندازیهای مجدد میتواند برای سامانههایی که تحمل از کارافتادگی طولانیمدت را ندارند، پرهزینه باشد.
هسته پلتفرمهایی را که از فعالسازی سفتافزار در زمان اجرا (FWA یا runtime-firmware-activation) پشتیبانی میکنند، شناسایی میکند. دستور ndctl update-firmware باینریهای جدید سفتافزار را آمادهسازی (stage) میکند، اما اگر پلتفرم از FWA پشتیبانی کند، علاوه بر این دستگاهها را برای فعالسازی آمادهباش (arm) مینماید. سپس ndctl activate-firmware ممکن است برای فعالسازی زندهٔ سفتافزار تلاش کند. با این حال، اگر پلتفرم نشان دهد که کنترلر حافظه برای مدت بهروزرسانی آفلاین خواهد شد ("activate_method == suspend")، سیاست پیشفرض برای فعالسازی سفتافزار تزریق یک چرخهٔ خوابزمستانی (hibernate) کوتاهشده برای انجماد دستگاهها و برنامهها پیش از اعمال خاموشی کامل (quiesce سختافزاری) توسط پلتفرم و سپس ازسرگیری سامانه است.
خطر: دستور activate-firmware شامل گزینهٔ --force است تا به راهانداز اعلام کند از چرخهٔ خوابزمستانی صرفنظر کند و بهروزرسانی را بهصورت «زنده» (live) انجام دهد؛ یعنی تمهیدی میچیند که برنامهها و دستگاهها با دورهٔ quiesce اعمالشده توسط پلتفرم به رقابت بپردازند. از این گزینه تنها باید با آگاهی صریح از اینکه مدتزمان quiesce پلتفرم باعث نقض مهلت زمانی تکمیل (completion timeout) برای هیچیک از دستگاههای سامانه نخواهد شد، استفاده شود.
مثالها (EXAMPLES)
بررسی وجود هرگونه گذرگاهی که بدون اجرای فعالسازی، از فعالسازی پشتیبانی میکند:
# ndctl activate-firmware all --dry-run
ACPI.NFIT: ndbus1: has no devices that support firmware update.
nfit_test.1: ndbus3: has no devices that support firmware update.
e820: ndbus0: has no devices that support firmware update.
[
{
"provider":"nfit_test.0",
"dev":"ndbus1",
"scrub_state":"idle",
"firmware":{
"activate_method":"suspend",
"activate_state":"idle"
},
"dimms":[
{
...
بررسی اینکه آیا یک گذرگاه خاص بدون اجرای فعالسازی، از فعالسازی پشتیبانی میکند:
# ndctl activate-firmware nfit_test.0 --dry-run --force
[
{
"provider":"nfit_test.0",
"dev":"ndbus2",
"scrub_state":"idle",
"firmware":{
"activate_method":"suspend",
"activate_state":"idle"
},
"dimms":[
...
]
نتیجه پس از فعالسازی موفقیتآمیز، معادل ndctl list -BFDu است.
دستور ndctl list همچنین میتواند روش فعالسازی پیشفرض را فهرست کند:
# ndctl list -b nfit_test.0 -BF
[
{
"provider":"nfit_test.0",
"dev":"ndbus2",
"scrub_state":"idle",
"firmware":{
"activate_method":"suspend",
"activate_state":"idle"
}
}
]
گزینهها (OPTIONS)
-n, --dry-run
-I, --idle
-f, --force
-v, --verbose
کپیرایت و تکثیر (COPYRIGHT)
کپیرایت © 2016 - 2022، شرکت Intel Corporation. مجوز GPLv2: گنو GPL نسخه ۲ http://gnu.org/licenses/gpl.html. این نرمافزار آزاد است: شما مجاز به تغییر و توزیع مجدد آن هستید. هیچگونه ضمانتی، تا حدی که قانون مجاز میداند، وجود ندارد.
همچنین ببینید (SEE ALSO)
ndctl-update-firmware(1), Intel Optane PMem DSM Interface https://pmem.io/documents/IntelOptanePMem_DSM_Interface-V2.0.pdf
| 2026-06-30 | ndctl |