booty - utility for abuurista sawirada boot iyo darawallada

Barnaamijka oo lasoo bandhigay nadaaya, kaas oo kuu ogolaanaya inaad abuurto sawirada initrd bootable, faylasha ISO ama darawallada ay ku jiraan qaybinta GNU/Linux oo leh hal amar. Koodhku wuxuu ku qoran yahay POSIX qolof iyo qaybiyey shatiga ku haysta GPLv3.

Dhammaan qaybinta la bootiyay iyadoo la isticmaalayo Booty waxay ku socotaa SHMFS (tmpfs) ama SquashFS + Overlay FS, doorashada isticmaalaha. Qaybinta waxaa la abuuraa hal mar, iyo inta lagu jiro habka boot-ka, cabbirada ayaa la doortaa kuwaas oo kuu oggolaanaya inaad isticmaasho tmpfs saafi ah xididka, ama isku-darka FS + SquashFS oo leh isbeddello duubis ah tmpfs. Waxaa suurtogal ah in horay loo koobiyeeyo xirmada qaybinta la soo dajin karo RAM, kaas oo kuu ogolaanaya inaad ka saarto USB-ga ka dib markaad soo dejiso oo aad nuqul ka sameyso qalabka qaybinta xusuusta.

Marka hore, Booty waxay soo saartaa muuqaalkeeda initrd, kaas oo isticmaali kara yutiilitida asalka ah ee nidaamka hadda jira ama sanduuqa mashquulka ah. Waa suurtogal in lagu daro (baakadda) dhammaan qalabka qaybinta ee lagu rakibay tusaha (chroot) ee initramfs. Tani waxay noqon kartaa mid faa'iido leh markaad u baahato inaad cusboonaysiiso nidaamka adoo isticmaalaya kexec: si fudud dib ugu soo celi initrd kernel cusub iyo nidaam cusub gudaha initrd.

Abuuritaanka sawirka gudaha ee Booty-gaar ah:

mkdir initramfs/
mkinitramfs initramfs/ --output initrd

Abuuritaanka sawirka initrd oo ay ku jirto qaybinta "gentoo/" hagaha:

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

Taas ka dib sawirka initrd wuxuu si buuxda u diyaarsan yahay in la shubo, tusaale ahaan, iyada oo loo sii marayo PXE ama kexec.

Marka xigta, Booty waxay soo saartaa sawirro leh nidaamka lagu qeexay sida "daboolan". Tusaale ahaan, waxaad ku rakibi kartaa (furfurka kaydka) Gentoo shuruudaysan oo ku jira hage gaar ah, ka dib kaydka cpio ama sawirka SquashFS ee nidaamkan leh ayaa la soo saari doonaa iyadoo la isticmaalayo Booty. Waxa kale oo aad u habayn kartaa qaybinta buug gaar ah, oo koobiye dejimahaaga gaarka ah hage kale. Dhammaan kuwan "lakabyada" ayaa si isdaba joog ah loogu dhejin doonaa midba midka kale oo abuuraya hal nidaam shaqo.

mkdir initramfs/
mkinitramfs initramfs/ -- dulsaar gentoo/ --daboolan goobaha/ --dukumentiyada dulsaar/ --squashfs --output initrd

Ugu dambeyntii, Booty wuxuu kuu ogolaanayaa inaad abuurto sawirada ISO bootable iyo USB, HDD, SSD iyo darawallada kale adigoo ku rakibaya nidaamka kore ee sawirada. nadaaya waxay taageertaa abuurista nidaamka boot BIOS iyo UEFI. GRUB2 iyo SYSLINUX bootloaders waa la taageeray. Bootloaders waa la isku dari karaa, tusaale ahaan, isticmaal SYSLINUX si aad u gasho BIOS, iyo GRUB2 ee UEFI. Si aad u abuurto sawirada ISO, waxa kale oo aad u baahan doontaa xidhmada cdrkit (genisoimage) ama xorriso (xorrisofs), si aad kala doorato.

Tallaabada kaliya ee dheeriga ah ee loo baahan yahay waa in horay loo sii diyaariyo kernel-ka (vmlinuz) ee bootinta. Qoraaga (Spoofing) waxa uu ku talinayaa in la isticmaalo "samee defconfig". Kahor intaadan abuurin sawirka, waxaad u baahan tahay inaad diyaariso buug-tusaha adigoo ku dhejinaya vmlinuz kernel iyo initrd-kii hore ee loo diyaariyey "madhan" ee lagu abuuray tusaalaha koowaad.

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

Iyada oo tan diyaarintu ay dhammaatay, waxaan hadda ka abuuri karnaa sawirada ISO buuggan.

Amarka soo socda ayaa abuuri doona sawirka ISO, ma aha mid bootable ah, kaliya ISO:

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

Si aad u abuurto sawirka boot, waxaad u baahan tahay inaad qeexdo ikhtiyaarka "-legacy-boot" ee BIOS iyo "-efi" ee UEFI, siday u kala horreeyaan; xulashooyinka waxay qaataan grub2 ama syslinux sida cabbirka; waxaad sidoo kale cayimi kartaa hal ikhtiyaar oo keliya ( tusaale ahaan, taageerada kabaha UEFI looma baahna, waxaa laga yaabaa inaan la cayimin).

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

Iyo sidii hore, sawirada nidaamka ayaa lagu daray initrd, waxaad ku dari kartaa ISO.

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

Amarkan ka dib, sawirka BIOS/UEFI ISO ee bootable ayaa la soo saari doonaa kaas oo Gentoo ku geliya sawirka SquashFS iyadoo la adeegsanayo Overlay FS, iyadoo tmpfs loo adeegsanayo kaydinta xogta. Kernelku waa in lagu dhisaa taageero dulsaar ah FS oo leh SquashFS. Si kastaba ha noqotee, haddii sabab qaar ka mid ah aan loo baahnayn, waxaad isticmaali kartaa ikhtiyaarka "-cpio" halkii aad ka isticmaali lahayd -squashfs si aad u xirto gentoo / sida kaydka cpio, taas oo ay dhacdo in kaydka si toos ah loogu daabici doono tmpfs marka boot, waxa ugu muhiimsan. waa in marka la furo nidaamka tmpfs ay haysteen RAM ku filan.

Xaqiiqda xiisaha leh: haddii sawirka ISO la sameeyay iyadoo la adeegsanayo ikhtiyaarka "-efi" lagu furayo FAT32 flash drive iyadoo si fudud loo koobiyeynayo faylasha (cp -r), markaa Flash drive wuxuu ku kicin doonaa qaabka UEFI iyada oo aan wax diyaargaraw ah oo horudhac ah la helin, mahadsanid waxyaabaha gaarka ah. ee UEFI- soo dajiyaasha.

Marka lagu daro ISO-yada bootable-ka ah, darawal kasta oo bootable ah waxaa lagu abuuri karaa isla cabbirro isku mid ah: USB, HDD, SSD, iyo wixii la mid ah, darawalkan wuxuu sii wadi karaa in loo isticmaalo ujeeddadii loogu talagalay. Si tan loo sameeyo, waxaad u baahan tahay inaad ku rakibto, tusaale ahaan, aaladda USB oo aad ku socodsiiso mkbootisofs. Kaliya ku dar hal ikhtiyaar "-bootable" si darawalka uu ku yaal tusaha la cayimay uu u noqdo mid la dhaqaajin karo.

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

Intaa ka dib, aaladda USB-ga waxay noqon doontaa mid la bootin karo gentoo/ dulsaar (ha iloobin inaad nuqul ka sameysid /boot/vmlinuz iyo /boot/initrd faylalka qalabka).

Haddii sabab qaar ka mid ah darawalku aan lagu rakibin / mnt, oo ay soo baxdo in / mnt uu ku yaal aaladda ugu weyn / dev / sda, markaa bootloader ayaa dib loo qori doonaa / dev/sda. Waa in aad ka taxadirtaa marka aad sheegayso --bootable option.

Inta lagu jiro nidaamka boot-ka, Booty waxa ay taageertaa dhawr doorasho oo loo gudbin karo bootloader, grub.cfg ama syslinux.cfg. Sida caadiga ah, iyada oo aan wax ikhtiyaar ah lahayn, dhammaan dulsaarrada waa la raray oo laga dajiyay tmpfs (doorashada default ooty.use-shmfs). Si loo isticmaalo Overlay FS ikhtiyaarka booty.use-overlayfs waa in la isticmaalaa. Xulashada booty.copy-to-ram waxay marka hore koobiyaysaa tmpfs, ka dib iyaga oo kaliya ayay isku xidhaysaa oo ku shubaysaa. Marka la koobiyo, qalabka USB (ama qalabka kale ee kaydinta) waa laga saari karaa.

Source: opennet.ru

Add a comment