Ho theha litšoantšo tsa bootstrap v1.2


Ho theha litšoantšo tsa bootstrap v1.2

Hamorao khoeli feela Ka mor'a tsoelo-pele e liehang, boobstrap v1.2 e ile ea lokolloa - sete ea lisebelisoa holim'a khetla ea POSIX bakeng sa ho etsa litšoantšo tsa boot le likoloi.

Boobstrap e u lumella ho etsa taelo e le 'ngoe feela:

  • Theha setšoantšo sa initramfs, ho kenyelletsa phepelo efe kapa efe ea GNU/Linux ho eona.
  • Theha litšoantšo tsa ISO tsa bootable ka phepelo efe kapa efe ea GNU/Linux.
  • Theha li-drive tsa bootable tsa USB, HDD, SSD ka phepelo efe kapa efe ea GNU/Linux.

Ntho e ikhethang ke hore kamora ho kenya GNU/Linux e tla sebetsa ka botlalo ho li-tmpfs tse hloekileng, kapa ho sebelisa litšoantšo tsa Overlay FS le SquashFS, khetho ea hau. U kenya phepelo efe kapa efe ea GNU / Linux bukeng, etsa litlhophiso tsohle tse hlokahalang (mohlomong bukeng e arohaneng), kamora moo o theha sesebelisoa sa boot ka taelo e le 'ngoe feela, ekaba setšoantšo sa ISO, USB, HDD, SSD drive, kapa o ka etsa setšoantšo sa initrd ka sistimi. Sistimi e tla lula e le maemong a tšoanang 'me ha ho ka ba le ts'enyehelo, o ka khutlela sebakeng sa eona sa pele ka ho tobetsa konopo e le 'ngoe ea Reset. Na u batla ho fetisetsa sistimi ho moamoheli e mong, kapa ho theha sistimi ho tsoa ho sets'oants'o se teng? Boobstrap e tla e etsa.

Har'a liphetoho tse kholo:

  • Tšehetso e ekelitsoeng bakeng sa syslinux bootloader, ho phaella ho grub2 e seng e ntse e le teng. Joale u ka khetha ho sebelisa grub2, syslinux, kapa ka bobeli ha u theha sesebelisoa sa boot kapa setšoantšo sa ISO ka likhetho tsa --legacy-boot syslinux le --efi grub2 ka ho latellana, 'me u ka khetha le mefuta efe eo download e tla tšehetsa ISO. setšoantšo.
  • E kenyellelitsoe --bootable khetho, e etsang hore sesebelisoa leha e le sefe sa block se khonehe. Ho theha litšoantšo tsa ISO, khetho ea --iso-9660 e tlameha ho sebelisoa.
  • E ekelitsoeng kernel boot options boobs.sebedisa-shmfs ho kopitsa dikahare tsa di overlays tsohle ho tmpfs, boobs.sebedisa-overlayfs ho boot sebelisa Overlay FS, boobs.batla-rootfs ho khetha mohloli ka tsamaiso, boobs.khopi-to-pheleu ho kopitsa sistimi mohopolong ebe o tima sesebelisoa.
  • Ntho feela e hlokahalang ea hore boobstrap e sebetse ke cpio. Lintho tse ling kaofela tse itšetlehileng ka tsona ke tsa boikhethelo: grub2, syslinux - e hlokehang ho theha mecha ea litaba ea bootable, cdrkit kapa xorriso eo u ka khethang ho eona - ho theha ISO, lisebelisoa tsa squashfs ho theha SquashFS, empa ha ho letho le u thibelang ho sebelisa -cpio khetho ho e-na le - squashfs ho kenya kabo ea hau sebakeng sa polokelo. busybox e tla sebelisoa feela ha e kentsoe, empa haeba ho se joalo, lisebelisoa tsohle tse hlokahalang ho tsoa ho sistimi ea hau li tla kopitsoa. Kahoo, boobstrap e tiisitsoe hore e sebetsa hoo e ka bang hohle.

Ka mohlala, taelo e latelang e tla etsa setšoantšo sa initrd se kenyeletsang gentoo-chroot / tsamaiso e kentsoeng e le setšoantšo sa SquashFS, se tla qala ka katleho ka mor'a hore initrd ka boeona e laetse. E-re ke u hopotse hore ho sebelisa Overlay FS hammoho le SquashFS, u tlameha ho fetisa khetho ea boobs.sebelisa-overlayfs kernel, ho seng joalo tsamaiso e tla phutholloa ho tmpfs. Litlhophiso tsohle tse ling li ka etsoa bukeng e arohaneng, mohlala gentoo-settings/

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

Setšoantšo sa initrd se nang le sistimi ka hare se loketse ha o hloka ho tsamaisa sistimi ka potlako, mohlala, ka PXE, kapa sesebelisoa sa sistimi se jarollotsoeng ho initrd u sebelisa taelo kexec -l /boot/vmlinuz-* -initrd=./initrd && kexec -e, hantle kapa, ho ba ka har'a sebopeho sa mochini oa QEMU (mohlomong esita le Proxmox), qala ho tsoa mohloling o hole o sebelisa litaelo tse tharo tsa IPXE: kernel http://[...]/vmlinuz, initrd http://[ ...]/initrd, boot. Joalokaha u bona, esita le initrd e tloaelehileng e nang le sistimi ea hau kahare e na le ts'ebeliso e ngata.

Ho theha li-drive le litšoantšo tsa bootable, ho sebelisoa taelo ea mkbootisofs, mohlala, sena ke sona se etsang setšoantšo sa ISO ka khetho ea -iso-9660 e shebahalang eka ke ho sebelisa syslinux ho qala mokhoa oa Lefa (BIOS) le grub2 ho qala EFI- mokhoa (UEFI).

# mkdir initrd/
# mkinitramfs initrd/ > initrd
# mkdir isoimage/
# mkdir isoimage/boot
# cp /boot/vmlinuz-* isoimage/boot/vmlinuz
# cp initrd isoimage/boot/initrd
# mkbootisofs isoimage/ -iso-9660 -legacy-boot syslinux -efi grub2 -output boot.iso
--overlay gentoo-chroot/ --overlay gentoo-setting/ --squashfs

U ka hlakisa e 'ngoe ea mekhoa ea boot, kapa u se ke ua e hlalosa ho hang, setšoantšo se lumellanang sa ISO se tla etsoa ka katleho.

Ho kenya ho drive efe kapa efe le ho qala ka mor'a eona ho etsoa ho sebelisoa khetho ea --bootable. U hloka ho iketsetsa likarolo ho drive (fdisk) 'me u li fomate (mkdosfs, mke2fs, joalo-joalo), ebe u kenya sesebelisoa bukeng.

# thaba /dev/sdb1 /mnt/drive/
# mkbootisofs /mnt/drive/ --bootable --legacy-boot grub2 --efi grub2
--overlay gentoo-chroot/ --overlay gentoo-setting/ --squashfs

Tlhokomeliso! Khetho ea --bootable e etsa qeto ea hore na mohala o kentsoe sesebelisoa sefe ebe o kenya bootloader sesebelisoa sena. Haeba u lebala ho kenya sesebelisoa kapa ho hlakisa ka phoso buka e fumanehang, mohlala, ho / dev / sda, bootloader ho / dev / sda e tla ngoloa ka tsela e nepahetseng. Sebelisa --bootable ka hloko.

Ho kenya sistimi efe kapa efe ea GNU/Linux ho fokotsoa hore e be taelo e le 'ngoe feela. Ho kenya ho ka etsoa ho HDD efe kapa efe, SSD, joalo-joalo. Ho bohlokoa ho hopola hore ena e ntse e le sistimi e tsoang ho Overlay FS / SquashFS, kapa e kenyang ka botlalo ho tmpfs, khetho ea hau.

Har'a tse ling, boobstrap e na le likarolo tse ngata tse khahlisang le bokhoni bo eketsehileng!

Mohlala, o ka theha "boobstrap initrd" ka taelo mkinitramfs `mktemp -d` > /boot/initrd le boot ho sistimi ea hau ka initrd ena, u hlakisa likhetho tsa kernel boobs.use-overlayfs boobs.search-rootfs=/dev /sda1. Tabeng ena, /dev/sda1, moo tsamaiso ea hau ea lehae e kentsoeng, e tla hokahanngoa e le lera la Overlay FS e baloang feela, 'me liphetoho tsohle tseo u li etsang li tla ngoloa ka nakoana feela ho tmpfs. U ka eketsa khetho boobs.copy-to-ram ebe tsamaiso eohle ea hau e tla kopitsoa ho RAM, 'me hard drive e ka khaoloa khomphuteng. E bonolo ha o hloka ho senya ntho e itseng, 'me u ka khutlisa liphetoho ka ho qala bocha. 🙂

Empa ho thoe'ng haeba u ntse u hloka ho boloka liphetoho tsohle tsamaisong? Ka mohlala, u kentse software kapa ntho e 'ngoe. Ha u sebetsa ka tmpfs e hloekileng, ka bomalimabe sena ha se khonehe, empa haeba u qalile ho sebelisa Overlay FS, joale liphetoho tsohle tse hlahang tsamaisong li bolokiloe bukeng e fapaneng ea tmpfs: /mnt/overlayfs/rootfs-changes! Boemo ba tšebeliso bo bonolo haholo. U kene ka har'a sistimi ea hau ho tsoa sesebelisoa sa USB, u entse mosebetsi o itseng, 'me u batla ho boloka ntho e ngoe le e ngoe e fetotsoeng, ebe u theha polokelo ea cpio ebe u e beha mona, sesebelisoa se tšoanang sa USB.

# cd /mnt/overlayfs/rootfs-changes
# fumana. - hatisa0 | cpio --create --format "newc" --null --quiet > /mnt/drive/rootfs-changes.cpio
# cd $OLDPWD

U ka beha polokelo haufi le "li-layers" tse ling tsa "SquashFS" le "cpio", 'me ha u kenya li-archive ka mor'a moo li tla hokahanngoa e le karolo e' ngoe feela ea ho bala. Ho tsoela pele ho sebetsa ka liphetoho, sebelisa khetho ea ho kenya boobs.rootfs-changes=/rootfs-changes.cpio. Khetho ea boobs.rootfs-changes e nolofalletsa lera le boletsoeng ka phihlello ea phetoho. Lera e ka ba sesebelisoa sa block, mohlala o ka hlakisa / dev/sdb1, ebe liphetoho tsohle tse entsoeng ho Overlay FS li tla bolokoa feela ho /dev/sdb1.

Boobstrap, leha ho na le menyetla e mengata e teng, e ntse e le sethaleng sa nts'etsopele, maikutlo le litlhahiso tsohle tsa hau li hlokomeloa!

Source: linux.org.ru

Eketsa ka tlhaloso