ganima - mai amfani don ƙirƙirar hotunan taya da tafiyarwa

An gabatar da shirin ganima, wanda ke ba ku damar ƙirƙirar hotuna initrd masu bootable, fayilolin ISO ko faifai masu ɗauke da kowane rarraba GNU/Linux tare da umarni ɗaya. An rubuta lambar a cikin POSIX harsashi da rarraba ta mai lasisi a ƙarƙashin GPLv3.

Duk rarrabawar da aka yi ta amfani da Booty yana gudana ko dai SHMFS (tmpfs) ko SquashFS + Overlay FS, zaɓin mai amfani. An ƙirƙiri rarraba sau ɗaya, kuma yayin aiwatar da taya, ana zaɓar sigogi waɗanda ke ba ku damar amfani da tmpfs masu tsabta don tushen, ko haɗuwa da Overlay FS + SquashFS tare da rikodin canje-canje zuwa tmpfs. Yana yiwuwa a rigaya kwafin kayan rarrabawar da aka sauke zuwa RAM, wanda ke ba ku damar cire haɗin kebul na USB bayan zazzagewa da kwafin kayan rarrabawa zuwa ƙwaƙwalwar ajiya.

Da farko, Booty yana samar da nasa hoton initrd, wanda zai iya amfani da kayan aikin asali daga tsarin na yanzu ko akwatin aiki. Yana yiwuwa a haɗa (fakitin) duka kayan rarrabawa da aka sanya a cikin kundin adireshi (chroot) cikin initramfs. Wannan na iya zama da amfani lokacin da kuke buƙatar haɓaka tsarin ta amfani da kexec: kawai sake loda initrd tare da sabon kernel da sabon tsari a cikin initrd.

Ƙirƙirar hoton initrd na musamman na Booty:

mkdir initramfs/
mkinitramfs initramfs/ --output initrd

Ƙirƙirar hoton initrd gami da rarrabawa daga kundin adireshin "gentoo/":

mkdir initramfs/
mkinitramfs initramfs/ --overlay gentoo/ --cpio --output initrd

Bayan haka wannan hoton initrd yana shirye gaba daya don lodawa, misali, ta PXE ko ta kexec.

Na gaba, Booty yana haifar da hotuna tare da tsarin da aka ƙayyade a matsayin "overlays". Misali, zaku iya shigar (cire fakitin tarihin) Gentoo na sharaɗi a cikin wani kundin adireshi daban, bayan haka za'a samar da tarihin cpio ko hoton SquashFS tare da wannan tsarin ta amfani da Booty. Hakanan zaka iya saita rarrabawa a cikin wani kundin adireshi daban, da kwafi saitunan keɓaɓɓen ku zuwa wani kundin adireshi. Duk waɗannan "yadudduka" za a ɗora su a jere a kan juna kuma su haifar da tsarin aiki guda ɗaya.

mkdir initramfs/
mkinitramfs initramfs/ --overlay gentoo/ --overlay settings/ --overlay documents/ --squashfs --output initrd

A ƙarshe, Booty yana ba ku damar ƙirƙirar hotunan ISO masu bootable da USB, HDD, SSD da sauran fayafai ta hanyar shigar da tsarin da ke sama daga hotuna. ganima yana goyan bayan ƙirƙirar tsarin taya BIOS da UEFI. GRUB2 da SYSLINUX bootloaders ana tallafawa. Ana iya haɗa masu ɗaukar kaya, alal misali, yi amfani da SYSLINUX don taya BIOS, da GRUB2 don UEFI. Don ƙirƙirar hotunan ISO, kuna buƙatar buƙatun cdrkit (genisoimage) ko fakitin xorriso (xorrisofs), don zaɓar daga.

Iyakar ƙarin aikin da ake buƙata shine shirya kernel (vmlinuz) don taya a gaba. Marubucin (Spoofing) ya ba da shawarar yin amfani da "make defconfig". Kafin ƙirƙirar hoton, kuna buƙatar shirya kundin adireshi ta hanyar sanya vmlinuz kernel da initrd "marasa komai" da aka shirya a baya a misali na farko.

mkdir iso/
cp /boot/vmlinuz-* iso/boot/vmlinuz
cp initrd iso/boot/initrd

Tare da wannan shiri ya cika, yanzu zamu iya ƙirƙirar hotunan ISO daga wannan jagorar.

Umurnin da ke gaba zai haifar da hoton ISO, ba wanda za'a iya ɗauka ba, kawai ISO:

mkdir iso/
mkbootisofs iso/ --output archive.iso

Don ƙirƙirar hoton taya, kuna buƙatar ƙayyade zaɓin "-legacy-boot" don BIOS da "-efi" don UEFI, bi da bi; zaɓuɓɓukan suna ɗaukar ko dai grub2 ko syslinux a matsayin sigogi; Hakanan zaka iya ƙayyade zaɓi ɗaya kawai. misali, ba a buƙatar tallafin taya na UEFI, maiyuwa ba za a bayyana shi ba).

mkbootisofs iso/ --legacy-boot syslinux --fitarwa boot-biosonly.iso

mkbootisofs iso/ --legacy-boot syslinux --efi grub2 --fitarwa boot-bios-uefi.iso

mkbootisofs iso/ --efi grub2 --fitarwa boot-uefionly.iso

Kuma kamar yadda ya gabata, an haɗa hotuna tare da tsarin a cikin initrd, zaku iya haɗa su a cikin ISO.

mkbootisofs iso/ --overlay gentoo/ --squashfs --legacy-boot grub2 --efi grub2 --fitarwa gentoo.iso

Bayan wannan umarni, za a samar da hoton BIOS/UEFI ISO mai bootable wanda ke ɗaukar Gentoo a cikin hoton SquashFS ta amfani da Overlay FS, ta amfani da tmpfs don adana bayanai. Dole ne a gina kwaya tare da tallafin FS mai rufi tare da SquashFS. Koyaya, idan saboda wasu dalilai ba a buƙatar wannan ba, zaku iya amfani da zaɓin “—cpio” maimakon — squashfs don kunshin gentoo/ azaman ma'ajiyar cpio, a cikin wannan yanayin za'a buɗe ma'ajiyar ta atomatik cikin tmpfs akan boot, babban abu. shine don buɗewa tsarin tmpfs yana da isasshen RAM.

Gaskiya mai ban sha'awa: idan hoton ISO da aka ƙirƙira ta amfani da zaɓi na "-efi" an buɗe shi akan fasinjan FAT32 ta hanyar kwafin fayiloli kawai (cp -r), to, fasinjan Flash ɗin zai yi tari a yanayin UEFI ba tare da wani shiri na farko ba, godiya ga ƙayyadaddun bayanai. na UEFI- masu saukewa.

Baya ga bootable ISOs, ana iya ƙirƙira kowane irin bootable drive tare da sigogi iri ɗaya: USB, HDD, SSD, da sauransu, kuma ana iya ci gaba da amfani da wannan injin don manufar da aka yi niyya. Don yin wannan, kuna buƙatar hawa, misali, na'urar USB kuma kunna mkbootisofs akanta. Kawai ƙara zaɓi ɗaya “—bootable” ta yadda drive ɗin da ke cikin ƙayyadaddun kundin adireshi ya zama bootable.

Dutsen /dev/sdb1 /mnt
mkbootisofs /mnt --overlay gentoo/ --squashfs --legacy-boot grub2 --efi grub2 --bootable

Bayan haka, na'urar USB za ta zama bootable tare da gentoo / overlay (kar a manta da kwafin fayilolin /boot/vmlinuz da /boot/initrd zuwa na'urar).

Idan saboda wasu dalilai ba a shigar da drive ɗin a /mnt ba, kuma ya bayyana cewa /mnt yana kan babban na'urar /dev/sda, to za a sake rubuta bootloader zuwa /dev/sda. Ya kamata ku yi hankali yayin tantance zaɓin --bootable.

Yayin aiwatar da taya, Booty yana goyan bayan zaɓin da dama waɗanda za a iya wuce su zuwa mai ɗaukar kaya, grub.cfg ko syslinux.cfg. Ta hanyar tsohuwa, ba tare da kowane zaɓi ba, ana loda duk mai rufi kuma ana buɗe su cikin tmpfs (zaɓin tsoho ooty.use-shmfs). Don amfani da Overlay FS dole ne a yi amfani da zaɓin booty.use-overlayfs. Zaɓin booty.copy-to-ram yana fara kwafi akan tmpfs, bayan haka yana haɗa su kawai yana loda su. Da zarar an kwafi, ana iya cire na'urar USB (ko wata na'urar ajiya).

source: budenet.ru

Add a comment