బూట్‌స్ట్రాప్ v1.2 చిత్రాలను సృష్టిస్తోంది


బూట్‌స్ట్రాప్ v1.2 చిత్రాలను సృష్టిస్తోంది

తరువాత కేవలం ఒక నెల నెమ్మదిగా అభివృద్ధి చెందిన తర్వాత, బూబ్‌స్ట్రాప్ v1.2 విడుదల చేయబడింది - బూట్ ఇమేజ్‌లు మరియు డ్రైవ్‌లను సృష్టించడం కోసం POSIX షెల్‌పై సాధనాల సమితి.

బూబ్‌స్ట్రాప్ మిమ్మల్ని కేవలం ఒక కమాండ్ చేయడానికి అనుమతిస్తుంది:

  • ఏదైనా GNU/Linux పంపిణీతో సహా initramfs చిత్రాన్ని సృష్టించండి.
  • ఏదైనా GNU/Linux పంపిణీతో బూటబుల్ ISO ఇమేజ్‌లను సృష్టించండి.
  • ఏదైనా GNU/Linux పంపిణీతో బూటబుల్ USB, HDD, SSD డ్రైవ్‌లను సృష్టించండి.

విశేషమేమిటంటే GNU/Linux లోడ్ చేసిన తర్వాత పూర్తిగా స్వచ్ఛమైన tmpfsలో లేదా ఓవర్‌లే FS మరియు స్క్వాష్‌ఎఫ్‌ఎస్ ఇమేజ్‌లను ఉపయోగించి మీ ఎంపికలో పని చేస్తుంది. మీరు ఏదైనా GNU/Linux పంపిణీని డైరెక్టరీలో ఇన్‌స్టాల్ చేసి, అవసరమైన అన్ని సెట్టింగ్‌లను (బహుశా ప్రత్యేక డైరెక్టరీలో) చేయండి, ఆ తర్వాత మీరు కేవలం ఒక ఆదేశంతో బూట్ పరికరాన్ని సృష్టించవచ్చు, అది ISO ఇమేజ్, USB, HDD, SSD డ్రైవ్, లేదా మీరు సిస్టమ్‌తో initrd చిత్రాన్ని సృష్టించవచ్చు. సిస్టమ్ ఎల్లప్పుడూ ఒకే స్థితిలో ఉంటుంది మరియు విచ్ఛిన్నం అయినప్పుడు, మీరు ఒక రీసెట్ బటన్‌ను నొక్కడం ద్వారా దాని అసలు స్థితికి తిరిగి రావచ్చు. మీరు సిస్టమ్‌ను మరొక హోస్ట్‌కి బదిలీ చేయాలనుకుంటున్నారా లేదా ఇప్పటికే ఉన్న కంటైనర్ నుండి సిస్టమ్‌ను సృష్టించాలనుకుంటున్నారా? బూబ్‌స్ట్రాప్ దీన్ని చేస్తుంది.

ప్రధాన మార్పులలో:

  • ఇప్పటికే ఉన్న grub2కి అదనంగా syslinux బూట్‌లోడర్‌కు మద్దతు జోడించబడింది. మీరు ఇప్పుడు వరుసగా --legacy-boot syslinux మరియు --efi grub2 ఎంపికలతో బూట్ పరికరం లేదా ISO ఇమేజ్‌ని సృష్టించేటప్పుడు grub2, syslinux లేదా రెండింటినీ ఉపయోగించడాన్ని ఎంచుకోవచ్చు మరియు డౌన్‌లోడ్ ISOకి ఏ మోడ్‌లకు మద్దతు ఇస్తుందో కూడా మీరు ఎంచుకోవచ్చు. చిత్రం.
  • --బూటబుల్ ఎంపిక జోడించబడింది, ఇది ఏదైనా బ్లాక్ పరికరాన్ని బూటబుల్ చేస్తుంది. ISO ఇమేజ్‌లను సృష్టించడానికి, --iso-9660 ఎంపికను తప్పనిసరిగా ఉపయోగించాలి.
  • కెర్నల్ బూట్ ఎంపికలు boobs.use-shmfs అన్ని అతివ్యాప్తుల యొక్క కంటెంట్‌లను tmpfsకి కాపీ చేయడానికి, boobs.use-overlayfsని ఓవర్‌లే FSని ఉపయోగించి బూట్ చేయడానికి, boobs.search-rootfsని సిస్టమ్‌తో ఒక మూలాన్ని ఎంచుకోవడానికి జోడించబడింది, boobs.copy-to-ram సిస్టమ్‌ను మెమరీలోకి కాపీ చేసి, ఆపై పరికరాన్ని ఆపివేయడానికి.
  • బూబ్‌స్ట్రాప్ పని చేయడానికి అవసరమైన ఏకైక డిపెండెన్సీ cpio. మిగిలిన డిపెండెన్సీలు ఐచ్ఛికం: grub2, syslinux - ఎంచుకోవడానికి బూటబుల్ మీడియా, cdrkit లేదా xorrisoని సృష్టించడానికి అవసరం - SquashFSని సృష్టించడానికి ISO, squashfs-టూల్స్ సృష్టించడానికి, కానీ దానికి బదులుగా -cpio ఎంపికను ఉపయోగించకుండా మిమ్మల్ని ఏదీ నిరోధించదు. మీ పంపిణీని ఆర్కైవ్‌లో ప్యాక్ చేయడానికి squashfs. busybox ఇన్‌స్టాల్ చేయబడితే మాత్రమే ఉపయోగించబడుతుంది, కానీ లేకపోతే, మీ సిస్టమ్ నుండి అవసరమైన అన్ని యుటిలిటీలు కాపీ చేయబడతాయి. అందువలన, బూబ్స్ట్రాప్ దాదాపు ప్రతిచోటా పని చేయడానికి హామీ ఇవ్వబడుతుంది.

ఉదాహరణకు, కింది ఆదేశం SquashFS ఇమేజ్‌గా ప్యాక్ చేయబడిన gentoo-chroot/ సిస్టమ్‌తో సహా initrd ఇమేజ్‌ని సృష్టిస్తుంది, ఇది initrd లోడ్ అయిన తర్వాత విజయవంతంగా బూట్ అవుతుంది. SquashFSతో కలిపి ఓవర్‌లే FSని ఉపయోగించడానికి, మీరు తప్పనిసరిగా boobs.use-overlayfs కెర్నల్ ఎంపికను పాస్ చేయాలి, లేకుంటే సిస్టమ్ tmpfsలోకి అన్‌ప్యాక్ చేయబడుతుందని నేను మీకు గుర్తు చేస్తున్నాను. అన్ని అదనపు సెట్టింగ్‌లను ప్రత్యేక డైరెక్టరీలో చేయవచ్చు, ఉదాహరణకు gentoo-settings/

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

మీరు సిస్టమ్‌ను త్వరగా అమలు చేయవలసి వచ్చినప్పుడు, ఉదాహరణకు, PXE ద్వారా లేదా లోడ్ చేయబడిన సిస్టమ్‌లో kexec -l /boot/vmlinuz-* —initrd=./initrd కమాండ్‌ని ఉపయోగించి initrdకి మారినప్పుడు లోపల సిస్టమ్‌తో కూడిన initrd ఇమేజ్ సౌకర్యవంతంగా ఉంటుంది. && kexec -e, బాగా లేదా, QEMU వర్చువల్ మిషన్ ఇంటర్‌ఫేస్‌లో ఉండటం (బహుశా Proxmox కూడా), మూడు IPXE ఆదేశాలను ఉపయోగించి రిమోట్ సోర్స్ నుండి బూట్ చేయండి: కెర్నల్ http://[...]/vmlinuz, initrd http://[ ...]/initrd, boot. మీరు చూడగలిగినట్లుగా, మీ సిస్టమ్ లోపల ఉన్న సాధారణ initrd కూడా చాలా ఉపయోగాలు కలిగి ఉంది.

బూటబుల్ డ్రైవ్‌లు మరియు ఇమేజ్‌లను సృష్టించడానికి, mkbootisofs కమాండ్ ఉపయోగించబడుతుంది, ఉదాహరణకు, -iso-9660 ఐచ్చికంతో ISO ఇమేజ్‌ని సృష్టించడం అంటే Legacy-mode (BIOS)లోకి బూట్ చేయడానికి syslinux మరియు EFI-లోకి బూట్ చేయడానికి grub2ని ఉపయోగించడం. మోడ్ (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
--ఓవర్లే gentoo-chroot/ --overlay gentoo-settings/ --squashfs

మీరు బూట్ మోడ్‌లలో ఒకదానిని పేర్కొనవచ్చు లేదా వాటిని పూర్తిగా పేర్కొనకూడదు, సంబంధిత ISO ఇమేజ్ విజయవంతంగా సృష్టించబడుతుంది.

ఏదైనా డ్రైవ్‌లో ఇన్‌స్టాలేషన్ మరియు దాని నుండి తదుపరి బూటింగ్ --bootable ఎంపికను ఉపయోగించి నిర్వహించబడుతుంది. మీరు డ్రైవ్‌లో మీరే (fdisk) విభజనలను సృష్టించాలి మరియు వాటిని (mkdosfs, mke2fs, మొదలైనవి) ఫార్మాట్ చేయాలి, ఆపై పరికరాన్ని డైరెక్టరీలోకి మౌంట్ చేయాలి.

# మౌంట్ /dev/sdb1 /mnt/drive/
# mkbootisofs /mnt/drive/ --bootable --legacy-boot grub2 --efi grub2
--ఓవర్లే gentoo-chroot/ --overlay gentoo-settings/ --squashfs

జాగ్రత్త! --bootable ఐచ్ఛికం డైరెక్టరీ ఏ బ్లాక్ పరికరం నుండి మౌంట్ చేయబడిందో నిర్ణయిస్తుంది మరియు ఈ పరికరంలో బూట్‌లోడర్‌ను ఇన్‌స్టాల్ చేస్తుంది. మీరు పరికరాన్ని మౌంట్ చేయడం మర్చిపోయినా లేదా పొరపాటుగా ఉన్న డైరెక్టరీని పేర్కొనినట్లయితే, ఉదాహరణకు, /dev/sdaలో, /dev/sdaలోని బూట్‌లోడర్ తదనుగుణంగా భర్తీ చేయబడుతుంది. --బూటబుల్‌ని జాగ్రత్తగా ఉపయోగించండి.

ఏదైనా GNU/Linux సిస్టమ్‌ను ఇన్‌స్టాల్ చేయడం కేవలం ఒక ఆదేశానికి తగ్గించబడుతుంది. ఏదైనా HDD, SSD మొదలైన వాటిపై ఇన్‌స్టాలేషన్ చేయవచ్చు. ఇది ఇప్పటికీ ఓవర్‌లే FS / స్క్వాష్‌ఎఫ్‌ఎస్ నుండి నడుస్తున్న సిస్టమ్ లేదా పూర్తిగా tmpfs లోకి లోడ్ అవుతుందని గుర్తుంచుకోవడం విలువ.

ఇతర విషయాలతోపాటు, బూబ్‌స్ట్రాప్ అనేక ఆసక్తికరమైన లక్షణాలను మరియు అదనపు సామర్థ్యాలను కలిగి ఉంది!

ఉదాహరణకు, మీరు mkinitramfs `mktemp -d` > /boot/initrd కమాండ్‌తో యాజమాన్య బూబ్‌స్ట్రాప్ initrdని సృష్టించవచ్చు మరియు ఈ initrdతో మీ సిస్టమ్‌లోకి బూట్ చేయవచ్చు, కెర్నల్ ఎంపికలు boobs.use-overlayfs boobs.search-rootfs=/devని పేర్కొంటాయి. /sda1. ఈ సందర్భంలో, మీ హోమ్ సిస్టమ్ ఇన్‌స్టాల్ చేయబడిన /dev/sda1, చదవడానికి-మాత్రమే అతివ్యాప్తి FS లేయర్‌గా కనెక్ట్ చేయబడుతుంది మరియు మీరు చేసే అన్ని మార్పులు తాత్కాలికంగా tmpfsకి మాత్రమే వ్రాయబడతాయి. మీరు boobs.copy-to-ram ఎంపికను జోడించవచ్చు, ఆపై మీ మొత్తం సిస్టమ్ RAMకి కాపీ చేయబడుతుంది మరియు హార్డ్ డ్రైవ్ కంప్యూటర్ నుండి డిస్‌కనెక్ట్ చేయబడుతుంది. మీరు ఏదైనా విచ్ఛిన్నం చేయవలసి వచ్చినప్పుడు అనుకూలమైనది మరియు రీబూట్ చేయడం ద్వారా మీరు మార్పులను వెనక్కి తీసుకోవచ్చు. 🙂

మీరు ఇప్పటికీ సిస్టమ్‌లోని అన్ని మార్పులను సేవ్ చేయవలసి వస్తే ఏమి చేయాలి? ఉదాహరణకు, మీరు సాఫ్ట్‌వేర్ లేదా మరేదైనా ఇన్‌స్టాల్ చేసారు. స్వచ్ఛమైన tmpfsలో పని చేస్తున్నప్పుడు, ఇది దురదృష్టవశాత్తు అసాధ్యం, కానీ మీరు అతివ్యాప్తి FSని ఉపయోగించి బూట్ చేస్తే, సిస్టమ్‌లో సంభవించే అన్ని మార్పులు ప్రత్యేక tmpfs డైరెక్టరీలో సేవ్ చేయబడతాయి: /mnt/overlayfs/rootfs-changes! వాడుక దృశ్యం చాలా సులభం. మీరు USB పరికరం నుండి మీ సిస్టమ్‌లోకి బూట్ చేసారు, కొంత పని చేసారు మరియు మార్చబడిన ప్రతిదాన్ని సేవ్ చేయాలనుకున్నారు, ఆపై cpio ఆర్కైవ్‌ని సృష్టించి, అదే USB పరికరంలో ఇక్కడ ఉంచండి.

# cd /mnt/overlayfs/rootfs-మార్పులు
# కనుగొనండి. -ప్రింట్0 | cpio --create --format "newc" --null --quiet > /mnt/drive/rootfs-changes.cpio
# cd $OLDPWD

మీరు ఆర్కైవ్‌ను ఇతర SquashFS మరియు cpio “లేయర్‌లు” పక్కన ఉంచవచ్చు, తర్వాత లోడ్ అయిన తర్వాత ఆర్కైవ్ మరొక రీడ్-ఓన్లీ లేయర్‌గా కనెక్ట్ చేయబడుతుంది. మార్పులతో పని చేయడం కొనసాగించడానికి, అప్‌లోడ్ ఎంపిక boobs.rootfs-changes=/rootfs-changes.cpioని ఉపయోగించండి. boobs.rootfs-changes ఎంపిక మార్పు యాక్సెస్‌తో పేర్కొన్న లేయర్‌ను ప్రారంభిస్తుంది. లేయర్ బ్లాక్ పరికరం కావచ్చు, ఉదాహరణకు మీరు /dev/sdb1ని పేర్కొనవచ్చు, ఆపై అతివ్యాప్తి FSలో చేసిన అన్ని మార్పులు కేవలం /dev/sdb1కి సేవ్ చేయబడతాయి.

బూబ్‌స్ట్రాప్, విస్తృత అవకాశాలు అందుబాటులో ఉన్నప్పటికీ, ఇంకా అభివృద్ధి దశలోనే ఉంది, మీ అన్ని వ్యాఖ్యలు మరియు సూచనలు పరిగణనలోకి తీసుకోబడతాయి!

మూలం: linux.org.ru

ఒక వ్యాఖ్యను జోడించండి