Ke hana nei i nā kiʻi bootstrap v1.2


Ke hana nei i nā kiʻi bootstrap v1.2

Ma hope aku hoʻokahi mahina wale nō Ma hope o ka hoʻomohala lohi, ua hoʻokuʻu ʻia ka boobstrap v1.2 - kahi pūʻulu o nā mea hana ma ka pūpū POSIX no ka hana ʻana i nā kiʻi boot a me nā drive.

Hiki iā Boobstrap ke hana i hoʻokahi kauoha:

  • E hana i kahi kiʻi initramfs, e komo pū me kekahi mahele GNU/Linux i loko.
  • E hana i nā kiʻi ISO bootable me kekahi mahele GNU/Linux.
  • E hana i nā USB bootable, HDD, SSD me ka hoʻoili GNU/Linux.

ʻO ka hiʻohiʻona ma hope o ka hoʻouka ʻana iā GNU/Linux e hana holoʻokoʻa i nā tmpfs maʻemaʻe, a i ʻole ka hoʻohana ʻana i nā kiʻi Overlay FS a me SquashFS, kāu koho. Hoʻokomo ʻoe i kekahi mahele GNU/Linux i loko o kahi papa kuhikuhi, hana i nā hoʻonohonoho pono āpau (ma kahi papa kuhikuhi kaʻawale), a laila hana ʻoe i kahi hāmeʻa boot me hoʻokahi kauoha, he kiʻi ISO, USB, HDD, SSD drive, a i ʻole. hiki iā ʻoe ke hana i kahi kiʻi initrd me ka ʻōnaehana. E mau ana ka ʻōnaehana i ka mokuʻāina hoʻokahi a inā he haki, hiki iā ʻoe ke hoʻi i kona kūlana mua ma ke kaomi ʻana i hoʻokahi pihi Reset. Makemake ʻoe e hoʻololi i ka ʻōnaehana i kahi hoʻokipa ʻē aʻe, a i ʻole e hana i kahi ʻōnaehana mai kahi pahu e kū nei? E hana ʻo Boobstrap.

Ma waena o nā hoʻololi nui:

  • Hoʻohui i ke kākoʻo no ka syslinux bootloader, me ka hoʻohui i ka grub2 i loaʻa. Hiki iā ʻoe ke koho i kēia manawa e hoʻohana i ka grub2, syslinux, a i ʻole nā ​​​​mea ʻelua i ka wā e hana ai i kahi hāmeʻa boot a i ʻole kiʻi ISO me nā koho --legacy-boot syslinux a me --efi grub2 i kēlā me kēia, a hiki iā ʻoe ke koho i nā ʻano mode E kākoʻo ka download i ka ISO kiʻi.
  • Hoʻohui ʻia --bootable koho, ka mea e hiki ai ke hoʻopaʻa ʻia kekahi mea poloka. No ka hana ʻana i nā kiʻi ISO, pono ke hoʻohana ʻia ke koho --iso-9660.
  • Hoʻohui ʻia nā koho boot kernel boobs.use-shmfs e kope i nā ʻike o nā uhi āpau i tmpfs, boobs.use-overlayfs e hoʻohana i ka Overlay FS, boobs.search-rootfs e koho i kahi kumu me ka ʻōnaehana, boobs.copy-to-ram e kope i ka ʻōnaehana i ka hoʻomanaʻo a laila e hoʻopau i ka hāmeʻa.
  • ʻO ka hilinaʻi wale nō i koi ʻia no ka boobstrap e hana ʻo cpio. ʻO ke koena o nā mea hilinaʻi he koho: grub2, syslinux - koi ʻia e hana i ka media bootable, cdrkit a i ʻole xorriso e koho mai - e hana i kahi ISO, squashfs-mea hana e hana ai i SquashFS, akā ʻaʻohe mea e pale iā ʻoe mai ka hoʻohana ʻana i ka koho -cpio ma kahi o - squashfs e pūʻolo i kāu mahele i loko o kahi waihona. E hoʻohana wale ʻia ka busybox inā hoʻokomo ʻia, akā inā ʻaʻole, e kope ʻia nā pono pono āpau mai kāu ʻōnaehana. No laila, hoʻopaʻa ʻia ka boobstrap e hana kokoke i nā wahi āpau.

No ka laʻana, e hana kēia kauoha i kahi kiʻi initrd me kahi gentoo-chroot/ ʻōnaehana i hoʻopaʻa ʻia ma ke ʻano he kiʻi SquashFS, e holo kūleʻa ana ma hope o ka hoʻouka ʻana o ka initrd ponoʻī. E hoʻomanaʻo wau iā ʻoe e hoʻohana i ka Overlay FS i hui pū me SquashFS, pono ʻoe e hele i ka boobs.use-overlayfs kernel koho, i ʻole e wehe ʻia ka ʻōnaehana i nā tmpfs. Hiki ke hana ʻia nā hoʻonohonoho hou aʻe i loko o kahi papa kuhikuhi kaʻawale, no ka laʻana gentoo-settings/

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

He mea maʻalahi ke kiʻi initrd me kahi ʻōnaehana i loko inā pono ʻoe e hoʻonohonoho wikiwiki i kahi ʻōnaehana, no ka laʻana, ma o PXE, a i ʻole ma ka hoʻololi ʻana i ka ʻōnaehana hoʻouka i initrd me ke kauoha kexec -l /boot/vmlinuz-* —initrd=./initrd && kexec -e, maikaʻi a i ʻole, aia ma ka QEMU virtual machine interface (malia paha ʻo Proxmox), e hoʻopaʻa mai kahi kumu mamao me ka hoʻohana ʻana i ʻekolu mau kauoha IPXE: kernel http://[...]/vmlinuz, initrd http://[ ...]/initrd, pahu. E like me kāu e ʻike ai, ʻo kahi initrd maʻamau me kāu ʻōnaehana i loko he nui nā hoʻohana.

No ka hana ʻana i nā drive bootable a me nā kiʻi, hoʻohana ʻia ke kauoha mkbootisofs, no ka laʻana, ʻo ia ka mea e hana ai i kahi kiʻi ISO me ka koho -iso-9660 e like me ka hoʻohana ʻana i ka syslinux e hoʻomaka i ka Legacy-mode (BIOS) a me ka grub2 e hoʻomaka i ka EFI- mode (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-settings/ --squashfs

Hiki iā ʻoe ke kuhikuhi i kekahi o nā ʻano boot, a ʻaʻole i kuhikuhi iā lākou, e hana maikaʻi ʻia ke kiʻi ISO pili.

Hoʻokomo ʻia ka hoʻouka ʻana ma kekahi kaʻa a me ka hoʻouka ʻana mai ia mea me ka hoʻohana ʻana i ke koho --bootable. Pono ʻoe e hana i nā ʻāpana ma ka drive iā ʻoe iho (fdisk) a hoʻohālikelike iā lākou (mkdosfs, mke2fs, etc.), a laila kau i ka hāmeʻa i kahi papa kuhikuhi.

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

Polokalamu ʻO ke koho --bootable e hoʻoholo i ka mea poloka i kau ʻia ai ka papa kuhikuhi a hoʻokomo i ka bootloader ma kēia hāmeʻa. Inā poina ʻoe e kau i ka hāmeʻa a kuhi hewa paha i kahi papa kuhikuhi i loaʻa, no ka laʻana, ma / dev / sda, e kākau ʻia ka bootloader ma / dev / sda e like me ia. E hoʻohana --bootable me ka akahele.

Hoʻemi ʻia ka hoʻokomo ʻana i kekahi ʻōnaehana GNU/Linux i hoʻokahi kauoha. Hiki ke hana i ka hoʻouka ʻana ma kekahi HDD, SSD, a pēlā aku. Pono e hoʻomanaʻo he ʻōnaehana kēia e holo ana mai Overlay FS / SquashFS, a i ʻole e hoʻouka holoʻokoʻa i nā tmpfs, kāu koho.

Ma waena o nā mea ʻē aʻe, loaʻa i ka boobstrap kekahi mau hiʻohiʻona hoihoi a me nā mana hou aʻe!

No ka laʻana, hiki iā ʻoe ke hana i kahi boobstrap initrd proprietary me ke kauoha mkinitramfs `mktemp -d` > /boot/initrd a hoʻokomo i kāu ʻōnaehana me kēia initrd, e kuhikuhi ana i nā koho kernel boobs.use-overlayfs boobs.search-rootfs=/dev /sda1. I kēia hihia, /dev/sda1, kahi i hoʻokomo ʻia ai kāu ʻōnaehana home, e hoʻopili ʻia ma ke ʻano he papa heluhelu-wale Overlay FS, a ʻo nā hoʻololi a pau āu e hana ai e kākau wale ʻia i nā tmpfs. Hiki iā ʻoe ke hoʻohui i ka koho boobs.copy-to-ram a laila e kope ʻia kāu ʻōnaehana holoʻokoʻa i RAM, a hiki ke hoʻopau ʻia ka paʻa paʻa mai ke kamepiula. Maikaʻi i ka wā e pono ai ʻoe e uhaʻi i kekahi mea, a hiki iā ʻoe ke hoʻohuli i nā hoʻololi me ka rebooting. 🙂

Akā pehea inā pono ʻoe e mālama i nā hoʻololi āpau i ka ʻōnaehana? No ka laʻana, ua hoʻokomo ʻoe i ka polokalamu a i ʻole kekahi mea ʻē aʻe. I ka hana ʻana i nā tmpfs maʻemaʻe, ʻaʻole hiki ʻole kēia, akā inā ʻoe e hoʻohana i ka Overlay FS, a laila mālama ʻia nā hoʻololi a pau i loko o ka ʻōnaehana i kahi papa kuhikuhi tmpfs ʻokoʻa: /mnt/overlayfs/rootfs-changes! He maʻalahi loa ke ʻano hoʻohana. Hoʻokomo ʻoe i kāu ʻōnaehana mai kahi kelepona USB, hana i kekahi hana, a makemake e mālama i nā mea a pau i hoʻololi ʻia, a laila hana i kahi waihona cpio a waiho ʻia ma ʻaneʻi, ma ka mea USB like.

# cd /mnt/overlayfs/rootfs-hoʻololi
# loaa . -pai0 | cpio --create --format "newc" --null --quiet > /mnt/drive/rootfs-changes.cpio
# cd $OLDPWD

Hiki iā ʻoe ke kau i ka waihona ma ka ʻaoʻao o nā SquashFS a me cpio "nā papa", a laila ma ka hoʻouka ʻana e hoʻopili ʻia ka waihona ma ke ʻano he papa heluhelu-wale nō. No ka hoʻomau i ka hana me nā loli, e hoʻohana i ka koho hoʻouka boobs.rootfs-changes=/rootfs-changes.cpio. Hiki i ka boobs.rootfs-changes ke koho i ka papa i kuhikuhi ʻia me ke komo hoʻololi. Hiki i ka papa ke lilo i mea poloka, no ka laʻana hiki iā ʻoe ke kuhikuhi / dev / sdb1, a laila e mālama ʻia nā hoʻololi āpau i hana ʻia ma Overlay FS i / dev/sdb1.

ʻO Boobstrap, ʻoiai nā mea hiki ke loaʻa, aia nō i ka pae hoʻomohala, e noʻonoʻo ʻia kāu mau ʻōlelo a me nā manaʻo!

Source: linux.org.ru

Pākuʻi i ka manaʻo hoʻopuka