booty - жүктеу кескіндері мен дискілерін жасауға арналған утилита

Бағдарлама ұсынылды Секс үшін кездесу, ол бір пәрмен арқылы кез келген GNU/Linux дистрибуциясы бар жүктелетін initrd кескіндерін, ISO файлдарын немесе дискілерді жасауға мүмкіндік береді. Код POSIX қабығында жазылған және таралады GPLv3 бойынша лицензияланған.

Booty арқылы жүктелген барлық дистрибутивтер пайдаланушының таңдауы бойынша SHMFS (tmpfs) немесе SquashFS + Overlay FS іске қосады. Тарату бір рет жасалады және жүктеу процесі кезінде түбір үшін таза tmpf файлдарын немесе tmpf файлдарына жазба өзгерістері бар Overlay FS + SquashFS тіркесімін пайдалануға мүмкіндік беретін параметрлер таңдалады. Жүктеп алынатын тарату жинағын жедел жадқа алдын ала көшіруге болады, бұл тарату жинағын жадқа жүктеп алып, көшіргеннен кейін USB дискісін ажыратуға мүмкіндік береді.

Ең алдымен, Booty ағымдағы жүйеден немесе бос емес бокстан жергілікті утилиталарды пайдалана алатын өзінің бастапқы кескінін жасайды. Каталогта (chroot) орнатылған бүкіл тарату жинағын initramfs ішіне қосуға (орауға) болады. Бұл жүйені kexec көмегімен жаңарту қажет болғанда пайдалы болуы мүмкін: initrd файлын жаңа ядромен және initrd ішіндегі жаңа жүйемен қайта жүктеңіз.

Booty-арнайы initrd кескінін жасау:

mkdir initramfs/
mkinitramfs initramfs/ --output initrd

«gentoo/» каталогынан таратуды қоса, initrd кескінін жасау:

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 document/ --squashfs --output initrd

Сайып келгенде, Booty жоғарыдағы жүйені кескіндерден орнату арқылы жүктелетін ISO кескіндерін және USB, HDD, SSD және басқа дискілерді жасауға мүмкіндік береді. Секс үшін кездесу BIOS және UEFI жүктеу жүйелерін құруды қолдайды. GRUB2 және SYSLINUX жүктеушілеріне қолдау көрсетіледі. Жүктеушілерді біріктіруге болады, мысалы, BIOS жүйесіне жүктеу үшін SYSLINUX және UEFI үшін GRUB2 пайдаланыңыз. ISO кескіндерін жасау үшін сізге қосымша таңдау үшін cdrkit (genisoimage) немесе xorriso (xorrisofs) бумасы қажет болады.

Қажетті жалғыз қосымша әрекет - ядроны (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 --шығару 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

Осы пәрменнен кейін деректерді сақтау үшін tmpfs көмегімен Overlay FS көмегімен Gentoo-ны SquashFS кескініне жүктейтін жүктелетін BIOS/UEFI ISO кескіні жасалады. Ядро SquashFS көмегімен Overlay FS қолдауымен құрастырылуы керек. Алайда, егер қандай да бір себептермен бұл талап етілмесе, gentoo/ файлын cpio мұрағаты ретінде бумалау үшін —squashfs орнына «—cpio» опциясын пайдалануға болады, бұл жағдайда мұрағат жүктелген кезде тікелей tmpf файлдарына шығарылады, ең бастысы. Бұл жүйені орау үшін tmpfs жеткілікті жедел жады болды.

Қызықты факт: егер «—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 --жүктелетін

Осыдан кейін USB құрылғысы gentoo/ қабаттасуы арқылы жүктелетін болады (құрылғыға /boot/vmlinuz және /boot/initrd файлдарын көшіруді ұмытпаңыз).

Егер қандай да бір себептермен диск /mnt ішіне орнатылмаған болса және /mnt негізгі құрылғыда /dev/sda орналасқаны анықталса, жүктеуші /dev/sda күйіне қайта жазылады. --bootable опциясын көрсеткенде абай болу керек.

Жүктеу процесі кезінде Booty жүктеушіге, grub.cfg немесе syslinux.cfg жіберуге болатын бірқатар опцияларды қолдайды. Әдепкі бойынша, ешқандай опцияларсыз, барлық қабаттасмалар tmpf файлдарына жүктеледі және ашылады (әдепкі опция ooty.use-shmfs). Overlay FS пайдалану үшін booty.use-overlayfs опциясын пайдалану керек. booty.copy-to-ram опциясы алдымен қабаттасуларды tmpfs файлына көшіреді, содан кейін ол тек оларды қосады және жүктейді. Көшірілгеннен кейін USB құрылғысын (немесе басқа сақтау құрылғысын) алып тастауға болады.

Ақпарат көзі: opennet.ru

пікір қалдыру