booty - fitaovana hamoronana sary sy drive boot

Fandaharana atolotra babo, izay ahafahanao mamorona sary initrd bootable, rakitra ISO na drive misy fizarana GNU/Linux miaraka amin'ny baiko iray. Ny kaody dia voasoratra ao amin'ny shell POSIX ary nozarain'i nahazoan-dalana GPLv3.

Ny fizarana rehetra dia natomboka tamin'ny fampiasana Booty run na SHMFS (tmpfs) na SquashFS + Overlay FS, safidin'ny mpampiasa. Ny fizarana dia noforonina indray mandeha, ary mandritra ny fizotry ny boot dia voafantina ny masontsivana izay ahafahanao mampiasa tmpfs madio ho an'ny fakany, na fitambaran'ny Overlay FS + SquashFS miaraka amin'ny firaketana fanovana amin'ny tmpfs. Azo atao ny mandika mialoha ny kitapo fizarana azo alaina ao amin'ny RAM, izay ahafahanao manapaka ny USB drive rehefa avy misintona sy mandika ny kitapo fizarana ho fahatsiarovana.

Voalohany indrindra, ny Booty dia mamorona ny sariny initrd manokana, izay afaka mampiasa fitaovana voajanahary avy amin'ny rafitra misy ankehitriny na busybox. Azo atao ny mampiditra (fonosana) ny kitapo fizarana manontolo napetraka ao amin'ny lahatahiry (chroot) ao anaty initramfs. Mety ilaina izany rehefa mila manavao rafitra mampiasa kexec ianao: avereno fotsiny ny initrd miaraka amin'ny kernel vaovao sy rafitra vaovao ao anaty initrd.

Mamorona sary initrd manokana Booty:

mkdir initramfs/
mkinitramfs initramfs/ --output initrd

Mamorona sary initrd ahitana ny fizarana avy amin'ny lahatahiry "gentoo/":

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

Aorian'izay dia vonona tanteraka ity sary initrd ity amin'ny fandefasana azy, ohatra, amin'ny alΓ lan'ny PXE na amin'ny kexec.

Manaraka, mamokatra sary miaraka amin'ny rafitra voatondro ho "overlays" i Booty. Ohatra, azonao atao ny mametraka (esoriny ny arisiva) Gentoo misy fepetra ao anaty lahatahiry mitokana, ary aorian'izay dia hisy arisiva cpio na sary SquashFS miaraka amin'ity rafitra ity amin'ny fampiasana Booty. Azonao atao ihany koa ny manitsy ny fizarana amin'ny lahatahiry misaraka, ary mandika ny fandrindranao manokana amin'ny lahatahiry hafa. Ireo "sosona" rehetra ireo dia hapetraka eo ambonin'ny tsirairay ary hamorona rafitra miasa tokana.

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

Amin'ny farany, Booty dia mamela anao hamorona sary ISO sy USB, HDD, SSD ary fiara hafa amin'ny alΓ lan'ny fametrahana ny rafitra etsy ambony amin'ny sary. babo manohana ny famoronana ny BIOS sy UEFI rafitra boot. GRUB2 sy SYSLINUX bootloaders dia tohana. Ny bootloaders dia azo atambatra, ohatra, mampiasa SYSLINUX mba hiditra ao amin'ny BIOS, ary GRUB2 ho an'ny UEFI. Mba hamoronana sary ISO dia mila ny fonosana cdrkit (genisoimage) na xorriso (xorrisofs) ianao, hisafidianana.

Ny hany hetsika fanampiny ilaina dia ny manomana ny kernel (vmlinuz) ho boot mialoha. Ny mpanoratra (Spoofing) dia manoro hevitra ny fampiasana "make defconfig". Alohan'ny hamoronana ny sary dia mila manomana lahatahiry ianao amin'ny fametrahana ny kernel vmlinuz sy ny initrd "foana" efa nomanina teo aloha noforonina tamin'ny ohatra voalohany.

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

Amin'izany dia vita ny fanomanana, afaka mamorona sary ISO avy amin'ity lahatahiry ity isika.

Ity baiko manaraka ity dia hamorona sary ISO, fa tsy bootable, ISO fotsiny:

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

Mba hamoronana sary boot dia mila mamaritra ny safidy "--legacy-boot" ho an'ny BIOS sy "--efi" ho an'ny UEFI, tsirairay avy; ny safidy dia maka grub2 na syslinux ho masontsivana; azonao atao ihany koa ny mamaritra safidy iray ( Ohatra, tsy ilaina ny fanohanana baotin'ny UEFI, mety tsy voafaritra izany).

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

Ary toy ny teo aloha, ny sary miaraka amin'ny rafitra dia nampidirina tao amin'ny initrd, azonao atao ny mampiditra azy ireo ao amin'ny ISO.

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

Aorian'io baiko io dia hisy sary BIOS/UEFI ISO azo baoritra izay hampiditra an'i Gentoo amin'ny sary SquashFS mampiasa Overlay FS, mampiasa tmpfs ho fitahirizana angona. Ny kernel dia tsy maintsy aorina amin'ny fanohanana Overlay FS miaraka amin'ny SquashFS. Na izany aza, raha noho ny antony tsy ilaina izany dia azonao atao ny mampiasa ny safidy "β€”cpio" fa tsy -squashfs mba hametahana gentoo/ ho arisiva cpio, amin'izay dia ho voavaha mivantana ao amin'ny tmpfs ny arisiva rehefa boot, ny zava-dehibe indrindra. dia ny famongorana ny rafitra tmpfs dia nanana RAM ampy.

Ny zava-misy mahaliana: raha misy sary ISO noforonina tamin'ny alΓ lan'ny safidy "β€”efi" dia voavaha ao amin'ny kapila tselatra FAT32 amin'ny alΓ lan'ny kopia fotsiny ny rakitra (cp -r), dia hanomboka amin'ny fomba UEFI ny kapila Flash tsy misy fiomanana mialoha, noho ny fepetra manokana. ny UEFI- downloaders.

Ho fanampin'ny ISOs azo baoritra, ny kapila bootable rehetra dia azo noforonina miaraka amin'ny masontsivana mitovy: USB, HDD, SSD, sy ny sisa, ary ity fiara ity dia azo ampiasaina hatrany amin'ny tanjona tiany. Mba hanaovana izany, mila mametraka, ohatra, fitaovana USB ianao ary mihazakazaka mkbootisofs eo aminy. Ampio fotsiny safidy iray "-bootable" mba ho azo bootable ny fiara misy ny lahatahiry voatondro.

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

Aorian'izay dia ho azo bootable miaraka amin'ny gentoo/ overlay ny fitaovana USB (aza adino ny mandika ny rakitra /boot/vmlinuz sy /boot/initrd amin'ny fitaovana).

Raha toa ka noho ny antony tsy nitaingina ny fiara tao / mnt, ary hita fa / mnt dia hita ao amin'ny fitaovana lehibe / dev / sda, dia haverina ho / dev / sda ny bootloader. Tokony hitandrina ianao rehefa mamaritra ny safidy --bootable.

Mandritra ny fizotry ny baoty, i Booty dia manohana safidy maromaro azo ampitaina amin'ny boot loader, grub.cfg na syslinux.cfg. Amin'ny alΓ lan'ny default, tsy misy safidy, ny overlay rehetra dia entina ary avoaka ao anaty tmpfs (safidy ooty.use-shmfs default). Raha hampiasa ny Overlay FS dia tsy maintsy ampiasaina ny safidy booty.use-overlayfs. Ny safidy booty.copy-to-ram voalohany dia mandika ny overlay amin'ny tmpfs, aorian'izay dia mampifandray azy ireo fotsiny izy ary mametaka azy ireo. Rehefa voadika dia azo esorina ny fitaovana USB (na fitaovana fitahirizana hafa).

Source: opennet.ru

Add a comment