البرنامج المقدم
تعمل جميع التوزيعات التي تم تشغيلها باستخدام Booty إما على تشغيل SHMFS (tmpfs) أو SquashFS + Overlay FS، حسب اختيار المستخدم. يتم إنشاء التوزيع مرة واحدة، وأثناء عملية التمهيد، يتم تحديد المعلمات التي تسمح لك باستخدام tmpfs خالصًا للجذر، أو مزيج من Overlay FS + SquashFS مع تسجيل التغييرات على tmpfs. من الممكن نسخ مجموعة التوزيع القابلة للتنزيل مسبقًا إلى ذاكرة الوصول العشوائي (RAM)، مما يسمح لك بفصل محرك أقراص USB بعد تنزيل مجموعة التوزيع ونسخها إلى الذاكرة.
بادئ ذي بدء، يقوم Booty بإنشاء صورة initrd الخاصة به، والتي يمكنها استخدام الأدوات المساعدة الأصلية من النظام الحالي أو Busybox. من الممكن تضمين (حزمة) مجموعة التوزيع الكاملة المثبتة في الدليل (chroot) في initramfs. يمكن أن يكون هذا مفيدًا عندما تحتاج إلى ترقية نظام باستخدام kexec: ما عليك سوى إعادة تحميل initrd بنواة جديدة ونظام جديد داخل initrd.
إنشاء صورة initrd خاصة بالغنيمة:
مكدير initramfs/
mkinitramfs initramfs/ --output initrd
إنشاء صورة initrd تتضمن التوزيعة من دليل "gentoo/":
مكدير initramfs/
mkinitramfs initramfs/ --overlay gentoo/ --cpio --output initrd
وبعد ذلك تصبح هذه الصورة initrd جاهزة تمامًا للتحميل، على سبيل المثال، عبر PXE أو عبر kexec.
بعد ذلك، يقوم Booty بإنشاء صور باستخدام النظام المحدد كـ "تراكبات". على سبيل المثال، يمكنك تثبيت (فك ضغط الأرشيف) Gentoo الشرطي في دليل منفصل، وبعد ذلك سيتم إنشاء أرشيف cpio أو صورة SquashFS مع هذا النظام باستخدام Booty. يمكنك أيضًا تكوين التوزيع في دليل منفصل، ونسخ إعداداتك الشخصية إلى دليل آخر. سيتم تحميل كل هذه "الطبقات" بالتتابع فوق بعضها البعض وإنشاء نظام عمل واحد.
مكدير initramfs/
mkinitramfs initramfs/ --تراكب gentoo/ --إعدادات التراكب/ --مستندات التراكب/ --squashfs --إخراج initrd
في النهاية، يتيح لك Booty إنشاء صور ISO قابلة للتمهيد ومحركات أقراص USB وHDD وSSD ومحركات أقراص أخرى عن طريق تثبيت النظام أعلاه من الصور.
الإجراء الإضافي الوحيد المطلوب هو إعداد النواة (vmlinuz) للتمهيد مسبقًا. يوصي المؤلف (الانتحال) باستخدام "make defconfig". قبل إنشاء الصورة، تحتاج إلى إعداد دليل عن طريق وضع نواة vmlinuz وinitrd "الفارغ" المُعد مسبقًا والذي تم إنشاؤه في المثال الأول.
مكدير ايزو /
cp /boot/vmlinuz-* iso/boot/vmlinuz
cp initrd iso/boot/initrd
وبهذا اكتمال الإعداد، يمكننا الآن إنشاء صور ISO من هذا الدليل.
سيقوم الأمر التالي بإنشاء صورة ISO، وليست صورة قابلة للتشغيل، بل صورة ISO فقط:
مكدير ايزو /
mkbootisofs iso/ --output archive.iso
لإنشاء صورة تمهيد، تحتاج إلى تحديد خيار "--legacy-boot" لنظام BIOS و"--efi" لـ UEFI، على التوالي؛ تأخذ الخيارات إما grub2 أو syslinux كمعلمات؛ ويمكنك أيضًا تحديد خيار واحد فقط ( على سبيل المثال، ليس هناك حاجة إلى دعم تمهيد UEFI، وقد لا يكون محددًا).
mkbootisofs iso/ --legacy-boot syslinux --output boot-biosonly.iso
mkbootisofs iso/ --legacy-boot syslinux --efi grub2 --output boot-bios-uefi.iso
mkbootisofs iso/ --efi grub2 --output boot-uefionly.iso
وكما كان من قبل، تم تضمين الصور مع النظام في initrd، ويمكنك تضمينها في ISO.
mkbootisofs iso/ --overlay gentoo/ --squashfs --legacy-boot grub2 --efi grub2 --output gentoo.iso
بعد هذا الأمر، سيتم إنشاء صورة BIOS/UEFI ISO قابلة للتمهيد لتحميل Gentoo في صورة SquashFS باستخدام Overlay FS، باستخدام tmpfs لتخزين البيانات. يجب أن يتم إنشاء النواة بدعم Overlay FS مع SquashFS. ومع ذلك، إذا لم يكن ذلك مطلوبًا لسبب ما، فيمكنك استخدام خيار "-cpio" بدلاً من -squashfs لحزم gentoo/ كأرشيف cpio، وفي هذه الحالة سيتم تفريغ الأرشيف مباشرة في tmpfs عند التمهيد، الشيء الرئيسي هو أنه لتفريغ نظام tmpfs كان لديه ذاكرة وصول عشوائي كافية.
حقيقة مثيرة للاهتمام: إذا تم تفريغ صورة ISO تم إنشاؤها باستخدام خيار "—efi" على محرك أقراص فلاش FAT32 بمجرد نسخ الملفات (cp -r)، فسيتم تشغيل محرك الأقراص المحمول في وضع UEFI دون أي تحضير أولي، وذلك بفضل التفاصيل من UEFI- التنزيلات.
بالإضافة إلى ISO القابلة للتشغيل، يمكن إنشاء أي محرك أقراص قابل للتمهيد بنفس المعلمات: USB، وHDD، وSSD، وما إلى ذلك، ويمكن الاستمرار في استخدام محرك الأقراص هذا للغرض المقصود منه. للقيام بذلك، تحتاج إلى تثبيت جهاز USB، على سبيل المثال، وتشغيل mkbootisofs عليه. ما عليك سوى إضافة خيار واحد "—قابل للتمهيد" حتى يصبح محرك الأقراص الذي يوجد عليه الدليل المحدد قابلاً للتمهيد.
جبل / ديف / sdb1 / mnt
mkbootisofs /mnt --overlay gentoo/ --squashfs --legacy-boot grub2 --efi grub2 --bootable
بعد ذلك، سيصبح جهاز USB قابلاً للتمهيد باستخدام الملف gentoo/ overlay (لا تنس نسخ الملفات /boot/vmlinuz و/boot/initrd إلى الجهاز).
إذا لم يتم تثبيت محرك الأقراص لسبب ما في /mnt، واتضح أن /mnt موجود على الجهاز الرئيسي /dev/sda، فستتم إعادة كتابة أداة تحميل التشغيل إلى /dev/sda. يجب أن تكون حذرًا عند تحديد الخيار --bootable.
أثناء عملية التمهيد، يدعم Booty عددًا من الخيارات التي يمكن تمريرها إلى أداة تحميل التمهيد، أو grub.cfg أو syslinux.cfg. افتراضيًا، بدون أي خيارات، يتم تحميل جميع التراكبات وتفكيكها في tmpfs (الخيار الافتراضي ooty.use-shmfs). لاستخدام Overlay FS، يجب استخدام خيار booty.use-overlayfs. يقوم خيار booty.copy-to-ram أولاً بنسخ التراكبات إلى tmpfs، وبعد ذلك يقوم فقط بتوصيلها وتحميلها. بمجرد النسخ، يمكن إزالة جهاز USB (أو أي جهاز تخزين آخر).
المصدر: opennet.ru