booty - khoom siv los tsim cov duab khau raj thiab cov tsav tsheb

Program tau nthuav tawm Booty, uas tso cai rau koj los tsim cov duab bootable initrd, ISO cov ntaub ntawv lossis cov tsav tsheb uas muaj GNU / Linux faib nrog ib qho lus txib. Cov cai sau rau hauv POSIX plhaub thiab faib los ntawm muaj ntawv tso cai raws li GPLv3.

Txhua qhov kev faib khoom siv Booty khiav SHMFS (tmpfs) lossis SquashFS + Overlay FS, tus neeg siv xaiv. Kev faib tawm yog tsim ib zaug, thiab thaum lub sijhawm khau raj, cov kev txwv raug xaiv uas tso cai rau koj siv cov tmpfs ntshiab rau hauv paus, lossis kev sib xyaw ntawm Overlay FS + SquashFS nrog cov ntaub ntawv hloov pauv rau tmpfs. Nws muaj peev xwm ua ntej luam theej cov khoom siv xa tawm mus rau hauv RAM, uas tso cai rau koj kom tshem tawm USB tsav tom qab rub tawm thiab luam cov khoom faib rau hauv lub cim xeeb.

Ua ntej tshaj plaws, Booty tsim nws tus kheej cov duab initrd, uas tuaj yeem siv cov khoom siv hauv zej zog los ntawm cov kab ke tam sim no lossis busybox. Nws tuaj yeem suav nrog (pob) tag nrho cov khoom siv faib khoom nruab rau hauv phau ntawv qhia (chroot) rau hauv initramfs. Qhov no tuaj yeem muaj txiaj ntsig zoo thaum koj xav tau hloov kho lub kaw lus siv kexec: tsuas yog rov rub lub initrd nrog cov ntsiav tshiab thiab lub kaw lus tshiab hauv initrd.

Tsim ib daim duab Booty-specific initrd:

mkdir initramfs/
mkinitramfs initramfs/ --output initrd

Tsim ib daim duab initrd nrog rau kev faib tawm los ntawm "gentoo/" directory:

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

Tom qab uas cov duab initrd no tau npaj txhij rau kev thauj khoom, piv txwv li, ntawm PXE lossis ntawm kexec.

Tom ntej no, Booty tsim cov duab nrog cov kab ke teev tseg raws li "overlays". Piv txwv li, koj tuaj yeem nruab (hloov lub archive) ib qho xwm txheej Gentoo hauv ib daim ntawv teev npe cais, tom qab ntawd cpio archive lossis SquashFS duab nrog cov kab ke no yuav raug tsim siv Booty. Koj tuaj yeem teeb tsa qhov kev faib tawm hauv ib daim ntawv teev npe cais, thiab luam koj tus kheej qhov chaw mus rau lwm phau ntawv. Tag nrho cov "txheej txheem" ​​no yuav raug thauj mus los ntawm ib leeg thiab tsim ib qho kev ua haujlwm.

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

Thaum kawg, Booty tso cai rau koj los tsim cov duab ISO bootable thiab USB, HDD, SSD thiab lwm yam tsav los ntawm kev txhim kho cov kab ke saum toj no los ntawm cov duab. Booty txhawb kev tsim ntawm BIOS thiab UEFI khau raj tshuab. GRUB2 thiab SYSLINUX bootloaders tau txais kev txhawb nqa. Bootloaders tuaj yeem ua ke, piv txwv li, siv SYSLINUX los khau raj rau hauv BIOS, thiab GRUB2 rau UEFI. Txhawm rau tsim cov duab ISO, koj tseem yuav xav tau cdrkit (genisoimage) lossis xorriso (xorrisofs) pob, xaiv los ntawm.

Qhov tsuas yog yuav tsum tau ua ntxiv yog npaj cov ntsiav (vmlinuz) rau khau raj ua ntej. Tus sau (Spoofing) pom zoo siv "ua defconfig". Ua ntej tsim cov duab, koj yuav tsum npaj ib daim ntawv teev npe los ntawm kev tso cov vmlinuz kernel thiab yav tas los npaj "kho" initrd tsim hauv thawj qhov piv txwv.

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

Nrog rau qhov kev npaj ua tiav, tam sim no peb tuaj yeem tsim cov duab ISO los ntawm phau ntawv qhia no.

Cov lus txib hauv qab no yuav tsim cov duab ISO, tsis yog ib qho bootable, tsuas yog ISO:

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

Txhawm rau tsim cov duab khau raj, koj yuav tsum qhia meej qhov "--legacy-boot" kev xaiv rau BIOS thiab "--efi" rau UEFI, raws li kev xaiv; cov kev xaiv yuav siv grub2 lossis syslinux raws li qhov tsis muaj; koj tuaj yeem qhia tsuas yog ib qho kev xaiv ( Piv txwv li, UEFI khau raj tsis xav tau, nws yuav tsis tau teev).

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

Thiab ib yam li ua ntej, cov duab nrog lub kaw lus tau suav nrog hauv initrd, koj tuaj yeem suav nrog lawv hauv ISO.

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

Tom qab cov lus txib no, lub bootable BIOS / UEFI ISO duab yuav raug tsim uas thauj Gentoo rau hauv SquashFS duab siv Overlay FS, siv tmpfs rau cov ntaub ntawv khaws cia. Lub kernel yuav tsum tau ua nrog Overlay FS kev txhawb nqa nrog SquashFS. Txawm li cas los xij, yog tias vim li cas qhov no tsis tas yuav tsum tau, koj tuaj yeem siv qhov "-cpio" kev xaiv es tsis yog -squashfs rau pob gentoo / raws li cpio archive, nyob rau hauv rooj plaub no cov ntaub ntawv yuav raug muab tshem tawm ncaj qha rau hauv tmpfs thaum khau raj, qhov tseem ceeb tshaj plaws. yog tias rau unpacking system tmpfs muaj RAM txaus.

Qhov tseeb txaus siab: yog tias daim duab ISO tsim los ntawm kev xaiv "-efi" yog unpacked mus rau FAT32 flash drive los ntawm kev luam cov ntaub ntawv (cp -r), ces Flash drive yuav khau raj hauv UEFI hom yam tsis muaj kev npaj ua ntej, ua tsaug rau qhov tshwj xeeb. ntawm UEFI-downloaders.

Ntxiv nrog rau bootable ISOs, txhua tsav bootable tuaj yeem tsim nrog tib yam tsis muaj: USB, HDD, SSD, thiab lwm yam, thiab cov tsav no tuaj yeem siv txuas ntxiv rau nws lub hom phiaj. Ua li no, koj yuav tsum tau mount, piv txwv li, ib tug USB ntaus ntawv thiab khiav mkbootisofs rau nws. Tsuas yog ntxiv ib qho kev xaiv "-bootable" thiaj li hais tias lub tsav ntawm cov ntawv teev npe nyob rau hauv yuav ua rau bootable.

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

Tom qab ntawd, lub USB ntaus ntawv yuav dhau los ua bootable nrog gentoo / overlay (tsis txhob hnov ​​​​qab luam / khau raj / vmlinuz thiab / khau raj / initrd cov ntaub ntawv rau lub cuab yeej).

Yog tias vim qee yam tsav tsis tau teeb tsa hauv / mnt, thiab nws hloov tawm tias / mnt nyob rau ntawm lub ntsiab ntaus ntawv / dev / sda, ces lub bootloader yuav rov sau dua rau /dev/sda. Koj yuav tsum ceev faj thaum qhia txog qhov kev xaiv --bootable.

Thaum lub sijhawm khau raj, Booty txhawb nqa ntau txoj kev xaiv uas tuaj yeem dhau mus rau khau raj loader, grub.cfg lossis syslinux.cfg. Los ntawm lub neej ntawd, tsis muaj kev xaiv, tag nrho cov overlays yog loaded thiab unpacked rau hauv tmpfs (default xaiv ooty.use-shmfs). Txhawm rau siv Overlay FS qhov kev xaiv booty.use-overlayfs yuav tsum tau siv. Qhov kev xaiv booty.copy-to-ram thawj zaug luam theej rau tmpfs, tom qab ntawd nws tsuas txuas lawv thiab thauj lawv. Thaum theej, lub USB ntaus ntawv (los yog lwm yam cia khoom) yuav raug tshem tawm.

Tau qhov twg los: opennet.ru

Ntxiv ib saib