Pulogalamu yoperekedwa
Zogawa zonse zidayambika pogwiritsa ntchito Booty zimayendetsa SHMFS (tmpfs) kapena SquashFS + Overlay FS, kusankha kwa wogwiritsa ntchito. Kugawa kumapangidwa kamodzi, ndipo panthawi ya boot, magawo amasankhidwa omwe amakulolani kugwiritsa ntchito ma tmpfs oyera pa muzu, kapena kuphatikiza kwa Overlay FS + SquashFS ndi kujambula kusintha kwa tmpfs. Ndikotheka kukoperatu zida zogawira zomwe mungatsitse mu RAM, zomwe zimakupatsani mwayi wodula USB drive mutatha kutsitsa ndikutengera zida zogawira kukumbukira.
Choyamba, Booty imapanga chithunzi chake cha initrd, chomwe chitha kugwiritsa ntchito zida zakubadwa kuchokera pamakina apano kapena bokosi lotanganidwa. Ndizotheka kuphatikiza (paketi) zida zonse zogawa zomwe zidayikidwa mu bukhu (chroot) mu initramfs. Izi zitha kukhala zothandiza mukafuna kukweza makina pogwiritsa ntchito kexec: ingotsitsani initrd ndi kernel yatsopano ndi dongosolo latsopano mkati mwa initrd.
Kupanga chithunzi cha Booty-specific initrd:
mkdir initramfs/
mkinitramfs initramfs/ --output initrd
Kupanga chithunzi cha initrd kuphatikiza kugawa kuchokera ku bukhu la "gentoo/":
mkdir initramfs/
mkinitramfs initramfs/ --overlay gentoo/ --cpio --output initrd
Pambuyo pake chithunzi ichi cha initrd chakonzeka kutsitsa, mwachitsanzo, kudzera pa PXE kapena kudzera pa kexec.
Kenako, Booty imapanga zithunzi ndi dongosolo lotchulidwa ngati "zophimba". Mwachitsanzo, mutha kuyika (kutsegula zakale) Gentoo yokhazikika mu bukhu losiyana, pambuyo pake cpio archive kapena chithunzi cha SquashFS ndi dongosololi chidzapangidwa pogwiritsa ntchito Booty. Mukhozanso kukonza kugawa mu bukhu lapadera, ndikukopera makonda anu ku bukhu lina. "Zigawo" zonsezi zidzatsatiridwa motsatizana pamwamba pa wina ndi mzake ndikupanga njira imodzi yogwirira ntchito.
mkdir initramfs/
mkinitramfs initramfs/ --overlay gentoo/ --overlay settings/ --overlay documents/ --squashfs --output initrd
Pamapeto pake, Booty imakulolani kuti mupange zithunzi za ISO zosinthika ndi USB, HDD, SSD ndi ma drive ena pokhazikitsa dongosolo lomwe lili pamwambapa kuchokera pazithunzi.
Chowonjezera chokhacho chofunikira ndikukonzekeretsa kernel (vmlinuz) pa boot pasadakhale. Wolemba (Spoofing) amalimbikitsa kugwiritsa ntchito "panga defconfig". Musanapange chithunzicho, muyenera kukonzekera chikwatu poyika vmlinuz kernel ndi initrd yokonzedwa kale "yopanda kanthu" yomwe idapangidwa pachitsanzo choyamba.
mkdir iso/
cp /boot/vmlinuz-* iso/boot/vmlinuz
cp initrd iso/boot/initrd
Ndi izi kukonzekera kwatha, tsopano titha kupanga zithunzi za ISO kuchokera mu bukhuli.
Lamulo lotsatirali lipanga chithunzi cha ISO, osati choyambira, koma ISO:
mkdir iso/
mkbootisofs iso/ --output archive.iso
Kuti mupange chithunzi cha boot, muyenera kufotokoza njira ya "-legacy-boot" ya BIOS ndi "--efi" ya UEFI, motsatana; zosankhazo zimatengera grub2 kapena syslinux ngati magawo; mutha kutchulanso njira imodzi yokha ( mwachitsanzo, thandizo la boot la UEFI silikufunika , mwina silingatchulidwe).
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
Ndipo monga kale, zithunzi zomwe zili ndi dongosolo zidaphatikizidwa mu initrd, mutha kuziphatikiza mu ISO.
mkbootisofs iso/ --overlay gentoo/ --squashfs --legacy-boot grub2 --efi grub2 --output gentoo.iso
Pambuyo pa lamuloli, chithunzi cha BIOS/UEFI ISO chidzapangidwa chomwe chimanyamula Gentoo mu chithunzi cha SquashFS pogwiritsa ntchito Overlay FS, pogwiritsa ntchito tmpfs posungira deta. Kernel iyenera kumangidwa ndi thandizo la Overlay FS ndi SquashFS. Komabe, ngati pazifukwa zina izi sizikufunika, mutha kugwiritsa ntchito njira ya "-cpio" m'malo mwa -squashfs kuyika gentoo/ monga cpio archive, pomwe zosungidwazo zidzatsegulidwa mwachindunji mu tmpfs pa boot, chinthu chachikulu. ndikuti pakumasula tmpfs system anali ndi RAM yokwanira.
Chochititsa chidwi: ngati chithunzi cha ISO chopangidwa pogwiritsa ntchito njira ya "-efi" chatsegulidwa pa FAT32 flash drive pongotengera mafayilo (cp -r), ndiye kuti Flash drive idzayamba mu UEFI mode popanda kukonzekera koyambirira, chifukwa cha zomwe zafotokozedwera. otsitsa a UEFI.
Kuphatikiza pa ma ISO a bootable, galimoto iliyonse yoyendetsa galimoto ikhoza kupangidwa ndi magawo omwewo: USB, HDD, SSD, ndi zina zotero, ndipo galimotoyi ikhoza kupitirizabe kugwiritsidwa ntchito pa cholinga chake. Kuti muchite izi, muyenera kukwera, mwachitsanzo, chipangizo cha USB ndikuyendetsa mkbootisofs pamenepo. Ingowonjezerani njira imodzi "-bootable" kuti galimoto yomwe chikwatu chomwe chatchulidwacho chikhale choyambira.
phiri /dev/sdb1 /mnt
mkbootisofs /mnt --overlay gentoo/ --squashfs --legacy-boot grub2 --efi grub2 --bootable
Pambuyo pake, chipangizo cha USB chidzakhala chosinthika ndi gentoo/ overlay (musaiwale kukopera mafayilo /boot/vmlinuz ndi /boot/initrd ku chipangizocho).
Ngati pazifukwa zina galimotoyo sinakhazikitsidwe mu / mnt, ndipo zikuwoneka kuti / mnt ili pa chipangizo chachikulu / dev/sda, ndiye kuti bootloader idzalembedwanso ku /dev/sda. Muyenera kusamala pofotokoza --bootable njira.
Panthawi yotsegulira, Booty imathandizira zosankha zingapo zomwe zitha kuperekedwa kwa bootloader, grub.cfg kapena syslinux.cfg. Mwachikhazikitso, popanda zosankha zilizonse, zowunjikana zonse zimakwezedwa ndikumasulidwa mu tmpfs (chosasinthika njira ooty.use-shmfs). Kuti mugwiritse ntchito Overlay FS njira ya booty.use-overlayfs iyenera kugwiritsidwa ntchito. Chosankha cha booty.copy-to-ram choyamba chimakopera pamwamba pa tmpfs, pambuyo pake chimangowalumikiza ndikuchikweza. Mukakopera, chipangizo cha USB (kapena chipangizo china chosungira) chitha kuchotsedwa.
Source: opennet.ru