Программа тартууланды
Booty аркылуу жүктөлгөн бардык дистрибуциялар колдонуучунун тандоосу боюнча SHMFS (tmpfs) же SquashFS + Overlay FS менен иштейт. Бөлүштүрүү бир жолу түзүлөт жана жүктөө процессинде тамыр үчүн таза tmpfs же tmpfs өзгөртүүлөрүнүн жазуусу менен Overlay FS + SquashFS комбинациясын колдонууга мүмкүндүк берген параметрлер тандалып алынат. Жүктөлүп алынуучу бөлүштүрүүчү комплектти RAMга алдын ала көчүрүп алса болот, бул дистрибьютордук комплектти эстутумга жүктөө жана көчүрүүдөн кийин USB дискти ажыратууга мүмкүндүк берет.
Биринчиден, Booty өзүнүн initrd сүрөтүн жаратат, ал учурдагы тутумдан же busyboxтан жергиликтүү утилиталарды колдоно алат. Каталогдо (chroot) орнотулган бүтүндөй бөлүштүрүүчү комплектти initramfs ичине киргизүү (пакет) мүмкүн. Бул kexec аркылуу системаны жаңыртуу керек болгондо пайдалуу болушу мүмкүн: жөн гана initrdди жаңы ядро жана initrd ичиндеги жаңы система менен кайра жүктөңүз.
Booty үчүн атайын initrd сүрөтүн түзүү:
mkdir initramfs/
mkinitramfs initramfs/ --output initrd
Initrd сүрөтүн түзүү, анын ичинде “gentoo/” каталогунан бөлүштүрүү:
mkdir initramfs/
mkinitramfs initramfs/ --overlay gentoo/ --cpio --output initrd
Андан кийин, бул initrd сүрөтү, мисалы, PXE же kexec аркылуу жүктөөгө толугу менен даяр.
Андан кийин, Booty "кабатташуу" катары көрсөтүлгөн система менен сүрөттөрдү жаратат. Мисалы, сиз шарттуу Gentooну өзүнчө каталогго орното аласыз (архивди ача аласыз), андан кийин Booty аркылуу cpio архиви же бул система менен SquashFS сүрөтү түзүлөт. Ошондой эле бөлүштүрүүнү өзүнчө каталогдо конфигурациялап, жеке жөндөөлөрүңүздү башка каталогго көчүрө аласыз. Бардык бул "катмарлар" ырааттуу түрдө бири-биринин үстүнө жүктөлөт жана бирдиктүү жумушчу системаны түзөт.
mkdir initramfs/
mkinitramfs initramfs/ --overlay gentoo/ --overlay settings/ --overlay документтер/ --squashfs --output initrd
Акыр-аягы, Booty сүрөттөрдөн жогорудагы системаны орнотуу менен жүктөлүүчү ISO сүрөттөрүн жана USB, HDD, SSD жана башка дисктерди түзүүгө мүмкүндүк берет.
Талап кылынган бир гана кошумча иш - бул ядрону (vmlinuz) жүктөө үчүн алдын ала даярдоо. Автор (Spoofing) "make defconfig" колдонууну сунуштайт. Сүрөттү түзүүдөн мурун, биринчи мисалда түзүлгөн vmlinuz ядросун жана мурда даярдалган "бош" initrdди жайгаштыруу менен каталогду даярдоо керек.
mkdir iso/
cp /boot/vmlinuz-* iso/boot/vmlinuz
cp initrd iso/boot/initrd
Ушуну менен даярдык бүттү, эми биз бул каталогдон ISO сүрөттөрүн түзө алабыз.
Төмөнкү буйрук жүктөөчү эмес, ISO сүрөтүн түзөт, жөн гана ISO:
mkdir iso/
mkbootisofs iso/ --output archive.iso
Жүктөө сүрөтүн түзүү үчүн BIOS үчүн “--legacy-boot” опциясын жана UEFI үчүн “--efi” параметрин көрсөтүшүңүз керек; параметрлер параметр катары grub2 же syslinux алат; сиз бир гана параметрди көрсөтсөңүз болот ( мисалы, UEFI жүктөө колдоосунун кереги жок , ал көрсөтүлбөшү мүмкүн).
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
Ал эми мурункудай эле, система менен сүрөттөр initrd киргизилген, сиз ISO аларды кошо аласыз.
mkbootisofs iso/ --overlay gentoo/ --squashfs --legacy-boot grub2 --efi grub2 --output gentoo.iso
Бул буйруктан кийин жүктөлүүчү BIOS/UEFI ISO сүрөтү түзүлөт, ал Gentoo'ну SquashFS сүрөтүнө Overlay FS аркылуу, маалыматтарды сактоо үчүн tmpfs аркылуу жүктөйт. Ядро SquashFS менен Overlay FS колдоосу менен түзүлүшү керек. Бирок, кандайдыр бир себептерден улам бул талап кылынбаса, cpio архиви катары gentoo/ пакеттөө үчүн -squashfs ордуна “—cpio” опциясын колдонсоңуз болот, бул учурда архив жүктөлгөндө түздөн-түз tmpfs пакетине чыгарылат, эң негизгиси Бул системаны ачуу үчүн tmpfs жетиштүү RAM болгон.
Кызыктуу факт: эгерде “—efi” опциясы аркылуу түзүлгөн ISO сүрөтү жөн гана файлдарды (cp -r) көчүрүү жолу менен FAT32 флэш-дискине таңгактан чыгарылса, анда Флэш-диск UEFI режиминде эч кандай алдын ала даярдыксыз жүктөлөт. UEFI- жүктөөчүлөрдүн.
Жүктөлүүчү ISOлардан тышкары, каалаган жүктөөчү дискти ошол эле параметрлер менен түзсө болот: USB, HDD, SSD ж. Бул үчүн, мисалы, USB түзмөгүн орнотуп, ага mkbootisofs иштетишиңиз керек. Көрсөтүлгөн каталог жайгашкан диск жүктөлүүчү болуп калышы үчүн, жөн гана "-жүктөө" опциясын кошуңуз.
орнотуу /dev/sdb1 /mnt
mkbootisofs /mnt --overlay gentoo/ --squashfs --legacy-boot grub2 --efi grub2 --bootable
Андан кийин, USB түзмөгү gentoo/ overlay менен жүктөлөт (түзмөккө /boot/vmlinuz жана /boot/initrd файлдарын көчүрүүнү унутпаңыз).
Эгерде кандайдыр бир себептерден улам диск /mnt ичинде орнотулбай калса жана /mnt негизги түзүлүштө /dev/sda жайгашкан экени аныкталса, жүктөгүч /dev/sdaга кайра жазылат. --bootable параметрин көрсөтүүдө этият болушуңуз керек.
Жүктөө процессинде Booty жүктөөчүгө, grub.cfg же syslinux.cfgге берилүүчү бир катар варианттарды колдойт. Демейки боюнча, эч кандай опцияларсыз, бардык катмарлар tmpfsге жүктөлөт жана ачылат (демейки параметр ooty.use-shmfs). Overlay FS колдонуу үчүн booty.use-overlayfs опциясы колдонулушу керек. booty.copy-to-ram параметри алгач кабаттарды tmpfsге көчүрөт, андан кийин гана аларды туташтырат жана жүктөйт. Көчүрүлгөндөн кийин, USB түзмөгүн (же башка сактоо түзүлүшүн) алып салууга болот.
Source: opennet.ru