booty - sesebelisoa sa ho theha litšoantšo tsa boot le li-drive

Lenaneo le hlahisitsoe Booty, e u lumellang hore u thehe litšoantšo tsa initrd tse bootable, lifaele tsa ISO kapa li-drive tse nang le kabo ea GNU/Linux ka taelo e le 'ngoe. Khoutu e ngotsoe ka khetla ea POSIX le ajoa ke e nang le laesense tlasa GPLv3.

Liphatlalatso tsohle li entsoe ka Booty li tsamaisa SHMFS (tmpfs) kapa SquashFS + Overlay FS, khetho ea mosebelisi. Kabo e bōpiloe hanngoe, 'me nakong ea ts'ebetso ea boot, ho khethoa mekhahlelo e lumellang hore u sebelise tmpfs e hloekileng bakeng sa motso, kapa motsoako oa Overlay FS + SquashFS ka liphetoho tsa ho rekota ho tmpfs. Hoa khonahala hore u kopitse esale pele lisebelisoa tsa kabo tse jarollotsoeng ho RAM, tse u lumellang ho hakolla drive ea USB kamora ho jarolla le ho kopitsa lisebelisoa tsa kabo mohopolong.

Pele ho tsohle, Booty e iketsetsa setšoantšo sa eona sa initrd, se ka sebelisang lisebelisoa tsa matsoalloa ho tloha tsamaisong ea hona joale kapa lebokose la busy. Hoa khonahala ho kenyelletsa (pack) sesebelisoa sohle sa kabo se kentsoeng bukeng (chroot) ho initramfs. Sena se ka ba molemo ha o hloka ho ntlafatsa sistimi o sebelisa kexec: kenya feela initrd ka kernel e ncha le sistimi e ncha kahare ho initrd.

Ho theha setšoantšo se ikhethileng sa Booty:

mkdir initramfs/
mkinitramfs initramfs/ --output initrd

Ho theha setšoantšo sa initrd ho kenyelletsa ho ajoa ho tsoa bukeng ea "gentoo/":

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

Ka mor'a moo setšoantšo sena sa initrd se loketse ka ho feletseng bakeng sa ho kenngoa, mohlala, ka PXE kapa ka kexec.

Ka mor'a moo, Booty e hlahisa litšoantšo ka mokhoa o hlalositsoeng e le "likoahelo". Ka mohlala, o ka kenya (hlakola boitsebiso) Gentoo e nang le maemo bukeng e fapaneng, ka mor'a moo cpio archive kapa setšoantšo sa SquashFS se nang le tsamaiso ena se tla hlahisoa ka Booty. U ka boela ua hlophisa kabo bukeng e arohaneng, 'me u kopitse litlhophiso tsa hau bukeng e' ngoe. "Likarolo" tsena kaofela li tla laeloa ka tatellano holim'a tse ling ebe li theha sistimi e le 'ngoe ea ho sebetsa.

mkdir initramfs/
mkinitramfs initramfs/ --overlay gentoo/ --overlay setting/ --overlay litokomane/ --squashfs --output initrd

Qetellong, Booty e u lumella ho etsa litšoantšo tsa ISO tse bootable le USB, HDD, SSD le li-drive tse ling ka ho kenya sistimi e kaholimo ho tsoa litšoantšong. Booty e ts'ehetsa ho theoa ha li-boot system tsa BIOS le UEFI. Li-bootloader tsa GRUB2 le SYSLINUX lia tšehetsoa. Li-bootloader li ka kopanngoa, ka mohlala, sebelisa SYSLINUX ho qala BIOS, le GRUB2 bakeng sa UEFI. Ho theha litšoantšo tsa ISO, o tla hloka hape sephutheloana sa cdrkit (genisoimage) kapa xorriso (xorrisofs), seo u ka khethang ho sona.

Ketso e le 'ngoe feela e hlokahalang ke ho lokisa kernel (vmlinuz) bakeng sa boot esale pele. Sengoli (Spoofing) se khothaletsa ho sebelisa "etsa defconfig". Pele o theha setšoantšo, o hloka ho lokisa bukana ka ho beha kernel ea vmlinuz le initrd "e se nang letho" e entsoeng mohlaleng oa pele.

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

Ka sena boitokiso bo phethiloe, joale re ka etsa litšoantšo tsa ISO ho tsoa bukeng ena.

Taelo e latelang e tla etsa setšoantšo sa ISO, eseng sa bootable, feela ISO:

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

Ho theha setšoantšo sa boot, o hloka ho hlakisa khetho ea "-legacy-boot" bakeng sa BIOS le "--efi" bakeng sa UEFI, ka ho latellana; likhetho li nka grub2 kapa syslinux joalo ka liparamente; o ka boela oa bolela khetho e le 'ngoe feela ( mohlala, tšehetso ea boot ea UEFI ha e hlokehe , e ka 'na ea se ke ea boleloa).

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

'Me joalo ka pele, litšoantšo tse nang le sistimi li kenyellelitsoe ho initrd, u ka li kenyelletsa ho ISO.

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

Kamora taelo ena, ho tla hlahisoa sets'oants'o sa BIOS / UEFI ISO se jereng Gentoo setšoantšong sa SquashFS se sebelisa Overlay FS, se sebelisa tmpfs bakeng sa polokelo ea data. Kernel e tlameha ho hahoa ka tšehetso ea Overlay FS ka SquashFS. Leha ho le joalo, haeba ka lebaka le itseng sena se sa hlokahale, u ka sebelisa khetho ea "-cpio" ho e-na le -squashfs ho paka gentoo/ e le cpio archive, moo sebaka sa polokelo se tla phutholloa ka ho toba ho tmpfs holim'a boot, ntho ea bohlokoa. ke hore bakeng sa ho notlolla sistimi ea tmpfs e ne e na le RAM e lekaneng.

Taba e khahlisang: haeba setšoantšo sa ISO se entsoeng ho sebelisoa khetho ea "-efi" se phutholotsoe ho FAT32 flash drive ka ho kopitsa lifaele feela (cp -r), Flash drive e tla qala ka mokhoa oa UEFI ntle le boitokiso ba pele, ka lebaka la lintlha tse hlakileng. ea UEFI- downloaders.

Ho phaella ho li-ISO tsa bootable, koloi leha e le efe ea bootable e ka etsoa ka mekhahlelo e tšoanang: USB, HDD, SSD, joalo-joalo, 'me koloi ena e ka tsoela pele ho sebelisoa bakeng sa morero oa eona. Ho etsa sena, o hloka ho kenya, mohlala, sesebelisoa sa USB mme o tsamaise mkbootisofs ho sona. Kenya feela khetho e le 'ngoe "-bootable" e le hore koloi eo buka e boletsoeng e leng ho eona e ka khona ho sebetsa.

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

Ka mor'a moo, sesebelisoa sa USB se tla fetoha bootable ka gentoo / overlay (u se ke ua lebala ho kopitsa lifaele tsa /boot/vmlinuz le /boot/initrd ho sesebelisoa).

Haeba ka lebaka le itseng koloi e ne e sa kenngoa ka / mnt, 'me ho fumaneha hore / mnt e fumaneha sesebelisoa se seholo /dev/sda, joale bootloader e tla ngoloa hape ho /dev/sda. U lokela ho ba hlokolosi ha u hlakisa khetho ea --bootable.

Nakong ea ts'ebetso ea booty, Booty e ts'ehetsa likhetho tse 'maloa tse ka fetisetsoang ho bootloader, grub.cfg kapa syslinux.cfg. Ka mokhoa o ikhethileng, ntle le likhetho life kapa life, likoahelo tsohle li laeloa le ho phuthoa ho tmpfs (khetho ea kamehla ooty.use-shmfs). Ho sebelisa Overlay FS khetho ea booty.use-overlayfs e tlameha ho sebelisoa. Khetho ea booty.copy-to-ram e qala ka likopi tse koahelang tmpfs, ka mor'a moo e li kopanya feela le ho li jarisa. Hang ha se kopitsoe, sesebelisoa sa USB (kapa sesebelisoa se seng sa polokelo) se ka tlosoa.

Source: opennet.ru

Eketsa ka tlhaloso