vete - aoga mo le fatuina o ata ma taʻavale

Polokalame na tuuina atu mea na maua, lea e mafai ai ona e fatuina ata initrd bootable, faila ISO poʻo taʻavale o loʻo i ai soʻo se tufatufa GNU / Linux ma le tasi poloaiga. O loʻo tusia le code ile POSIX shell ma tufatufaina e laiseneina ile GPLv3.

O tufatufaga uma e faʻaaogaina e faʻaaoga ai le Booty e faʻatautaia SHMFS (tmpfs) poʻo SquashFS + Overlay FS, o le filifiliga a le tagata faʻaoga. O le tufatufaga e faia i le taimi e tasi, ma i le taimi o le faʻagasologa o le taʻavale, e filifilia faʻamau e mafai ai ona e faʻaogaina tmpfs mama mo le aʻa, poʻo se tuʻufaʻatasiga o le Overlay FS + SquashFS ma le pueina o suiga i tmpfs. E mafai ona muai kopiina le pusa tufatufaina atu i totonu o le RAM, lea e mafai ai ona e momotu le USB drive pe a uma ona sii mai ma kopi le pusa tufatufaina i le mafaufau.

Muamua lava, o Booty e faʻatupuina lona lava ata initrd, lea e mafai ona faʻaogaina mea faʻapitoa mai le faiga o loʻo iai nei poʻo le pusa pisi. E mafai ona fa'aaofia (fa'a) le pusa fa'asoa atoa o lo'o fa'apipi'iina i totonu o le lisi (chroot) i initramfs. E mafai ona aoga lenei mea pe a manaʻomia le faʻaleleia o se faiga e faʻaaoga ai le kexec: naʻo le toe utaina o le initrd ma se fatu fou ma se faiga fou i totonu o le initrd.

Fausia se ata initrd fa'apitoa Booty:

mkdir initramfs/
mkinitramfs initramfs/ --output initrd

Fausia se ata initrd e aofia ai le tufatufaina mai le "gentoo/" directory:

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

A maeʻa ona sauni atoatoa lenei ata initrd mo le utaina, mo se faʻataʻitaʻiga, e ala i le PXE poʻo le kexec.

Le isi, Booty fa'atupuina ata fa'atasi ai ma le faiga fa'amaotiina o le "overlays". Mo se faʻataʻitaʻiga, e mafai ona e faʻapipiʻi (tatala le faʻamaumauga) se Gentoo faʻamaonia i totonu o se tusi e ese ai, a maeʻa ona faʻatupuina se cpio archive poʻo SquashFS ata ma lenei faiga e faʻaaoga ai le Booty. E mafai foi ona e fetuutuuna'i le tufatufaina atu i se isi lisi, ma kopi au tulaga patino i se isi tusi. O nei "laupapa" uma o le a faʻapipiʻiina faʻasolosolo i luga o le tasi ma le isi ma fatuina se faiga galue e tasi.

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

Mulimuli ane, Booty faʻatagaina oe e fatuina ata ISO faʻapipiʻi ma USB, HDD, SSD ma isi taʻavale e ala i le faʻapipiʻiina o le faiga o loʻo i luga mai ata. mea na maua lagolagoina le fausiaina o BIOS ma UEFI boot systems. GRUB2 ma SYSLINUX bootloaders e lagolagoina. E mafai ona tuʻufaʻatasia faʻamaufaʻailoga, mo se faʻataʻitaʻiga, faʻaoga SYSLINUX e faʻaulu i totonu o le BIOS, ma GRUB2 mo UEFI. Ina ia fatuina ata ISO, e te manaʻomia foʻi le cdrkit (genisoimage) poʻo le xorriso (xorrisofs) afifi, e filifili mai ai.

Pau lava le gaioiga faaopoopo e manaʻomia o le saunia o le fatu (vmlinuz) mo le taʻavale muamua. E fautuaina e le tusitala (Spoofing) le faʻaaogaina o le "faia defconfig". Aʻo leʻi faia le ata, e tatau ona e saunia se lisi e ala i le tuʻuina o le vmlinuz kernel ma le "gaogao" initrd na saunia muamua na faia i le faʻataʻitaʻiga muamua.

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

Faatasi ai ma lenei mea ua maeʻa le sauniuniga, ua mafai nei ona tatou fatuina ata ISO mai lenei lisi.

O le faʻatonuga o loʻo mulimuli mai o le a fatuina ai se ata ISO, ae le o se mea faʻapipiʻi, naʻo se ISO:

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

Ina ia fatuina se ata seevae, e tatau ona e faʻamaonia le "--legacy-boot" filifiliga mo BIOS ma le "--efi" mo le UEFI, i le faasologa; o filifiliga e ave le grub2 poʻo le syslinux e fai ma taʻiala; e mafai foi ona e faʻamaonia na o le tasi le filifiliga ( mo se faʻataʻitaʻiga, UEFI boot support e le manaʻomia, atonu e le faʻamaonia).

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

Ma e pei lava o le taimi muamua, o ata ma le faiga na aofia i le initrd, e mafai ona e aofia ai i le ISO.

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

A maeʻa lenei faʻatonuga, o le a faʻatupuina se ata BIOS / UEFI ISO faʻapipiʻi e utaina Gentoo i le ata SquashFS e faʻaaoga ai le Overlay FS, faʻaaoga tmpfs mo le teuina o faʻamaumauga. E tatau ona fausia le fatu i le lagolago Overlay FS ma SquashFS. Ae peitaʻi, afai e iai se mafuaʻaga e le manaʻomia ai, e mafai ona e faʻaogaina le "-cpio" filifiliga nai lo -squashfs e faʻapipiʻi gentoo / e avea o se cpio archive, i le tulaga lea o le a tatala saʻo le archive i tmpfs i luga o le seevae, o le mea autu. o lena mo le tatalaina o le polokalama tmpfs na lava le RAM.

O le mea moni mataʻina: afai o se ata ISO na faia e faʻaaoga ai le "-efi" filifiliga e faʻapipiʻiina i luga o le FAT32 flash drive e ala i le na o le kopiina o faila (cp -r), ona faʻaulu lea o le Flash drive i le UEFI mode e aunoa ma se sauniuniga muamua, faʻafetai i faʻamatalaga patino. o UEFI- downloaders.

I le faʻaopoopoga i ISO faʻapipiʻi, soʻo se taʻavale faʻapipiʻi e mafai ona faia faʻatasi ma faʻamaufaʻailoga tutusa: USB, HDD, SSD, ma isi mea, ma o lenei taʻavale e mafai ona faʻaauau ona faʻaaogaina mo lona faʻamoemoe. Ina ia faia lenei mea, e tatau ona e faʻapipiʻi, mo se faʻataʻitaʻiga, se masini USB ma taʻavale mkbootisofs i luga. Na'o le fa'aopoopoina o se tasi filifiliga "-bootable" ina ia mafai ai ona fa'aogaina le ta'avale o lo'o i ai le lisi fa'apitoa.

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

A maeʻa lena, o le a mafai ona faʻaogaina le masini USB i le gentoo/ overlay (aua neʻi galo e kopi le /boot/vmlinuz ma /boot/initrd faila i le masini).

Afai mo nisi mafuaʻaga e leʻi faʻapipiʻiina le taʻavale i / mnt, ma e aliali mai o / mnt o loʻo i luga o le masini autu / dev / sda, ona toe tusi lea o le bootloader i / dev / sda. E tatau ona e faʻaeteete pe a faʻamaonia le filifiliga --bootable.

I le taimi o le faʻagasologa o le taʻavale, e lagolagoina e Booty le tele o filifiliga e mafai ona tuʻuina atu i le uta faʻa, grub.cfg poʻo syslinux.cfg. Ona o le faaletonu, e aunoa ma ni filifiliga, o mea uma e ufiufi e utaina ma tatala i totonu o tmpfs (filifiliga masani ooty.use-shmfs). Mo le fa'aogaina o le Overlay FS e tatau ona fa'aoga le filifiliga booty.use-overlayfs. O le filifiliga booty.copy-to-ram e muamua kopi ona fa'apipi'i i tmpfs, a mae'a na'o le fa'afeso'ota'i ma uta. A mae'a ona kopi, e mafai ona aveese le masini USB (po'o isi mea e teu ai).

puna: opennet.ru

Faaopoopo i ai se faamatalaga