| KERNEL-INSTALL(8) | kernel-install | KERNEL-INSTALL(8) |
الاسم
kernel-install - إضافة وإزالة صور النواة وinitrd من وإلى قسم الإقلاع
موجز
kernel-install [OPTIONS...] add KERNEL-VERSION KERNEL-IMAGE [INITRD-FILE...]
kernel-install [OPTIONS...] add-all
kernel-install [OPTIONS...] remove KERNEL-VERSION
kernel-install [OPTIONS...] inspect [KERNEL-VERSION] [KERNEL-IMAGE] [INITRD-FILE...]
kernel-install [OPTIONS...] list
الوصف
kernel-install يُستخدم لتثبيت وإزالة صور النواة وinitrd [1] من وإلى قسم الإقلاع، المشار إليه هنا بـ $BOOT. سيكون عادةً أحد /boot/ أو /efi/ أو /boot/efi/، انظر أدناه.
kernel-install يشغّل الملفات القابلة للتنفيذ ("الإضافات") الموجودة في الدليل /usr/lib/kernel/install.d/ ودليل الإدارة المحلي /etc/kernel/install.d/. تُرتّب جميع الملفات وتُنفّذ بترتيب معجمي، بغض النظر عن الدليل الذي توجد فيه. ومع ذلك، الملفات ذات الأسماء المتطابقة تستبدل بعضها البعض. الملفات في /etc/kernel/install.d/ لها الأولوية على الملفات التي تحمل الاسم نفسه في /usr/lib/kernel/install.d/. يمكن استخدام هذا لتجاوز الملفات القابلة للتنفيذ المقدمة من النظام بملف محلي إذا لزم الأمر؛ رابط رمزي في /etc/kernel/install.d/ بنفس اسم ملف قابل للتنفيذ في /usr/lib/kernel/install.d/، يشير إلى /dev/null، يُعطّل الملف القابل للتنفيذ بالكامل. يجب أن يكون للملفات القابلة للتنفيذ الامتداد ".install"؛ الامتدادات الأخرى تُتجاهل.
يجب أن يُرجع ملف قابل للتنفيذ موضوع في هذه الدلائل 0 عند النجاح. قد يُرجع أيضًا 77 لإنهاء العملية بأكملها (سيتم تخطي الملفات القابلة للتنفيذ التي تأتي لاحقًا في الترتيب المعجمي).
الأوامر
الأوامر التالية مفهومة:
add [[[KERNEL-VERSION] KERNEL-IMAGE] [INITRD-FILE ...]]
تُستدعى الملفات القابلة للتنفيذ من /usr/lib/kernel/install.d/*.install و /etc/kernel/install.d/*.install (أي الإضافات) بالوسائط التالية:
add KERNEL-VERSION $BOOT/ENTRY-TOKEN/KERNEL-VERSION/ KERNEL-IMAGE [INITRD-FILE ...]
تشير الوسيطة الثالثة مباشرةً إلى المسار حيث توضع صور النواة وصور initrd والموارد الأخرى لإدخالات النوع #1 من UAPI.1 Boot Loader Specification[2] (دليل الإدخال). إذا تم استخدام مخططات أخرى لمُحمّل الإقلاع، قد تُتجاهل هذه المعلمة.
سلسلة ENTRY-TOKEN هي عادةً معرف الجهاز ومن المفترض أن تُحدد التثبيت المحلي على النظام. للتفاصيل انظر أدناه.
kernel-install ينشئ $BOOT/ENTRY-TOKEN/KERNEL-VERSION، إذا كان مفعّلاً (انظر $KERNEL_INSTALL_LAYOUT).
ثلاث إضافات مبدئية تنفذ العمليات التالية في هذه الحالة:
50-depmod.install
90-loaderentry.install
إذا لم يكن $KERNEL_INSTALL_LAYOUT هو "bls"، فإن هذا الملحق لا يفعل شيئًا.
90-uki-copy.install
إذا لم يكن المجلد $KERNEL_INSTALL_STAGING_AREA/uki.efi موجودًا، وكانت الحجة KERNEL-IMAGE تحمل الامتداد ”.efi“، يقوم المكون الإضافي بنسخ الصورة إلى $BOOT/EFI/Linux/ENTRY-TOKEN-KERNEL-VERSION.efi . كما يتم نسخ الملفات الموجودة في KERNEL-IMAGE.extra.d/ و $KERNEL_INSTALL_STAGING_AREA/uki.efi.extra.d"/ إلى $BOOT/EFI/Linux/ENTRY-TOKEN-KERNEL-VERSION.efi.extra.d/.
إذا لم يكن $KERNEL_INSTALL_LAYOUT هو "uki"، فإن هذا الملحق لا يفعل شيئًا.
أُضيف في الإصدارة 198.
add-all
أُضيف في الإصدار 255.
remove KERNEL-VERSION
تُستدعى الملفات القابلة للتنفيذ من /usr/lib/kernel/install.d/*.install و /etc/kernel/install.d/*.install (أي الإضافات) بالوسائط التالية:
remove KERNEL-VERSION $BOOT/ENTRY-TOKEN/KERNEL-VERSION/
بعد ذلك، يزيل kernel-install دليل الإدخال $BOOT/ENTRY-TOKEN/KERNEL-VERSION/ ومحتوياته، إذا كان موجودًا.
ثلاث إضافات مبدئية تنفذ العمليات التالية في هذه الحالة:
50-depmod.install
90-loaderentry.install
90-uki-copy.install
أُضيف في الإصدارة 198.
inspect [[[KERNEL-VERSION] KERNEL-IMAGE] [INITRD-FILE ...]]
يعرض المسارات والمعاملات المختلفة المكونة أو المكتشفة آليًا. يعرض بشكل خاص قيم متغيرات البيئة $KERNEL_INSTALL_* المختلفة المدرجة أدناه، كما سيتم تمريرها إلى الملحقات. يمكن استخدام الخيار --json للحصول على مخرجات هذا الفعل ككائن JSON.
أُضيف في الإصدار 251.
list
أُضيف في الإصدار 255.
التوافق مع نظام بناء النواة
installkernel [خيارات...] إصدار VMLINUZ [خريطة] [دليل-التثبيت]
عند استدعائه كـ installkernel، يقبل هذا البرنامج الوسائط كما هو محدد بواسطة أمر make install لنظام بناء النواة. تحدد المعلمتان إصدار و VMLINUZ إصدار النواة وثنائي النواة. يتم تجاهل المعلمتين الأخريين (خريطة و دليل-التثبيت) حالياً.
قسم $BOOT
يسمى القسم الذي توجد فيه النوى ومقتطفات UAPI.1 مواصفات محمل الإقلاع[2] بـ $BOOT. يحدد kernel-install موقع هذا القسم بالتحقق من /efi/ و /boot/ و /boot/efi/ بالتتابع. يُستخدم أول موقع يوجد فيه $BOOT/loader/entries/ أو $BOOT/رمز-الإدخال/.
الخيارات
الخيارات التالية مفهومة:
--esp-path=
--boot-path=
--make-entry-directory=نعم|لا|تلقائي
أُضيف في الإصدار 254.
--entry-type=نوع1|نوع2|الكل
أُضيف في الإصدار 258.
--entry-token=
إذا ضُبطت على machine-id، فستُسمّى المدخلات تيمناً بمعرّف الحاسوب للنظام المشغّل (مثل: "b0e793a9baf14b5fa13ecbe84ff637ac"). انظر machine-id(5) لتفاصيل عن مفهوم معرّف الحاسوب وملفه.
إذا ضُبطت على os-id، فستُسمّى المدخلات تيمناً بمعرّف نظام التشغيل للنظام المشغّل، أي حقل ID= في os-release(5) (مثل: "fedora"). وبالمثل، إذا ضُبطت على os-image-id، فستُسمّى المدخلات تيمناً بمعرّف صورة نظام التشغيل للنظام المشغّل، أي حقل IMAGE_ID= في os-release (مثل: "vendorx-cashier-system").
إذا تم تعيينه إلى تلقائي (المبدئي)، سيتم قراءة ملف /etc/kernel/entry-token (أو $KERNEL_INSTALL_CONF_ROOT/entry-token) إذا كان موجوداً، وسيتم استخدام القيمة المخزنة. بخلاف ذلك، إذا تمت تهيئة معرف الآلة المحلي، فسيتم استخدامه. بخلاف ذلك، سيتم استخدام IMAGE_ID= من os-release، إذا تم تعيينه. بخلاف ذلك، سيتم استخدام ID= من os-release، إذا تم تعيينه. بخلاف ذلك، يتم استخدام معرف آلة مولّد عشوائياً.
استخدام معرف الآلة لتسمية الإدخالات هو الأفضل عموماً، ومع ذلك هناك حالات يكون فيها استخدام المعرفات الأخرى خياراً جيداً. تحديداً: إذا كان يجب ألا تُخزن بيانات التعريف التي يستلزمها معرف الآلة على قسم $BOOT_ROOT (غير المشفر)، أو إذا كان يجب إنشاء المعرف عند الإقلاع الأول ولا يكون معروفاً عند تحضير الإدخالات. لاحظ أن استخدام معرف الآلة له فائدة أن تثبيتات متعددة متوازية لنفس نظام التشغيل يمكن أن تتعايش على نفس الوسيط، ويمكنها تحديث إدخالات محمل الإقلاع الخاصة بها بشكل مستقل. عند استخدام معرف آخر (مثل معرف نظام التشغيل أو معرف صورة نظام التشغيل)، ستحاول التثبيتات المتوازية لنفس نظام التشغيل استخدام نفس اسم الإدخال. لدعم التثبيتات المتوازية، يجب على المثبت استخدام رمز إدخال مختلف عند إضافة تثبيت ثانٍ.
أُضيف في الإصدار 254.
-v، --verbose
أُضيف في الإصدارة 242.
--root=root
أُضيف في الإصدار 255.
--image=image
أُضيف في الإصدار 255.
-h، --help
--version
--no-pager
--json=MODE
--image-policy=السياسة
--no-legend
متغيرات البيئة
متغيرات البيئة المصدرة للإضافات
إذا تم استخدام --verbose، سيتم تصدير $KERNEL_INSTALL_VERBOSE=1 للإضافات. قد تخرج سجلات إضافية في هذه الحالة.
يتم تعيين $KERNEL_INSTALL_IMAGE_TYPE=uki|pe|غير معروف للإضافات لتحديد نوع صورة النواة.
uki
أُضيف في الإصدار 254.
pe
أُضيف في الإصدار 254.
unknown
أُضيف في الإصدار 254.
يُضبط $KERNEL_INSTALL_MACHINE_ID للإضافات على معرف-الآلة المطلوب استخدامه. وهو دائمًا معرف 128-بت. يُقرأ عادةً من /etc/machine-id، لكن يمكن تجاوزه عبر $MACHINE_ID (انظر أدناه). إذا لم يُحدد عبر هذه الطرق، يُنشأ قيمة احتياطية بواسطة kernel-install وتُستخدم لاستدعاء واحد فقط.
يُضبط $KERNEL_INSTALL_ENTRY_TOKEN للإضافات على "الرمز" المطلوب استخدامه. وهو معرّف يُستخدم لتعريف التثبيت المحلي، وغالبًا ما يكون معرف الآلة، أي نفس $KERNEL_INSTALL_MACHINE_ID، لكن قد يكون نوعًا مختلفًا من المعرفات، مثل سلسلة ثابتة أو قيم ID=، IMAGE_ID= من /etc/os-release. ستُستخدم السلسلة المُمررة هنا لتسمية إدخالات مواصفات محمل الإقلاع، أو الدلائل التي توضع فيها صورة النواة وصور قرص RAM الأولي.
لاحظ أنه بينما يُضبط $KERNEL_INSTALL_ENTRY_TOKEN و $KERNEL_INSTALL_MACHINE_ID غالبًا على نفس القيمة، يُضمن أن الأخير هو معرف صالح مكون من 32 حرفًا سداسيًا عشريًا صغيرًا بينما يمكن أن يكون الأول أي سلسلة قصيرة. يُقرأ رمز الإدخال المستخدم من /etc/kernel/entry-token، إذا كان موجودًا. وإلا، تُفحص بعض المرشحات المحتملة أسفل $BOOT لدلائل إدخالات مواصفات محمل الإقلاع من النوع 1، وإذا وُجد يُشتق رمز الإدخال من ذلك. إذا لم ينجح ذلك، يُستخدم $KERNEL_INSTALL_MACHINE_ID كاحتياطي.
يُضبط $KERNEL_INSTALL_BOOT_ROOT للإضافات على المسار المطلق للدليل الجذر (نقطة التحميل، عادةً) للتسلسل الهرمي حيث توضع إدخالات محمل الإقلاع، وصور النواة، والموارد المرتبطة. هذا عادةً هو المسار حيث يُحمّل قسم XBOOTLDR أو ESP (قسم نظام EFI)، ويُشار إليه أيضًا نظريًا بـ $BOOT. يمكن تجاوزه بضبط $BOOT_ROOT (انظر أدناه).
يُضبط $KERNEL_INSTALL_LAYOUT=auto|bls|uki|other|... للإضافات لتحديد تخطيط التثبيت. يمكن تعريف أسماء تخطيط إضافية بالاتفاق. إذا استخدمت إضافة تخطيطًا خاصًا، يُشجع على تعريف اسم تخطيط خاص بها وتكوين layout= في install.conf عند التثبيت الأولي. القيم التالية مفهومة حاليًا:
bls
مُطبّق بواسطة 90-loaderentry.install.
أُضيف في الإصدار 250.
uki
مُطبّق بواسطة 90-uki-copy.install.
أُضيف في الإصدار 253.
other
أُضيف في الإصدار 250.
auto
ترك التخطيط فارغًا له نفس التأثير. هذا هو المبدئي.
أُضيف في الإصدار 254.
يُضبط $KERNEL_INSTALL_INITRD_GENERATOR و $KERNEL_INSTALL_UKI_GENERATOR للإضافات لاختيار مولد initrd و/أو UKI. يمكن تكوين هذا كـ initrd_generator= و uki_generator= في install.conf، انظر أدناه.
يُضبط $KERNEL_INSTALL_STAGING_AREA للإضافات على مسار إلى دليل. قد تضع الإضافات ملفات في ذلك الدليل، وسيتم تثبيتها كجزء من إدخال المحمل، بناءً على اسم الملف وامتداده: الملفات المسماة initrd* ستُثبّت كـ INITRD-FILEs، والملفات المسماة microcode* ستُسبق قبل INITRD-FILEs.
متغيرات البيئة المفهومة بواسطة kernel-install
يمكن ضبط $KERNEL_INSTALL_CONF_ROOT لتجاوز موقع ملفات التهيئة التي يقرؤها kernel-install. عند ضبطه، ستُقرأ install.conf وentry-token والملفات الأخرى من هذا الدليل فقط. لاحظ أن هذا المسار نسبي للمضيف، وبشكل خاص يتم حل الروابط الرمزية في هذا الدليل نسبة للمضيف، حتى إذا استُخدم --root=root. هذا يعني أنه من غير الصحيح عمومًا استخدام هذا المتغير لتحديد دليل أسفل root إذا استُخدمت روابط رمزية هناك.
يمكن ضبط $KERNEL_INSTALL_PLUGINS لتجاوز قائمة الإضافات التي ينفذها kernel-install. الوسيطة هي قائمة من المسارات مفصولة بمسافات. يمكن استخدام "KERNEL_INSTALL_PLUGINS=:" لمنع تشغيل أي إضافات.
يمكن ضبط $MACHINE_ID لـ kernel-install لتجاوز $KERNEL_INSTALL_MACHINE_ID، معرف الآلة.
يمكن ضبط $BOOT_ROOT لـ kernel-install لتجاوز $KERNEL_INSTALL_BOOT_ROOT، موقع تثبيت مدخلات الإقلاع.
يمكن أيضًا ضبط المتغيرين الأخيرين في install.conf. المتغيرات المضبوطة في البيئة لها أولوية على القيم المحددة في ملف التهيئة.
حالة الخروج
إذا أعاد كل ملف قابل للتنفيذ 0 أو 77، يُعاد 0، وإلا يُعاد رمز فشل غير صفري.
الملفات
/etc/kernel/install.d/*.install, /usr/lib/kernel/install.d/*.install
أُضيف في الإصدارة 198.
/etc/kernel/cmdline, /usr/lib/kernel/cmdline, /proc/cmdline
أُضيف في الإصدارة 198.
/etc/kernel/devicetree, /usr/lib/kernel/devicetree
ملف شجرة الجهاز يحتوي على مسار، وهذا المسار يحدد موقعًا نسبيًا لشجرة تثبيت النواة. يتم التحقق من مجموعة من المواقع، بما في ذلك بشكل خاص /usr/lib/modules/KERNEL_VERSION/dtb/، وهو الموقع الموصى به لوضع ملفات dtb تحته. على سبيل المثال، مع "broadcom/bcm2711-rpi-4-b.dtb" في ملف شجرة الجهاز، سيتم تثبيت كتلة شجرة الجهاز لـ Raspberry Pi 4 Model B، وسيكون الملف الفعلي هو /usr/lib/modules/KERNEL_VERSION/dtb/broadcom/bcm2711-rpi-4-b.dtb.
أُضيف في الإصدار 255.
/etc/kernel/tries
أُضيف في الإصدار 240.
/etc/kernel/entry-token
أُضيف في الإصدار 251.
/etc/machine-id
أُضيف في الإصدارة 198.
/etc/os-release, /usr/lib/os-release
أُضيف في الإصدارة 198.
/etc/kernel/install.conf, /run/kernel/install.conf, /usr/local/lib/kernel/install.conf, /usr/lib/kernel/install.conf, /etc/kernel/install.conf.d/*.conf, /run/kernel/install.conf.d/*.conf, /usr/local/lib/kernel/install.conf.d/*.conf, /usr/lib/kernel/install.conf.d/*.conf
حاليًا، المفاتيح التالية مدعومة: MACHINE_ID=، BOOT_ROOT=، layout=، initrd_generator=، uki_generator=. راجع قسم متغيرات البيئة أعلاه للتفاصيل.
أُضيف في الإصدار 250.
/etc/kernel/uki.conf
أُضيف في الإصدار 255.
/usr/lib/modules/KERNEL-VERSION/
أُضيف في الإصدار 255.
/usr/lib/modules/KERNEL-VERSION/vmlinuz
أُضيف في الإصدار 255.
للحالات المختلفة المذكورة أعلاه، إذا تم تعيين متغير البيئة $KERNEL_INSTALL_CONF_ROOT، فإنه سيتجاوز مسار البحث. سيتم تحميل الملفات فقط من الدليل المحدد بواسطة متغير البيئة. عندما لا يكون المتغير مضبوطًا، تُجرّب المسارات المدرجة بالتتابع، ويُستخدم أول ملف موجود.
انظر أيضًا
machine-id(5)، os-release(5)، depmod(8)، systemd-boot(7)، ukify(1)، UAPI.1 Boot Loader Specification[2]
ملاحظات
- 1.
- في الوقت الحالي، تُستخدم أرشيفات CPIO فعليًا كـ "initramfs" بدلاً من "initrd". راجع bootup(7) للشرح.
- 2.
- مواصفات محمل الإقلاع UAPI.1
- 3.
- UAPI.2 مواصفات الأقسام القابلة للاكتشاف
ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| systemd 260.1 |