booty - utility yekugadzira boot mifananidzo uye madhiraivha

Chirongwa chakaburitswa nechisimba, izvo zvinokutendera kuti ugadzire mifananidzo inogoneka yeinitrd, ISO mafaera kana madhiraivha ane chero GNU/Linux kugovera nemurairo mumwe. Iyo kodhi yakanyorwa muPOSIX shell uye inoparadzirwa ne ane rezinesi pasi peGPLv3.

Kugovera kwese kunoitwa uchishandisa Booty mhanyisa ingave SHMFS (tmpfs) kana SquashFS + Overlay FS, sarudzo yemushandisi. Kugoverwa kunogadzirwa kamwe chete, uye panguva yebhoti maitiro, maparameter anosarudzwa anokubvumira kushandisa yakachena tmpfs yemudzi, kana musanganiswa weOverlay FS + SquashFS nekurekodha shanduko kune tmpfs. Zvinogoneka kufanokopa iyo inodhawunirodha yekugovera kit mu RAM, iyo inokutendera kuti ubvise USB drive mushure mekurodha nekukopa kit yekugovera mundangariro.

Chekutanga pane zvese, Booty inogadzira yayo initrd mufananidzo, iyo inogona kushandisa zviwanikwa kubva kune yazvino system kana busybox. Zvinogoneka kusanganisa (pack) iyo yese yekugovera kit yakaiswa mudhairekitori (chroot) mune initramfs. Izvi zvinogona kubatsira kana iwe uchida kukwidziridza sisitimu uchishandisa kexec: ingo dzosera iyo initrd ine kernel nyowani uye itsva system mukati meinitrd.

Kugadzira mufananidzo weBooty-specific initrd:

mkdir initramfs/
mkinitramfs initramfs/ --output initrd

Kugadzira initrd mufananidzo unosanganisira kugovera kubva ku "gentoo/" dhairekitori:

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

Mushure meizvozvo iyi initrd mufananidzo wakanyatso gadzirira kurodha, semuenzaniso, kuburikidza nePXE kana kuburikidza nekexec.

Tevere, Booty inogadzira mifananidzo ine sisitimu yakatsanangurwa se "kuvharika". Semuenzaniso, iwe unogona kuisa (kusunungura iyo archive) ine mamiriro Gentoo mune imwe dhairekitori, mushure meiyo cpio archive kana SquashFS mufananidzo neino system ichagadzirwa uchishandisa Booty. Iwe unogona zvakare kugadzirisa kugovera mune yakaparadzana dhairekitori, uye kukopa yako pachako marongero kune imwe dhairekitori. Ese aya "matanho" anozoiswa sequentially pamusoro peumwe neumwe uye kugadzira imwechete yekushanda sisitimu.

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

Pakupedzisira, Booty inokutendera kuti ugadzire mifananidzo ye ISO inotakurika uye USB, HDD, SSD uye mamwe madhiraivha nekuisa iyo iri pamusoro system kubva pamifananidzo. nechisimba inotsigira kusikwa kweBIOS uye UEFI boot systems. GRUB2 uye SYSLINUX bootloaders inotsigirwa. Bootloaders inogona kusanganiswa, semuenzaniso, shandisa SYSLINUX kubhuya muBIOS, uye GRUB2 yeUEFI. Kuti ugadzire mifananidzo yeISO, iwe uchazoda zvakare cdrkit (genisoimage) kana xorriso (xorrisofs) package, yekusarudza kubva.

Chinhu chega chekuwedzera chinodiwa kugadzirira kernel (vmlinuz) yebhutsu pamberi. Munyori (Spoofing) anokurudzira kushandisa "ita defconfig". Usati wagadzira mufananidzo, unofanirwa kugadzirira dhairekitori nekuisa vmlinuz kernel uye yakambogadzirirwa "isina" initrd yakagadzirwa mumuenzaniso wekutanga.

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

Neizvi kugadzirira kwapera, isu tinogona ikozvino kugadzira ISO mifananidzo kubva pane ino dhairekitori.

Murairo unotevera uchagadzira mufananidzo weISO, kwete we bootable, kungoita ISO:

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

Kuti ugadzire mufananidzo webhutsu, unofanirwa kutsanangura iyo "--legacy-boot" sarudzo yeBIOS uye "--efi" yeUEFI, zvichiteerana; sarudzo dzinotora ingave grub2 kana syslinux sema paramita; unogona zvakare kutsanangura imwe chete sarudzo ( semuenzaniso, UEFI bhutsu rutsigiro haidiwe, inogona kunge isina kutaurwa).

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

Uye sepakutanga, mifananidzo ine system yakaiswa muinitrd, unogona kuisanganisira muISO.

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

Mushure memurairo uyu, chifananidzo cheBIOS / UEFI ISO chichagadzirwa chinotakura Gentoo mumufananidzo weSquashFS uchishandisa Overlay FS, uchishandisa tmpfs yekuchengetedza data. Iyo kernel inofanirwa kuvakwa neOverlay FS rutsigiro neSquashFS. Nekudaro, kana nekuda kwechimwe chikonzero izvi zvisingadiwe, unogona kushandisa iyo "-cpio" sarudzo pachinzvimbo che-squashfs kurongedza gentoo/ se cpio archive, iyo iyo iyo archive ichaburitswa yakananga mutmpfs pabhutsu, chinhu chikuru. ndeyekuti yekusunungura system tmpfs yaive ne RAM yakakwana.

Chokwadi chinonakidza: kana mufananidzo weISO wakagadzirwa uchishandisa iyo "-efi" sarudzo ukaburitswa muFAT32 flash drive nekungokopa mafaera (cp -r), ipapo Flash drive ichatanga muUEFI modhi pasina chero gadziriro yekutanga, nekuda kwezvakatemwa. yeUEFI- downloaders.

Mukuwedzera kune bootable ISOs, chero bootable drive inogona kugadzirwa neakaenzana paramita: USB, HDD, SSD, zvichingodaro, uye drive iyi inogona kuramba ichishandiswa kune chinangwa chayo. Kuti uite izvi, unofanirwa kukwira, semuenzaniso, mudziyo we USB uye mhanyisa mkbootisofs pairi. Ingo wedzera imwe sarudzo "-bootable" kuitira kuti dhiraivha iyo yakatsanangurwa dhairekitori iripo inogoneka.

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

Mushure meizvozvo, iyo USB mudziyo unozove bhootable neiyo gentoo/ pamusoro (usakanganwa kukopa iyo /boot/vmlinuz uye /boot/initrd mafaera kune mudziyo).

Kana nokuda kwechimwe chikonzero motokari yakanga isina kuiswa mukati / mnt, uye zvikaitika kuti / mnt iri pamudziyo mukuru / dev / sda, ipapo bootloader inonyorwazve ku / dev / sda. Iwe unofanirwa kungwarira paunotsanangura iyo --bootable sarudzo.

Panguva yebhutsu, Booty inotsigira akati wandei sarudzo dzinogona kupfuudzwa kune iyo boot loader, grub.cfg kana syslinux.cfg. Nekumisikidza, pasina chero sarudzo, zvese zvakafukidzwa zvinotakurwa uye kuburitswa mutmpfs (default sarudzo ooty.use-shmfs). Kushandisa Overlay FS iyo booty.use-overlayfs sarudzo inofanira kushandiswa. Iyo booty.copy-to-ram sarudzo yekutanga makopi akafukidzira kune tmpfs, mushure mezvo inongoabatanidza nekuatakura. Kana yangokopwa, iyo USB mudziyo (kana imwe mudziyo wekuchengetedza) inogona kubviswa.

Source: opennet.ru

Voeg