booty - apuohjelma käynnistyskuvien ja asemien luomiseen

Ohjelma esitelty ryöstösaalis, jonka avulla voit luoda käynnistyskelpoisia initrd-kuvia, ISO-tiedostoja tai asemia, jotka sisältävät minkä tahansa GNU/Linux-jakelun yhdellä komennolla. Koodi on kirjoitettu POSIX-kuoressa ja jakelija lisensoitu GPLv3:lla.

Kaikki Bootylla käynnistetyt jakelut käyttävät joko SHMFS:ää (tmpfs) tai SquashFS + Overlay FS:ää käyttäjän valinnan mukaan. Jakelu luodaan kerran, ja käynnistyksen aikana valitaan parametrit, jotka mahdollistavat puhtaan tmpfs:n käytön juurille tai Overlay FS:n + SquashFS:n yhdistelmän ja tmpfs-muutosten tallennuksen. On mahdollista esikopioida ladattava jakelupaketti RAM-muistiin, jolloin voit irrottaa USB-aseman, kun olet ladannut ja kopioinut jakelusarjan muistiin.

Ensinnäkin Booty luo oman initrd-kuvansa, joka voi käyttää alkuperäisiä apuohjelmia nykyisestä järjestelmästä tai busyboxista. On mahdollista sisällyttää (pakata) koko hakemistoon asennettu jakelupaketti (chroot) initramfs:iin. Tästä voi olla hyötyä, kun sinun on päivitettävä järjestelmä kexecillä: lataa vain initrd uudelleen uudella ytimellä ja uudella järjestelmällä initrd:n sisällä.

Booty-kohtaisen aloituskuvan luominen:

mkdir initramfs/
mkinitramfs initramfs/ --output initrd

Initrd-otoksen luominen, mukaan lukien jakelu "gentoo/"-hakemistosta:

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

Tämän jälkeen tämä initrd-kuva on täysin valmis ladattavaksi esimerkiksi PXE:n tai kexecin kautta.

Seuraavaksi Booty luo kuvat, joiden järjestelmä on määritetty "peittokuviksi". Voit esimerkiksi asentaa (purkaa arkiston) ehdollisen Gentoon erilliseen hakemistoon, jonka jälkeen cpio-arkisto tai SquashFS-otos tällä järjestelmällä luodaan Bootyn avulla. Voit myös määrittää jakelun erilliseen hakemistoon ja kopioida henkilökohtaiset asetuksesi toiseen hakemistoon. Kaikki nämä "kerrokset" ladataan peräkkäin päällekkäin ja muodostavat yhden toimivan järjestelmän.

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

Viime kädessä Booty antaa sinun luoda käynnistyskelpoisia ISO-kuvia ja USB-, HDD-, SSD- ja muita asemia asentamalla yllä oleva järjestelmä kuvista. ryöstösaalis tukee BIOS- ja UEFI-käynnistysjärjestelmien luomista. GRUB2- ja SYSLINUX-käynnistyslataimet ovat tuettuja. Käynnistyslataimia voidaan yhdistää esimerkiksi SYSLINUXilla BIOS-käynnistykseen ja GRUB2:lla UEFI:lle. ISO-kuvien luomiseen tarvitset lisäksi cdrkit (genisoimage) tai xorriso (xorrisofs) -paketin, joista valita.

Ainoa lisätoimenpide on valmistella ydin (vmlinuz) käynnistystä varten etukäteen. Tekijä (Spoofing) suosittelee "make defconfig":n käyttöä. Ennen kuvan luomista sinun on valmisteltava hakemisto asettamalla vmlinuz-ydin ja aiemmin valmisteltu "tyhjä" initrd, joka on luotu ensimmäisessä esimerkissä.

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

Tämän jälkeen valmistelu on valmis, voimme nyt luoda ISO-kuvia tästä hakemistosta.

Seuraava komento luo ISO-kuvan, ei käynnistystä, vaan vain ISO: n:

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

Käynnistyskuvan luomiseksi sinun on määritettävä "--legacy-boot" -vaihtoehto BIOSille ja "--efi" UEFI:lle; vaihtoehdot käyttävät parametreina joko grub2 tai syslinux; voit myös määrittää vain yhden vaihtoehdon ( esimerkiksi UEFI-käynnistystukea ei tarvita, sitä ei ehkä ole määritetty).

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

Ja aivan kuten ennenkin, järjestelmän kuvat sisältyivät aloitustiedostoon, voit sisällyttää ne ISO: hen.

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

Tämän komennon jälkeen luodaan käynnistettävä BIOS/UEFI ISO -näköistiedosto, joka lataa Gentoon SquashFS-näköistiedostoon Overlay FS:n avulla käyttäen tmpfs:ää tietojen tallentamiseen. Ydin on rakennettava Overlay FS -tuella SquashFS:n kanssa. Jos tätä ei jostain syystä kuitenkaan vaadita, voit käyttää "—cpio" -vaihtoehtoa -squashfs to pack gentoo/ sijaan cpio-arkistona, jolloin arkisto puretaan käynnistyksen yhteydessä suoraan tmpfs-tiedostoon, mikä tärkeintä. tmpfs:llä oli tarpeeksi RAM-muistia järjestelmän purkamiseen.

Mielenkiintoinen fakta: jos "—efi"-vaihtoehdolla luotu ISO-kuva puretaan FAT32-flash-asemaan yksinkertaisesti kopioimalla tiedostoja (cp -r), niin Flash-asema käynnistyy UEFI-tilassa ilman esivalmisteluja, ominaisuuksien ansiosta. UEFI-lataajista.

Käynnistettävän ISO:n lisäksi mikä tahansa käynnistettävä asema voidaan luoda samoilla parametreilla: USB, HDD, SSD ja niin edelleen, ja tätä asemaa voidaan edelleen käyttää aiottuun tarkoitukseen. Tätä varten sinun on liitettävä esimerkiksi USB-laite ja suoritettava mkbootisofs siinä. Lisää vain yksi vaihtoehto "—bootable", jotta asema, jolla määritetty hakemisto sijaitsee, tulee käynnistettäväksi.

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

Tämän jälkeen USB-laite käynnistyy gentoo/-peittokuvalla (älä unohda kopioida /boot/vmlinuz- ja /boot/initrd-tiedostoja laitteeseen).

Jos asemaa ei jostain syystä asennettu /mnt-kansioon ja käy ilmi, että /mnt sijaitsee päälaitteella /dev/sda, käynnistyslatain kirjoitetaan uudelleen kansioon /dev/sda. Sinun tulee olla varovainen määrittäessäsi --bootable-vaihtoehtoa.

Booty tukee käynnistyksen aikana useita vaihtoehtoja, jotka voidaan siirtää käynnistyslataimeen, grub.cfg tai syslinux.cfg. Oletusarvoisesti kaikki peittokuvat ladataan ja puretaan ilman valintoja tmpfs-tiedostoon (oletusasetus ooty.use-shmfs). Overlay FS:n käyttämiseksi on käytettävä booty.use-overlayfs -vaihtoehtoa. Booty.copy-to-ram -vaihtoehto kopioi ensin peittokuvat tmpfs-tiedostoon, minkä jälkeen se vain yhdistää ne ja lataa ne. Kun USB-laite (tai muu tallennuslaite) on kopioitu, se voidaan poistaa.

Lähde: opennet.ru

Lisää kommentti