Boobstrap v1.0 ачаалах дүрсийг үүсгэж байна


Boobstrap v1.0 ачаалах дүрсийг үүсгэж байна

Би та бүхний анхааралд GNU/Linux түгээлтүүдээр ачаалах дүрсийг бүтээхэд зориулагдсан POSIX бүрхүүлд бичигдсэн boobstrap нэртэй хүрээг толилуулж байна. Энэхүү хүрээ нь системийг chroot-д байрлуулах, chrooted системийг агуулсан initramfs дүрсийг үүсгэх, эцэст нь ачаалах боломжтой ISO дүрсийг үүсгэхээс эхлээд гурван энгийн алхамаар бүх процессыг туулах боломжийг танд олгоно. boobstrap нь mkbootstrap, mkinitramfs болон mkbootisofs гэсэн гурван хэрэгслийг агуулдаг.

mkbootstrap нь системийг тусдаа санд суулгадаг, CRUX-ийн эх дэмжлэг байдаг бөгөөд Arch Linux / Manjaro болон Debian-д суурилсан түгээлтийн хувьд гуравдагч талын pacstrap, basestrap, debootstrap хэрэгслүүдийг тус тус ашиглах ёстой.

mkinitramfs нь initramfs дүрсийг үүсгэдэг тул та уг санд суулгасан системийг SquashFS ашиглан шахаж "давхцах" хэлбэрээр ашиглах эсвэл системд ачаалсны дараа шууд tmpfs дээр ажиллах боломжтой. Жишээлбэл, mkinitramfs `mktemp -d` --overlay "arch-chroot/" --overlay "/home" --squashfs-xz --output initrd тушаал нь "arch-" гэсэн хоёр давхаргыг багтаасан initrd файл үүсгэх болно. chroot/" систем болон таны "/home"-г SquashFS ашиглан шахаж, дараа нь PXE-ээр дамжуулан tmpfs руу ачаалах эсвэл энэ initrd-ээр ачаалах боломжтой ISO дүрс үүсгэх боломжтой.

mkbootisofs нь заасан лавлахаас BIOS/UEFI ачаалах боломжтой ISO дүрсийг үүсгэдэг. Зүгээр л лавлахад /boot/vmlinuz болон /boot/initrd-г оруулаарай.

boobstrap нь busybox ашигладаггүй бөгөөд ажиллах initramfs орчныг бий болгохын тулд ачаалах, систем рүү шилжихэд шаардлагатай хамгийн бага багц програмуудыг ldd ашиглан хуулдаг. Хуулбарлах програмуудын жагсаалтыг бусад бүх зүйлийн нэгэн адил /etc/boobstrap/boobstrap.conf тохиргооны файлаар тохируулж болно. Мөн та ямар ч минималист түгээлтийг тусдаа chroot/-д суулгаж, улмаар бүрэн хэмжээний initramfs орчныг үүсгэж болно. Ийм минималист, гэхдээ нэгэн зэрэг бүрэн эрхт орчны хувьд xz-ийн дараа 37 MB багтаамжтай "crux_gnulinux-суулгасан" загварыг ашиглахыг санал болгож байна. busybox нь хэмжээнээс гадна GNU/Linux-ийн 3-5 МБ-ын эсрэг 30-50 МБ хэмжээтэй нь ямар ч давуу тал өгөхөө больсон тул төсөлд busybox ашиглах нь зохимжгүй юм шиг санагддаг.

Функцийг хэрхэн хурдан шалгаж эхлэх вэ? Суулгаж ажиллуулна уу.

# git клон https://github.com/sp00f1ng/boobstrap.git
# CD хөхний оосор
# суулгац хийх # boobstrap/tests/crux_gnulinux-download-and-build
# qemu-system-x86_64 -enable-kvm -m 1G -cdrom tmp.*/install.iso

Та мөн хамаарлыг суулгах хэрэгтэй, тухайлбал: cpio, grub, grub-efi, dosfstools, xorriso. Squashfs-tools ашиглах шаардлагагүй, та тохирох хэмжээний RAM-тай tmpfs дээр ажиллах боломжтой. Хэрэв системд ямар нэг зүйл дутуу байвал boobstrap үүнийг эхлүүлэх үед мэдээлэх болно.

Тохиргоог үүсгэх ажлыг хялбарчлахын тулд boobstrap нь "загвар" ба "систем" ашиглахыг санал болгож байгаа бөгөөд тэдгээрийн мөн чанар нь файлаас системийг хурдан суулгахын тулд "загвар" (bootstrap-templates/) болон шууд "систем" (bootstrap-) ашиглахыг санал болгож байна. систем/) эцсийн тохиргоог хийхэд ашигладаг.

Жишээлбэл, boobstrap/bootstrap-templates/crux_gnulinux-embedded.bbuild скриптийг ажиллуулснаар CRUX GNU/Linux системийн хамгийн бага тохиргоог суулгаж, crux_gnulinux-embedded.rootfs файлд хадгалаад дараа нь boobstrap/bootstrap-systems-ийг ажиллуулна. /default/crux_gnulinux.bbuild нь дурдсан файлаас үндсэн тохиргоог ачаалж, шаардлагатай бүх тохиргоог хийж, ачаалах боломжтой ISO-г бэлтгэнэ. Жишээлбэл, олон системүүд ижил төрлийн тохиргоог ашигладаг бол энэ нь тохиромжтой: нэг багц багцыг тайлбарлахгүйн тулд та нэг загварыг ашигладаг бөгөөд үүний үндсэн дээр та эцсийн тохиргоотой системийн ачаалах зургийг үүсгэдэг.

Энэ бүгдийг би хаана ашиглаж болох вэ?

Та системийг нэг удаа файлд тохируулж, ажиллуулснаар та үүнийг бүтээж, шинэчилж болно. Систем нь tmpfs-д ажилладаг бөгөөд энэ нь үндсэндээ нэг удаагийнх юм. Хэрэв систем бүтэлгүйтвэл та Reset товчийг нэг товшилтоор анхны төлөв рүүгээ буцаж болно. Та rm -rf /-г аюулгүй ажиллуулж болно.

Та өөрийн бүх системийн тохиргоог дотооддоо тохируулж, зураг үүсгэж, тэдгээрийг виртуал машин эсвэл тусдаа техник хангамжид туршиж, дараа нь алсын серверт байршуулж, kexec -l /vmlinuz —initrd=/initrd && kexec -e хоёр командыг ажиллуулж болно. Системийг бүхэлд нь шинэчлэхийн тулд tmpfs болгон дахин ачаална уу.

Үүний нэгэн адил та бүх системийг, тухайлбал VDS дээр tmpfs дээр ажиллахын тулд шилжүүлж, /dev/vda дискийг шифрлэж, үйлдлийн системээ хадгалах шаардлагагүйгээр зөвхөн өгөгдөлд ашиглах боломжтой. Энэ тохиолдолд цорын ганц "мэдээлэл алдагдах цэг" нь зөвхөн таны виртуал машины санах ойн "хүйтэн хог хаягдал" байх болно, мөн систем эвдэрсэн тохиолдолд (жишээлбэл, ssh нууц үгийг таах эсвэл сул тал) байх болно. Exim), та бүх эмзэг байдлыг хаахын тулд системийн тохиргоог засварлахаа мартахгүйгээр VDS-ийг дахин ажиллуулахын тулд үйлчилгээ үзүүлэгчийнхээ "хяналтын самбар" -аар дамжуулан шинэ ISO-г татаж авах боломжтой. Энэ нь дахин суулгах, дараагийн тохиргоо болон/эсвэл нөөцлөлтөөс сэргээхээс хурдан юм, учир нь үндсэндээ таны системд татаж авах боломжтой ISO бол таны нөөц юм. "Долоон бэрхшээл - нэг дахин тохируулах."

Эцэст нь та өөрийн хэрэгцээнд зориулан ямар ч түгээлт үүсгэж, USB драйв руу бичиж, түүн дээр ажиллаж, шаардлагатай бол шинэчилж, USB диск рүү дахин бичиж болно. Бүх өгөгдөл үүлэнд хадгалагддаг. Систем үндсэндээ "нэг удаагийн" болсон үед та системийн аюулгүй байдлын талаар санаа зовж, нөөцлөх шаардлагагүй болсон.

Таны хүсэл, санал, сэтгэгдлийг хүлээн авах боломжтой.

Доорх линк дэх репозитор дээр хэрэглүүр бүрийн тайлбар, хэрэглээний жишээ бүхий README файл (англи хэл дээр) байгаа бөгөөд орос хэл дээрх нарийвчилсан баримт бичиг, хөгжлийн түүхийг линкээс авах боломжтой. Boobstrap ачаалах скриптийн цогцолбор.

Эх сурвалж: linux.org.ru

сэтгэгдэл нэмэх