Bootstrap v1.2 кескіндерін жасау


Bootstrap v1.2 кескіндерін жасау

Кейін бір ай ғана Баяу дамудан кейін boobstrap v1.2 шығарылды - жүктеу кескіндері мен дискілерді жасауға арналған POSIX қабықшасындағы құралдар жиынтығы.

Boobstrap бір ғана пәрменді орындауға мүмкіндік береді:

  • Кез келген GNU/Linux дистрибутивтерін қоса, initramfs кескінін жасаңыз.
  • Кез келген GNU/Linux дистрибутивімен жүктелетін ISO кескіндерін жасаңыз.
  • Кез келген GNU/Linux дистрибутивімен жүктелетін USB, HDD, SSD дискілерін жасаңыз.

Ерекшелігі мынада: GNU/Linux жүктелгеннен кейін толығымен таза tmpf файлдарында немесе Overlay FS және SquashFS кескіндерін пайдалану арқылы сіздің таңдауыңыз бойынша жұмыс істейді. Сіз кез келген GNU/Linux дистрибутивін каталогқа орнатасыз, барлық қажетті параметрлерді жасайсыз (мүмкін бөлек каталогта), содан кейін ISO кескіні, USB, HDD, SSD дискісі немесе бір пәрмен арқылы жүктеу құрылғысын жасайсыз. жүйемен initrd кескінін жасауға болады. Жүйе әрқашан бірдей күйде болады және бұзылған жағдайда бір «Қалпына келтіру» түймесін басу арқылы бастапқы күйіне оралуға болады. Жүйені басқа хостқа тасымалдағыңыз келе ме, әлде бар контейнерден жүйе жасағыңыз келе ме? Boobstrap мұны жасайды.

Негізгі өзгерістер арасында:

  • Бұрыннан бар grub2-ге қосымша syslinux жүктеушіге қолдау қосылды. Жүктеу құрылғысын немесе --legacy-boot syslinux және --efi grub2 опциялары бар ISO кескінін жасау кезінде енді grub2, syslinux немесе екеуін де таңдауға болады, сондай-ақ жүктеп алу ISO стандартын қолдайтын режимдерді таңдауға болады. сурет.
  • Кез келген блоктық құрылғыны жүктелетін ететін --bootable опциясы қосылды. ISO кескіндерін жасау үшін --iso-9660 опциясын пайдалану керек.
  • Барлық қабаттасудың мазмұнын tmpf файлына көшіру үшін boobs.use-shmfs ядросының жүктеу опциялары, Overlay FS көмегімен жүктеу үшін boobs.use-overlayfs, жүйемен көзді таңдау үшін boobs.search-rootfs, boobs.copy-to-ram. жүйені жадқа көшіру, содан кейін құрылғыны өшіру.
  • Boobstrap жұмыс істеуі үшін қажетті жалғыз тәуелділік - cpio. Қалған тәуелділіктер міндетті емес: grub2, syslinux - жүктелетін медиа жасау үшін қажет, таңдау үшін cdrkit немесе xorriso - ISO жасау үшін, SquashFS жасау үшін squashfs-құралдары, бірақ --ның орнына -cpio опциясын пайдалануға ештеңе кедергі болмайды. squashfs таратуды мұрағатқа орау үшін. busybox орнатылған болса ғана пайдаланылады, бірақ ол орнатылмаған жағдайда жүйеңізден барлық қажетті утилиталар көшіріледі. Осылайша, boobstrap барлық жерде дерлік жұмыс істеуге кепілдік береді.

Мысалы, келесі пәрмен initrd кескінін жасайды, оның ішінде SquashFS кескіні ретінде бумаланған gentoo-chroot/жүйесі initrd өзі жүктелгеннен кейін сәтті жүктеледі. Еске сала кетейін, Overlay FS-ті SquashFS-пен бірге пайдалану үшін boobs.use-overlayfs ядросының опциясын өту керек, әйтпесе жүйе tmpfs бумасынан шығарылады. Барлық қосымша параметрлерді бөлек каталогта жасауға болады, мысалы gentoo-settings/

# mkdir initramfs/
# mkinitramfs initramfs/ --overlay gentoo-chroot/ --overlay gentoo-settings/ --squashfs > initrd

Ішінде жүйесі бар initrd кескіні жүйені жылдам орналастыру қажет болғанда ыңғайлы, мысалы, PXE арқылы немесе жүктелген жүйеде kexec -l /boot/vmlinuz-* —initrd=./initrd пәрменін пайдаланып initrd-ге ауысу && kexec -e, жақсы немесе QEMU виртуалды машина интерфейсінде (мүмкін тіпті Proxmox) үш IPXE пәрменін пайдаланып қашықтағы көзден жүктеңіз: ядро ​​http://[...]/vmlinuz, initrd http://[ ...]/initrd, жүктеу. Көріп отырғаныңыздай, сіздің жүйеңіздің ішіндегі тұрақты initrd-тің де көптеген мақсаттары бар.

Жүктелетін дискілер мен кескіндерді жасау үшін mkbootisofs пәрмені пайдаланылады, мысалы, -iso-9660 опциясымен ISO кескінін жасау бұрынғы режимге (BIOS) жүктеу үшін syslinux және EFI-ге жүктеу үшін grub2-ге ұқсайды. режимі (UEFI).

# mkdir initrd/
# mkinitramfs initrd/ > initrd
# mkdir isoimage/
# mkdir isoimage/жүктеу
# cp /boot/vmlinuz-* isoimage/boot/vmlinuz
# cp initrd isoimage/boot/initrd
# mkbootisofs isoimage/ —iso-9660 —legacy-boot syslinux —efi grub2 — boot.iso шығысы
--overlay gentoo-chroot/ --overlay gentoo-settings/ --squashfs

Жүктеу режимдерінің бірін көрсетуге немесе оларды мүлдем көрсетпеуге болады, сәйкес ISO кескіні сәтті жасалады.

Кез келген дискіге орнату және одан кейін жүктеу --bootable опциясы арқылы орындалады. Дискіде бөлімдерді өзіңіз (fdisk) жасап, оларды пішімдеуіңіз керек (mkdosfs, mke2fs, т.б.), содан кейін құрылғыны каталогқа орнату керек.

# орнату /dev/sdb1 /mnt/drive/
# mkbootisofs /mnt/drive/ --жүктелетін --legacy-boot grub2 --efi grub2
--overlay gentoo-chroot/ --overlay gentoo-settings/ --squashfs

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

Кез келген GNU/Linux жүйесін орнату тек бір пәрменге дейін қысқарады. Орнату кез келген HDD, SSD және т.б. Естеріңізге сала кетейік, бұл әлі де Overlay FS / SquashFS жүйесінен жұмыс істейтін жүйе немесе сіздің таңдауыңыз бойынша толығымен tmpfs жүктелетін жүйе.

Басқа нәрселермен қатар, boobstrap бірқатар қызықты мүмкіндіктерге және қосымша мүмкіндіктерге ие!

Мысалы, mkinitramfs `mktemp -d` > /boot/initrd пәрменімен меншікті boobstrap initrd жасай аласыз және ядро ​​опцияларын boobs.use-overlayfs boobs.search-rootfs=/dev көрсете отырып, осы initrd арқылы жүйеңізге жүктей аласыз. /sda1. Бұл жағдайда үй жүйеңіз орнатылған /dev/sda1 тек оқуға арналған Overlay FS қабаты ретінде қосылады және сіз жасаған барлық өзгерістер tmpfs файлына уақытша ғана жазылады. boobs.copy-to-ram опциясын қосуға болады, содан кейін бүкіл жүйе жедел жадқа көшіріледі және қатты дискіні компьютерден ажыратуға болады. Бір нәрсені бұзу қажет болғанда ыңғайлы және сіз жай ғана қайта жүктеу арқылы өзгерістерді кері қайтара аласыз. 🙂

Бірақ жүйедегі барлық өзгерістерді сақтау қажет болса ше? Мысалы, сіз бағдарламалық жасақтаманы немесе басқа нәрсені орнаттыңыз. Таза tmpf файлдарында жұмыс істегенде, бұл, өкінішке орай, мүмкін емес, бірақ егер сіз Overlay FS арқылы жүктелген болсаңыз, жүйеде орын алған барлық өзгерістер жеке tmpfs каталогында сақталады: /mnt/overlayfs/rootfs-changes! Пайдалану сценарийі өте қарапайым. Жүйеге USB құрылғысынан жүктелдіңіз, біраз жұмыс жасадыңыз және өзгертілгеннің барлығын сақтағыңыз келді, содан кейін cpio мұрағатын жасап, оны осында, сол USB құрылғысына қойыңыз.

# cd /mnt/overlayfs/rootfs-өзгерістер
#табыңыз. -print0 | cpio --жасау --пішімі "newc" --null --quiet > /mnt/drive/rootfs-changes.cpio
# CD $OLDPWD

Мұрағатты басқа SquashFS және cpio «қабаттарының» жанына қоюға болады, содан кейін мұрағат кейіннен жүктелгеннен кейін басқа тек оқуға арналған қабат ретінде қосылады. Өзгерістермен жұмыс істеуді жалғастыру үшін boobs.rootfs-changes=/rootfs-changes.cpio жүктеп салу опциясын пайдаланыңыз. boobs.rootfs-changes опциясы өзгерту рұқсатымен көрсетілген қабатты қосады. Қабат блоктық құрылғы болуы мүмкін, мысалы, /dev/sdb1 параметрін көрсетуге болады, содан кейін Overlay FS ішінде жасалған барлық өзгерістер жай ғана /dev/sdb1 ішіне сақталады.

Boobstrap, кең мүмкіндіктерге қарамастан, әлі де даму сатысында, барлық ескертулеріңіз бен ұсыныстарыңыз ескеріледі!

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

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