booty - utilÄ«ta sāknÄ“Å”anas attēlu un disku izveidei

Prezentēta programma laupÄ«jums, kas ļauj ar vienu komandu izveidot sāknējamus initrd attēlus, ISO failus vai diskus, kas satur jebkuru GNU/Linux izplatÄ«Å”anu. Kods ir rakstÄ«ts POSIX apvalkā un izplata licencēts saskaņā ar GPLv3.

Visi izplatÄ«jumi, kas sāknēti, izmantojot Booty, palaiž vai nu SHMFS (tmpfs) vai SquashFS + Overlay FS, pēc lietotāja izvēles. IzplatÄ«jums tiek izveidots vienreiz, un sāknÄ“Å”anas procesa laikā tiek atlasÄ«ti parametri, kas ļauj saknei izmantot tÄ«ru tmpfs vai Overlay FS + SquashFS kombināciju ar ierakstÄ«Å”anas izmaiņām tmpfs. Lejupielādējamo izplatÄ«Å”anas komplektu ir iespējams iepriekÅ” iekopēt RAM, kas ļauj atvienot USB disku pēc izplatÄ«Å”anas komplekta lejupielādes un kopÄ“Å”anas atmiņā.

Pirmkārt, Booty Ä£enerē savu initrd attēlu, kas var izmantot vietējās utilÄ«tas no paÅ”reizējās sistēmas vai busybox. Initramfs ir iespējams iekļaut (iepakot) visu direktorijā (chroot) instalēto izplatÄ«Å”anas komplektu. Tas var bÅ«t noderÄ«gi, ja nepiecieÅ”ams jaunināt sistēmu, izmantojot kexec: vienkārÅ”i atkārtoti ielādējiet initrd ar jaunu kodolu un jaunu sistēmu initrd iekÅ”pusē.

Booty specifiska sākuma attēla izveide:

mkdir initramfs/
mkinitramfs initramfs/ --output initrd

Initrd attēla izveide, ieskaitot izplatÄ«Å”anu no direktorija ā€œgentoo/ā€:

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

Pēc tam Å”is initrd attēls ir pilnÄ«bā gatavs ielādei, piemēram, caur PXE vai kexec.

Pēc tam Booty Ä£enerē attēlus ar sistēmu, kas norādÄ«ta kā ā€œpārklājumiā€. Piemēram, jÅ«s varat instalēt (izpakot arhÄ«vu) nosacÄ«tu Gentoo atseviŔķā direktorijā, pēc tam, izmantojot Booty, tiks Ä£enerēts cpio arhÄ«vs vai SquashFS attēls ar Å”o sistēmu. Varat arÄ« konfigurēt izplatÄ«Å”anu atseviŔķā direktorijā un kopēt savus personiskos iestatÄ«jumus citā direktorijā. Visi Å”ie ā€œslāņiā€ tiks secÄ«gi ielādēti viens virs otra un izveidos vienotu darba sistēmu.

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

Galu galā Booty ļauj izveidot sāknējamus ISO attēlus un USB, HDD, SSD un citus diskus, instalējot iepriekÅ” minēto sistēmu no attēliem. laupÄ«jums atbalsta BIOS un UEFI sāknÄ“Å”anas sistēmu izveidi. Tiek atbalstÄ«ti GRUB2 un SYSLINUX sāknÄ“Å”anas ielādētāji. SāknÄ“Å”anas ielādētājus var apvienot, piemēram, izmantojiet SYSLINUX, lai palaistu BIOS, un GRUB2 UEFI. Lai izveidotu ISO attēlus, jums papildus bÅ«s nepiecieÅ”ama pakotne cdrkit (genisoimage) vai xorriso (xorrisofs).

VienÄ«gā papildu darbÄ«ba, kas nepiecieÅ”ama, ir iepriekÅ” sagatavot kodolu (vmlinuz) sāknÄ“Å”anai. Autors (Spoofing) iesaka izmantot "make defconfig". Pirms attēla izveides jāsagatavo direktorijs, ievietojot vmlinuz kodolu un iepriekÅ” sagatavoto pirmajā piemērā izveidoto ā€œtukÅ”oā€ initrd.

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

Ar to sagatavoÅ”ana ir pabeigta, tagad mēs varam izveidot ISO attēlus no Ŕī direktorija.

Šī komanda izveidos ISO attēlu, nevis sāknējamu, bet tikai ISO:

mkdir iso/
mkbootisofs iso/ --output arhīvs.iso

Lai izveidotu sāknÄ“Å”anas attēlu, BIOS ir jānorāda attiecÄ«gi opcija ā€œ--legacy-bootā€ un UEFI ā€œ--efiā€; opcijām kā parametri tiek ņemti vai nu grub2, vai syslinux; varat arÄ« norādÄ«t tikai vienu opciju ( piemēram, UEFI sāknÄ“Å”anas atbalsts nav nepiecieÅ”ams, tas var nebÅ«t norādÄ«ts).

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

Un tāpat kā iepriekÅ”, attēli ar sistēmu tika iekļauti initrd, jÅ«s varat tos iekļaut ISO.

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

Pēc Ŕīs komandas tiks Ä£enerēts sāknējams BIOS/UEFI ISO attēls, kas ielādē Gentoo SquashFS attēlā, izmantojot Overlay FS, izmantojot tmpfs datu glabāŔanai. Kodols ir jāveido ar Overlay FS atbalstu ar SquashFS. Tomēr, ja kāda iemesla dēļ tas nav nepiecieÅ”ams, varat izmantot opciju ā€œā€”cpioā€ nevis ā€”squashfs to pakotēt gentoo/ kā cpio arhÄ«vu, tādā gadÄ«jumā arhÄ«vs sāknÄ“Å”anas laikā tiks izpakots tieÅ”i tmpfs. ir tas, ka sistēmas izpakoÅ”anai tmpfs bija pietiekami daudz RAM.

Interesants fakts: ja ISO attēls, kas izveidots, izmantojot opciju ā€œā€”efiā€, tiek izsaiņots FAT32 zibatmiņas diskā, vienkārÅ”i kopējot failus (cp -r), tad, pateicoties specifikai, zibatmiņas disks tiks palaists UEFI režīmā bez iepriekŔējas sagatavoÅ”anas. no UEFI lejupielādētājiem.

Papildus sāknējamiem ISO var izveidot jebkuru sāknējamo disku ar tiem paÅ”iem parametriem: USB, HDD, SSD un tā tālāk, un Å”o disku var turpināt izmantot paredzētajam mērÄ·im. Lai to izdarÄ«tu, jums jāpievieno, piemēram, USB ierÄ«ce un jāpalaiž tajā mkbootisofs. VienkārÅ”i pievienojiet vienu opciju ā€œā€”bootableā€, lai disks, kurā atrodas norādÄ«tais direktorijs, kļūtu sāknējams.

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

Pēc tam USB ierīce kļūs sāknējama ar gentoo/ pārklājumu (neaizmirstiet iekopēt /boot/vmlinuz un /boot/initrd failus ierīcē).

Ja kāda iemesla dēļ disks netika uzstādÄ«ts /mnt un izrādās, ka /mnt atrodas galvenajā ierÄ«cē /dev/sda, tad sāknÄ“Å”anas ielādētājs tiks pārrakstÄ«ts uz /dev/sda. Jums jābÅ«t uzmanÄ«giem, norādot opciju --bootable.

SāknÄ“Å”anas procesa laikā Booty atbalsta vairākas opcijas, kuras var nodot sāknÄ“Å”anas ielādētājam grub.cfg vai syslinux.cfg. Pēc noklusējuma, bez jebkādām opcijām, visi pārklājumi tiek ielādēti un izpakoti tmpfs (noklusējuma opcija ooty.use-shmfs). Lai izmantotu Overlay FS, ir jāizmanto opcija booty.use-overlayfs. Opcija booty.copy-to-ram vispirms kopē pārklājumus uz tmpfs, pēc tam tos tikai savieno un ielādē. Pēc nokopÄ“Å”anas USB ierÄ«ci (vai citu atmiņas ierÄ«ci) var noņemt.

Avots: opennet.ru

Pievieno komentāru