Ƙirƙirar hotunan bootstrap v1.2


Ƙirƙirar hotunan bootstrap v1.2

Daga baya wata daya kawai Bayan jinkirin ci gaba, an saki boobstrap v1.2 - saitin kayan aiki akan harsashi POSIX don ƙirƙirar hotunan taya da tafiyarwa.

Boobstrap yana ba ku damar yin umarni ɗaya kawai:

  • Ƙirƙiri hoton initramfs, gami da kowane rarraba GNU/Linux a ciki.
  • Ƙirƙiri hotunan ISO masu bootable tare da kowane rarraba GNU/Linux.
  • Ƙirƙirar kebul na bootable, HDD, SSD tare da kowane rarraba GNU/Linux.

Abin da ya fi dacewa shi ne cewa bayan loda GNU/Linux zai yi aiki gaba ɗaya a cikin tmpfs masu tsabta, ko amfani da hotuna FS da SquashFS, zaɓinku. Kuna shigar da duk wani rarraba GNU/Linux a cikin kundin adireshi, yin duk saitunan da suka dace (yiwuwa a cikin wani kundin adireshi daban), bayan haka zaku ƙirƙiri na'urar taya tare da umarni ɗaya kawai, ya zama hoton ISO, USB, HDD, SSD drive, ko za ka iya ƙirƙirar hoto initrd tare da tsarin. Tsarin zai kasance koyaushe yana cikin yanayi iri ɗaya kuma idan akwai matsala, zaku iya komawa zuwa ainihin yanayinsa ta danna maɓallin Sake saiti ɗaya. Kuna son canja wurin tsarin zuwa wani mai masaukin baki, ko ƙirƙirar tsari daga akwati da ke akwai? Boobstrap zai yi shi.

Daga cikin mahimman canje-canje:

  • Ƙara goyon baya ga syslinux bootloader, ban da grub2 da ya riga ya kasance. Kuna iya zaɓar yin amfani da ko dai grub2, syslinux, ko duka biyu yayin ƙirƙirar na'urar taya ko hoton ISO tare da zaɓuɓɓukan --legacy-boot syslinux da --efi grub2 bi da bi, kuma zaku iya zaɓar waɗanne hanyoyin Zazzagewa zai goyi bayan ISO. hoto.
  • Ƙara --bootable zaɓi, wanda ke sa kowace na'urar toshe ta iya yin bootable. Don ƙirƙirar hotunan ISO, zaɓi --iso-9660 dole ne a yi amfani da shi.
  • Ƙara zaɓuɓɓukan taya kernel boobs.use-shmfs don kwafin abubuwan da ke cikin duk abin da aka rufe zuwa tmpfs, boobs.use-overlayfs don yin amfani da Overlay FS, boobs.search-rootfs don zaɓar tushen tare da tsarin, boobs.copy-to-ram don kwafe tsarin zuwa ƙwaƙwalwar ajiya sannan kashe na'urar.
  • Abinda kawai ake buƙata don boobstrap don aiki shine cpio. Sauran abubuwan dogaro na zaɓi ne: grub2, syslinux - da ake buƙata don ƙirƙirar kafofin watsa labarai mai bootable, cdrkit ko xorriso don zaɓar daga - don ƙirƙirar ISO, kayan aikin squashfs don ƙirƙirar SquashFS, amma babu abin da ya hana ku amfani da zaɓi -cpio maimakon - squashfs don shirya rarrabawar ku cikin rumbun adana bayanai. busybox kawai za a yi amfani da shi idan an shigar dashi, amma idan ba haka ba, duk abubuwan da ake buƙata daga tsarin ku za a kwafi. Don haka, boobstrap yana da tabbacin yin aiki kusan ko'ina.

Misali, umarni mai zuwa zai ƙirƙiri hoto na initrd gami da tsarin gentoo-chroot/ tsarin da aka tattara azaman hoton SquashFS, wanda zai yi nasara cikin nasara bayan initrd ɗin kanta ta loda. Bari in tunatar da ku cewa don amfani da Overlay FS tare da SquashFS, dole ne ku wuce zaɓi na boobs.use-overlayfs kernel, in ba haka ba za a buɗe tsarin cikin tmpfs. Ana iya yin duk ƙarin saituna a cikin wani kundin adireshi daban, misali gentoo-settings/

# mkdir initramfs/
# mkinitramfs initramfs/ --overlay gentoo-chroot/ --overlay gentoo-settings/ --squashfs> initrd

Hoton initrd tare da tsarin ciki yana dacewa lokacin da kuke buƙatar tura tsarin da sauri, misali, ta hanyar PXE, ko akan tsarin da aka ɗora zuwa initrd ta amfani da umarnin kexec -l /boot/vmlinuz-* —initrd=./initrd && kexec -e, da kyau ko, kasancewa a cikin ƙirar injin ƙirar QEMU (wataƙila ma Proxmox), taya daga tushe mai nisa ta amfani da umarnin IPXE guda uku: kernel http://[...]/vmlinuz, initrd http://[ ...]/ initrd, taya. Kamar yadda kuke gani, ko da initrd na yau da kullun tare da tsarin ku a ciki yana da amfani da yawa.

Don ƙirƙirar bootable tafiyarwa da hotuna, ana amfani da umarnin mkbootisofs, alal misali, wannan shine abin da ƙirƙirar hoton ISO tare da zaɓi -iso-9660 yayi kama da amfani da syslinux don kora cikin yanayin Legacy (BIOS) da grub2 don taya cikin EFI- yanayin (UEFI).

# mkdir initrd/
# mkinitramfs initrd/> initrd
# mkdir isoimage/
# mkdir isoimage/boot
# cp /boot/vmlinuz-* isoimage/boot/vmlinuz
# cp initrd isoimage/boot/initrd
# mkbootisofs isoimage/ -iso-9660 — legacy-boot syslinux — efi grub2 — fitarwa boot.iso
--overlay gentoo-chroot/ --overlay gentoo-settings/ --squashfs

Kuna iya ƙididdige ɗayan hanyoyin taya, ko kuma ba ku fayyace su kwata-kwata ba, za a sami nasarar ƙirƙirar hoton ISO daidai.

Shigar da kowane drive da kuma booting na gaba daga gare ta ana yin ta ta amfani da zaɓi --bootable. Kuna buƙatar ƙirƙirar ɓangarori akan drive ɗin da kanku (fdisk) kuma ku tsara su (mkdosfs, mke2fs, da sauransu), sannan ku hau na'urar a cikin kundin adireshi.

# Dutsen /dev/sdb1 /mnt/drive/
# mkbootisofs /mnt/drive/ --bootable --legacy-boot grub2 --efi grub2
--overlay gentoo-chroot/ --overlay gentoo-settings/ --squashfs

Tsanani Zaɓin --bootable yana ƙayyade wace na'urar toshe directory ɗin aka ɗora daga kuma ya shigar da bootloader akan wannan na'urar. Idan ka manta da hawan na'urar ko kuskuren saka kundin adireshi wanda yake, misali, akan / dev/sda, bootloader akan / dev/sda za a sake rubuta shi daidai. Yi amfani --bootable tare da taka tsantsan.

An rage shigar da kowane tsarin GNU/Linux zuwa umarni ɗaya kawai. Ana iya yin shigarwa akan kowane HDD, SSD, da sauransu. Yana da kyau a tuna cewa wannan har yanzu tsarin ne da ke gudana daga Overlay FS / SquashFS, ko lodawa gaba ɗaya cikin tmpfs, zaɓinku.

Daga cikin wasu abubuwa, boobstrap yana da adadin abubuwan ban sha'awa da ƙarin damar!

Misali, zaku iya ƙirƙirar initrd na mallakar mallaka tare da umarnin mkinitramfs `mktemp -d`> /boot/initrd kuma kuyi boot a cikin tsarin ku tare da wannan initrd, yana ƙayyadadden zaɓin kernel boobs.use-overlayfs boobs.search-rootfs=/dev /sda1. A wannan yanayin, / dev/sda1, inda aka shigar da tsarin gidan ku, za a haɗa shi azaman Layer FS mai rufewa kawai, kuma duk canje-canjen da kuka yi za a rubuta su na ɗan lokaci zuwa tmpfs. Kuna iya ƙara zaɓin boobs.copy-to-ram sannan za'a kwafi dukkan tsarin ku zuwa RAM, kuma ana iya cire haɗin rumbun kwamfutarka daga kwamfutar. Mai dacewa lokacin da kake buƙatar karya wani abu, kuma zaka iya jujjuya canje-canje ta hanyar sake yin aiki kawai. 🙂

Amma menene idan har yanzu kuna buƙatar adana duk canje-canje a cikin tsarin? Misali, kun shigar da software ko wani abu dabam. Lokacin aiki a cikin tmpfs tsarkakakku, wannan rashin alheri ba zai yuwu ba, amma idan kun kunna ta amfani da Overlay FS, to duk canje-canjen da ke faruwa a cikin tsarin ana adana su a cikin kundin tmpfs daban: /mnt/overlayfs/rootfs-canji! Yanayin amfani abu ne mai sauqi qwarai. Kun kunna tsarin ku daga na'urar USB, kun yi wasu ayyuka, kuma kuna son adana duk abin da aka canza, sannan ku ƙirƙiri ma'ajin ajiya na cpio ku sanya shi nan, akan na'urar USB iri ɗaya.

# cd /mnt/overlayfs/tushen-canji
# samu . - bugawa0 | cpio --create --tsarin "newc" --null --shiru> /mnt/drive/rootfs-changes.cpio
# cd $OLDPWD

Kuna iya sanya ma'ajiyar bayanan kusa da sauran SquashFS da cpio "Layer", sannan bayan lodawa na gaba za'a haɗa ma'ajiyar a matsayin wani yanki mai karantawa kawai. Don ci gaba da aiki tare da canje-canje, yi amfani da zaɓin upload boobs.rootfs-changes=/rootfs-changes.cpio. Zaɓin canje-canje na boobs.rootfs yana ba da damar takamaiman Layer tare da samun dama ga canji. Layer na iya zama na'urar toshewa, misali zaku iya saka /dev/sdb1, sannan duk canje-canjen da aka yi a cikin Overlay FS za a adana su kawai zuwa /dev/sdb1.

Boobstrap, duk da fa'idar damar da ake da ita, har yanzu yana kan matakin haɓakawa, duk maganganun ku da shawarwari ana la'akari da su!

source: linux.org.ru

Add a comment