booty - mjet për krijimin e imazheve dhe disqeve të nisjes

Programi i paraqitur pre, i cili ju lejon të krijoni imazhe initrd bootable, skedarë ISO ose disqe që përmbajnë çdo shpërndarje GNU/Linux me një komandë. Kodi është shkruar në guaskën POSIX dhe shperndare nga licencuar sipas GPLv3.

Të gjitha shpërndarjet e nisura duke përdorur Booty ekzekutojnë ose SHMFS (tmpfs) ose SquashFS + Overlay FS, zgjedhja e përdoruesit. Shpërndarja krijohet një herë dhe gjatë procesit të nisjes, zgjidhen parametra që ju lejojnë të përdorni tmpfs të pastër për rrënjën, ose një kombinim të Overlay FS + SquashFS me regjistrimin e ndryshimeve në tmpfs. Është e mundur të kopjoni paraprakisht kompletin e shpërndarjes që mund të shkarkohet në RAM, i cili ju lejon të shkëputni diskun USB pas shkarkimit dhe kopjimit të kompletit të shpërndarjes në memorie.

Para së gjithash, Booty gjeneron imazhin e vet initrd, i cili mund të përdorë shërbime vendase nga sistemi aktual ose busybox. Është e mundur që të përfshihet (paketohet) i gjithë kompleti i shpërndarjes i instaluar në drejtori (chroot) në initramfs. Kjo mund të jetë e dobishme kur ju duhet të përmirësoni një sistem duke përdorur kexec: thjesht ringarkoni initrd me një kernel të ri dhe një sistem të ri brenda initrd.

Krijimi i një imazhi initrd specifik për Booty:

mkdir initramfs/
mkinitramfs initramfs/ --dalje initrd

Krijimi i një imazhi initrd duke përfshirë shpërndarjen nga drejtoria "gentoo/":

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

Pas së cilës ky imazh initrd është plotësisht gati për ngarkim, për shembull, përmes PXE ose përmes kexec.

Më pas, Booty gjeneron imazhe me sistemin e specifikuar si "mbivendosje". Për shembull, mund të instaloni (shpaketoni arkivin) një Gentoo të kushtëzuar në një drejtori të veçantë, pas së cilës një arkiv cpio ose imazhi SquashFS me këtë sistem do të gjenerohet duke përdorur Booty. Ju gjithashtu mund të konfiguroni shpërndarjen në një drejtori të veçantë dhe të kopjoni cilësimet tuaja personale në një drejtori tjetër. Të gjitha këto "shtresa" do të ngarkohen në mënyrë sekuenciale njëra mbi tjetrën dhe do të krijojnë një sistem të vetëm pune.

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

Në fund të fundit, Booty ju lejon të krijoni imazhe ISO të bootueshme dhe disqe USB, HDD, SSD dhe të tjera duke instaluar sistemin e mësipërm nga imazhet. pre mbështet krijimin e sistemeve të nisjes BIOS dhe UEFI. Mbështeten ngarkuesit GRUB2 dhe SYSLINUX. Bootloaders mund të kombinohen, për shembull, përdorni SYSLINUX për të nisur në BIOS dhe GRUB2 për UEFI. Për të krijuar imazhe ISO, do t'ju duhet gjithashtu paketa cdrkit (genisoimage) ose xorriso (xorrisofs), për të zgjedhur.

Veprimi i vetëm shtesë që kërkohet është përgatitja e kernelit (vmlinuz) për boot paraprakisht. Autori (Spoofing) rekomandon përdorimin e "make defconfig". Para se të krijoni imazhin, duhet të përgatisni një direktori duke vendosur kernelin vmlinuz dhe initrd-in "bosh" të përgatitur më parë të krijuar në shembullin e parë.

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

Me këtë përgatitja ka përfunduar, tani mund të krijojmë imazhe ISO nga kjo direktori.

Komanda e mëposhtme do të krijojë një imazh ISO, jo një bootable, vetëm një ISO:

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

Për të krijuar një imazh të nisjes, duhet të specifikoni opsionin "--legacy-boot" për BIOS dhe "--efi" për UEFI, përkatësisht; opsionet marrin si parametra grub2 ose syslinux; gjithashtu mund të specifikoni vetëm një opsion ( për shembull, mbështetja e nisjes UEFI nuk është e nevojshme, mund të mos specifikohet).

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

Dhe ashtu si më parë, imazhet me sistemin u përfshinë në initrd, ju mund t'i përfshini ato në ISO.

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

Pas kësaj komande, do të gjenerohet një imazh i bootable BIOS/UEFI ISO që ngarkon Gentoo në imazhin SquashFS duke përdorur Overlay FS, duke përdorur tmpfs për ruajtjen e të dhënave. Kerneli duhet të ndërtohet me mbështetjen e Overlay FS me SquashFS. Sidoqoftë, nëse për ndonjë arsye kjo nuk kërkohet, mund të përdorni opsionin "—cpio" në vend të —squashfs për të paketuar gentoo/ si një arkiv cpio, në të cilin rast arkivi do të shpaketohet drejtpërdrejt në tmpfs pas nisjes, gjëja kryesore është se për shpaketimin e sistemit tmpfs kishte RAM të mjaftueshëm.

Fakt interesant: nëse një imazh ISO i krijuar duke përdorur opsionin "—efi" shpaketohet në një flash drive FAT32 thjesht duke kopjuar skedarë (cp -r), atëherë flash drive do të niset në modalitetin UEFI pa ndonjë përgatitje paraprake, falë specifikave i shkarkuesve UEFI.

Përveç ISO-ve bootable, çdo disk bootable mund të krijohet me të njëjtat parametra: USB, HDD, SSD, e kështu me radhë, dhe kjo makinë mund të vazhdojë të përdoret për qëllimin e saj të synuar. Për ta bërë këtë, duhet të montoni, për shembull, një pajisje USB dhe të ekzekutoni mkbootisofs në të. Thjesht shtoni një opsion "-bootable" në mënyrë që disku në të cilin ndodhet drejtoria e specifikuar të bëhet bootable.

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

Pas kësaj, pajisja USB do të bëhet bootable me mbivendosjen gentoo/ (mos harroni të kopjoni skedarët /boot/vmlinuz dhe /boot/initrd në pajisje).

Nëse për ndonjë arsye disku nuk është montuar në /mnt, dhe rezulton se /mnt ndodhet në pajisjen kryesore /dev/sda, atëherë ngarkuesi do të rishkruhet në /dev/sda. Duhet të jeni të kujdesshëm kur specifikoni opsionin --bootable.

Gjatë procesit të nisjes, Booty mbështet një numër opsionesh që mund t'i kalohen ngarkuesit të nisjes, grub.cfg ose syslinux.cfg. Si parazgjedhje, pa asnjë opsion, të gjitha mbivendosjet ngarkohen dhe shpaketohen në tmpfs (opsioni i parazgjedhur ooty.use-shmfs). Për të përdorur Overlay FS duhet të përdoret opsioni booty.use-overlayfs. Opsioni booty.copy-to-ram fillimisht kopjon mbivendosjet në tmpfs, pas së cilës vetëm i lidh ato dhe i ngarkon ato. Pasi të kopjohet, pajisja USB (ose pajisje tjetër ruajtëse) mund të hiqet.

Burimi: opennet.ru

Shto një koment