booty - утилита барои эҷоди тасвирҳо ва дискҳои пурборкунанда

Барнома пешниход карда шуд фурқон,, ки ба шумо имкон медиҳад, ки бо як фармон тасвирҳои пурборшаванда, файлҳои ISO ё дискҳои дорои ҳама гуна тақсимоти GNU/Linux эҷод кунед. Рамз дар қабати POSIX навишта шудааст ва паҳн мекунад тибқи GPLv3 литсензия шудааст.

Ҳама тақсимоти бо истифода аз Booty пурборшуда ё SHMFS (tmpfs) ё SquashFS + Overlay FS, интихоби корбарро иҷро мекунанд. Тақсим як бор сохта мешавад ва дар ҷараёни пурборкунӣ, параметрҳое интихоб карда мешаванд, ки ба шумо имкон медиҳанд, ки tmpf-ҳои покро барои реша истифода баред ё маҷмӯи Overlay FS + SquashFS бо сабти тағирот ба tmpfs. Маҷмӯи тақсимоти зеркашишавандаро ба хотираи оперативӣ пешакӣ нусхабардорӣ кардан мумкин аст, ки ба шумо имкон медиҳад, ки пас аз зеркашӣ ва нусхабардории маҷмӯаи тақсимот ба хотира диски 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-и шартиро дар феҳристи алоҳида насб кунед (бойгониро кушоед), пас аз он бойгонии cpio ё тасвири SquashFS бо ин система бо истифода аз Booty тавлид мешавад. Шумо инчунин метавонед тақсимотро дар директорияи алоҳида танзим кунед ва танзимоти шахсии худро ба директорияи дигар нусхабардорӣ кунед. Ҳамаи ин «қабатҳо» пайдарпай ба болои якдигар бор карда мешаванд ва системаи ягонаи корӣ эҷод мекунанд.

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

Дар ниҳоят, Booty ба шумо имкон медиҳад, ки тавассути насб кардани системаи дар боло зикршуда аз тасвирҳо тасвирҳои пурборшавандаи ISO ва USB, HDD, SSD ва дигар дискҳоро эҷод кунед. фурқон, таъсиси системаҳои пурборкунандаи BIOS ва UEFI -ро дастгирӣ мекунад. Боркунакҳои GRUB2 ва SYSLINUX дастгирӣ карда мешаванд. Боркунакҳоро муттаҳид кардан мумкин аст, масалан, SYSLINUX -ро барои бор кардан ба BIOS ва GRUB2 -ро барои UEFI истифода баред. Барои эҷоди тасвирҳои 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

Барои эҷод кардани тасвири пурборкунанда, шумо бояд мутаносибан опсияи "--legacy-boot" -ро барои BIOS ва "--efi" -ро барои UEFI муайян кунед; ин параметрҳо ё 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 барои нигаҳдории маълумот бор мекунад. Ядро бояд бо дастгирии Overlay FS бо SquashFS сохта шавад. Аммо, агар бо ягон сабаб ин талаб карда нашавад, шумо метавонед ба ҷои -squashfs опсияи "-cpio" -ро барои бастабандии gentoo/ ҳамчун бойгонии cpio истифода баред, дар ин ҳолат архив ҳангоми боркунӣ бевосита ба tmpfs кушода мешавад, чизи асосӣ он аст, ки барои кушодани система tmpfs RAM кофӣ дошт.

Далели ҷолиб: агар тасвири ISO бо истифода аз опсияи "—efi" сохташуда ба диски флеши FAT32 бо роҳи нусхабардории файлҳо (cp -r) кушода шавад, пас диски флешдор ба шарофати мушаххасот бидуни омодагии пешакӣ дар ҳолати UEFI пур мешавад. аз UEFI- зеркашиҳо.

Илова ба ISO-ҳои пурборшаванда, ҳама гуна диски пурборшавандаро бо ҳамон параметрҳо сохтан мумкин аст: USB, HDD, SSD ва ғайра, ва ин диск метавонад минбаъд низ бо мақсади таъиншуда истифода шавад. Барои ин, шумо бояд масалан, як дастгоҳи USB-ро насб кунед ва дар он mkbootisofs -ро иҷро кунед. Танҳо як варианти "—борборшаванда" -ро илова кунед, то диске, ки дар он директорияи зикршуда ҷойгир аст, пурборшаванда шавад.

mount /dev/sdb1 /mnt
mkbootisofs /mnt --overlay gentoo/ --squashfs --legacy-boot grub2 --efi grub2 --борборшаванда

Пас аз он, дастгоҳи 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 (ё дигар дастгоҳи нигаҳдорӣ) метавонад хориҷ карда шавад.

Манбаъ: opennet.ru

Илова Эзоҳ