booty - matumizi ya kuunda picha za boot na anatoa

Mpango uliowasilishwa Booty, ambayo hukuruhusu kuunda picha za initrd zinazoweza kusomeka, faili za ISO au viendeshi vyenye usambazaji wowote wa GNU/Linux kwa amri moja. Nambari imeandikwa kwenye ganda la POSIX na kusambazwa na iliyopewa leseni chini ya GPLv3.

Usambazaji wote ulioanzishwa kwa kutumia Booty huendesha SHMFS (tmpfs) au SquashFS + Overlay FS, chaguo la mtumiaji. Usambazaji huundwa mara moja, na wakati wa mchakato wa boot, vigezo vinachaguliwa vinavyokuwezesha kutumia tmpfs safi kwa mizizi, au mchanganyiko wa Overlay FS + SquashFS na mabadiliko ya kurekodi kwa tmpfs. Inawezekana kunakili kit cha usambazaji kinachoweza kupakuliwa kwenye RAM, ambayo inakuwezesha kukata gari la USB baada ya kupakua na kunakili kit cha usambazaji kwenye kumbukumbu.

Kwanza kabisa, Booty hutoa picha yake ya initrd, ambayo inaweza kutumia huduma za asili kutoka kwa mfumo wa sasa au kisanduku cha kazi. Inawezekana kujumuisha (pakiti) kit nzima cha usambazaji kilichosakinishwa kwenye saraka (chroot) kwenye initramfs. Hii inaweza kuwa muhimu unapohitaji kuboresha mfumo kwa kutumia kexec: pakia tu initrd na kernel mpya na mfumo mpya ndani ya initrd.

Kuunda picha ya initrd maalum:

mkdir initramfs/
mkinitramfs initramfs/ --output initrd

Kuunda picha ya intrd ikijumuisha usambazaji kutoka kwa saraka ya "gentoo/":

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

Baada ya hapo picha hii ya initrd iko tayari kabisa kupakiwa, kwa mfano, kupitia PXE au kupitia kexec.

Ifuatayo, Booty hutengeneza picha na mfumo uliobainishwa kama "uwekeleaji". Kwa mfano, unaweza kusakinisha (kufungua kumbukumbu) Gentoo yenye masharti katika saraka tofauti, baada ya hapo kumbukumbu ya cpio au picha ya SquashFS yenye mfumo huu itatolewa kwa kutumia Booty. Unaweza pia kusanidi usambazaji katika saraka tofauti, na nakala ya mipangilio yako ya kibinafsi kwenye saraka nyingine. "Tabaka" hizi zote zitapakiwa sequentially juu ya kila mmoja na kuunda mfumo mmoja wa kufanya kazi.

mkdir initramfs/
mkinitramfs initramfs/ --overlay gentoo/ --mipangilio ya juu/ --nyaraka/ --squashfs --output initrd

Hatimaye, Booty inakuwezesha kuunda picha za ISO za bootable na USB, HDD, SSD na viendeshi vingine kwa kusakinisha mfumo ulio juu kutoka kwa picha. Booty inasaidia uundaji wa mifumo ya boot ya BIOS na UEFI. GRUB2 na SYSLINUX bootloaders ni mkono. Bootloaders inaweza kuunganishwa, kwa mfano, tumia SYSLINUX ili boot kwenye BIOS, na GRUB2 kwa UEFI. Ili kuunda picha za ISO, utahitaji pia kifurushi cha cdrkit (genisoimage) au xorriso (xorrisofs), cha kuchagua.

Kitendo pekee cha ziada kinachohitajika ni kuandaa kernel (vmlinuz) kwa buti mapema. Mwandishi (Spoofing) anapendekeza kutumia "fanya defconfig". Kabla ya kuunda picha, unahitaji kuandaa saraka kwa kuweka kernel ya vmlinuz na initrd "tupu" iliyoandaliwa hapo awali iliyoundwa katika mfano wa kwanza.

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

Kwa hili maandalizi yamekamilika, sasa tunaweza kuunda picha za ISO kutoka kwenye saraka hii.

Amri ifuatayo itaunda picha ya ISO, sio ya bootable, ISO tu:

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

Ili kuunda picha ya boot, unahitaji kutaja chaguo "--legacy-boot" kwa BIOS na "--efi" kwa UEFI, mtawaliwa; chaguzi huchukua grub2 au syslinux kama vigezo; unaweza pia kutaja chaguo moja tu ( kwa mfano, usaidizi wa UEFI boot hauhitajiki , inaweza kuwa haijabainishwa).

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

Na kama hapo awali, picha zilizo na mfumo zilijumuishwa kwenye initrd, unaweza kuzijumuisha kwenye ISO.

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

Baada ya amri hii, picha ya BIOS/UEFI ISO inayoweza kusongeshwa itatolewa ambayo hupakia Gentoo kwenye picha ya SquashFS kwa kutumia Overlay FS, kwa kutumia tmpfs kuhifadhi data. Kokwa lazima ijengwe kwa usaidizi wa Overlay FS na SquashFS. Walakini, ikiwa kwa sababu fulani hii haihitajiki, unaweza kutumia chaguo la "-cpio" badala ya -squashfs kufunga gentoo/ kama kumbukumbu ya cpio, katika hali ambayo kumbukumbu itapakuliwa moja kwa moja kwenye tmpfs kwenye buti, jambo kuu. ni kwamba kwa kufungua tmpfs za mfumo zilikuwa na RAM ya kutosha.

Ukweli wa kuvutia: ikiwa picha ya ISO iliyoundwa kwa kutumia chaguo la "-efi" imefunguliwa kwenye kiendeshi cha FAT32 kwa kunakili faili tu (cp -r), basi kiendeshi cha Flash kitaanza katika hali ya UEFI bila maandalizi yoyote ya awali, shukrani kwa maelezo maalum. ya vipakuzi vya UEFI.

Mbali na ISO za bootable, gari lolote la bootable linaweza kuundwa kwa vigezo sawa: USB, HDD, SSD, na kadhalika, na gari hili linaweza kuendelea kutumika kwa madhumuni yaliyokusudiwa. Ili kufanya hivyo, unahitaji kuweka, kwa mfano, kifaa cha USB na kukimbia mkbootisofs juu yake. Ongeza tu chaguo moja "-bootable" ili gari ambalo saraka maalum iko inakuwa bootable.

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

Baada ya hapo, kifaa cha USB kitakuwa bootable na gentoo/ funika (usisahau kunakili /boot/vmlinuz na /boot/initrd faili kwenye kifaa).

Ikiwa kwa sababu fulani gari haikuwekwa / mnt, na inageuka kuwa / mnt iko kwenye kifaa kikuu / dev / sda, basi bootloader itaandikwa tena kwa /dev/sda. Unapaswa kuwa mwangalifu unapobainisha --bootable chaguo.

Wakati wa mchakato wa kuwasha, Booty inasaidia idadi ya chaguo ambazo zinaweza kupitishwa kwa kipakiaji cha boot, grub.cfg au syslinux.cfg. Kwa chaguo-msingi, bila chaguo lolote, viwekeleo vyote vinapakiwa na kufunguliwa kwenye tmpfs (chaguo-msingi la ooty.use-shmfs). Ili kutumia Overlay FS chaguo la booty.use-overlayfs lazima litumike. Chaguo la booty.copy-to-ram kwanza nakala zilizowekelewa kwenye tmpfs, baada ya hapo inaziunganisha tu na kuzipakia. Baada ya kunakiliwa, kifaa cha USB (au kifaa kingine cha kuhifadhi) kinaweza kuondolewa.

Chanzo: opennet.ru

Kuongeza maoni