బూటీ - బూట్ ఇమేజ్‌లు మరియు డ్రైవ్‌లను రూపొందించడానికి ఉపయోగపడుతుంది

కార్యక్రమం సమర్పించారు బూటీ, ఇది ఒక ఆదేశంతో ఏదైనా GNU/Linux పంపిణీని కలిగి ఉన్న బూటబుల్ initrd ఇమేజ్‌లు, ISO ఫైల్‌లు లేదా డ్రైవ్‌లను సృష్టించడానికి మిమ్మల్ని అనుమతిస్తుంది. కోడ్ POSIX షెల్‌లో వ్రాయబడింది మరియు ద్వారా పంపిణీ చేయబడింది GPLv3 కింద లైసెన్స్ పొందింది.

Bootyని ఉపయోగించి బూట్ చేయబడిన అన్ని డిస్ట్రిబ్యూషన్‌లు SHMFS (tmpfs) లేదా SquashFS + ఓవర్‌లే FS, వినియోగదారు ఎంపికను అమలు చేస్తాయి. పంపిణీ ఒకసారి సృష్టించబడుతుంది మరియు బూట్ ప్రక్రియ సమయంలో, రూట్ కోసం స్వచ్ఛమైన tmpfsని ఉపయోగించడానికి మిమ్మల్ని అనుమతించే పారామితులు ఎంచుకోబడతాయి లేదా tmpfsకి రికార్డింగ్ మార్పులతో అతివ్యాప్తి FS + SquashFS కలయిక. డౌన్‌లోడ్ చేయగల డిస్ట్రిబ్యూషన్ కిట్‌ను RAMలోకి ముందే కాపీ చేయడం సాధ్యమవుతుంది, ఇది డిస్ట్రిబ్యూషన్ కిట్‌ను డౌన్‌లోడ్ చేసి మెమరీలోకి కాపీ చేసిన తర్వాత USB డ్రైవ్‌ను డిస్‌కనెక్ట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది.

అన్నింటిలో మొదటిది, Booty దాని స్వంత initrd ఇమేజ్‌ని ఉత్పత్తి చేస్తుంది, ఇది ప్రస్తుత సిస్టమ్ లేదా busybox నుండి స్థానిక యుటిలిటీలను ఉపయోగించవచ్చు. డైరెక్టరీ (chroot)లో ఇన్‌స్టాల్ చేయబడిన మొత్తం పంపిణీ కిట్‌ను initramfsలో చేర్చడం (ప్యాక్) సాధ్యమవుతుంది. మీరు kexec ఉపయోగించి సిస్టమ్‌ను అప్‌గ్రేడ్ చేయవలసి వచ్చినప్పుడు ఇది ఉపయోగకరంగా ఉంటుంది: initrdని కొత్త కెర్నల్‌తో మరియు initrd లోపల కొత్త సిస్టమ్‌తో రీలోడ్ చేయండి.

బూటీ-నిర్దిష్ట initrd చిత్రాన్ని సృష్టిస్తోంది:

mkdir initramfs/
mkinitramfs initramfs/ --output initrd

“gentoo/” డైరెక్టరీ నుండి పంపిణీతో సహా initrd చిత్రాన్ని సృష్టిస్తోంది:

mkdir initramfs/
mkinitramfs initramfs/ --ఓవర్లే gentoo/ --cpio --output initrd

దీని తర్వాత ఈ initrd చిత్రం లోడ్ చేయడానికి పూర్తిగా సిద్ధంగా ఉంది, ఉదాహరణకు, PXE ద్వారా లేదా kexec ద్వారా.

తరువాత, బూటీ "ఓవర్‌లేస్"గా పేర్కొన్న సిస్టమ్‌తో చిత్రాలను రూపొందిస్తుంది. ఉదాహరణకు, మీరు ఒక ప్రత్యేక డైరెక్టరీలో షరతులతో కూడిన Gentooని ఇన్‌స్టాల్ చేయవచ్చు (ఆర్కైవ్‌ను అన్‌ప్యాక్ చేయవచ్చు), దీని తర్వాత ఈ సిస్టమ్‌తో కూడిన cpio ఆర్కైవ్ లేదా SquashFS చిత్రం Bootyని ఉపయోగించి రూపొందించబడుతుంది. మీరు పంపిణీని ప్రత్యేక డైరెక్టరీలో కూడా కాన్ఫిగర్ చేయవచ్చు మరియు మీ వ్యక్తిగత సెట్టింగ్‌లను మరొక డైరెక్టరీకి కాపీ చేయవచ్చు. ఈ "పొరలు" అన్నీ ఒకదానిపై ఒకటి వరుసగా లోడ్ చేయబడతాయి మరియు ఒకే పని వ్యవస్థను సృష్టిస్తాయి.

mkdir initramfs/
mkinitramfs initramfs/ --overlay gentoo/ --overlay settings/ --overlay documents/ --squashfs --output initrd

అంతిమంగా, పై సిస్టమ్‌ను ఇమేజ్‌ల నుండి ఇన్‌స్టాల్ చేయడం ద్వారా బూటబుల్ ISO ఇమేజ్‌లు మరియు USB, HDD, SSD మరియు ఇతర డ్రైవ్‌లను సృష్టించడానికి బూటీ మిమ్మల్ని అనుమతిస్తుంది. బూటీ BIOS మరియు UEFI బూట్ సిస్టమ్‌ల సృష్టికి మద్దతు ఇస్తుంది. GRUB2 మరియు SYSLINUX బూట్‌లోడర్‌లకు మద్దతు ఉంది. బూట్‌లోడర్‌లను కలపవచ్చు, ఉదాహరణకు, BIOSలోకి బూట్ చేయడానికి SYSLINUXని మరియు UEFI కోసం GRUB2ని ఉపయోగించండి. ISO ఇమేజ్‌లను సృష్టించడానికి, ఎంచుకోవడానికి మీకు అదనంగా cdrkit (genisoimage) లేదా xorriso (xorrisofs) ప్యాకేజీ అవసరం.

బూట్ కోసం కెర్నల్ (vmlinuz) ను ముందుగానే సిద్ధం చేయడం మాత్రమే అదనపు చర్య. రచయిత (స్పూఫింగ్) "మేక్ defconfig"ని ఉపయోగించమని సిఫార్సు చేస్తున్నారు. చిత్రాన్ని సృష్టించే ముందు, మీరు మొదటి ఉదాహరణలో సృష్టించిన vmlinuz కెర్నల్ మరియు గతంలో సిద్ధం చేసిన “ఖాళీ” initrdని ఉంచడం ద్వారా డైరెక్టరీని సిద్ధం చేయాలి.

mkdir iso/
cp /boot/vmlinuz-* iso/boot/vmlinuz
cp initrd iso/boot/initrd

దీనితో తయారీ పూర్తయింది, మనం ఇప్పుడు ఈ డైరెక్టరీ నుండి ISO ఇమేజ్‌లను సృష్టించవచ్చు.

కింది ఆదేశం ISO ఇమేజ్‌ని సృష్టిస్తుంది, బూటబుల్ కాదు, కేవలం ISO:

mkdir iso/
mkbootisofs iso/ --output archive.iso

బూట్ ఇమేజ్‌ని సృష్టించడానికి, మీరు వరుసగా BIOS కోసం “--legacy-boot” ఎంపికను మరియు UEFI కోసం “--efi” ఎంపికను పేర్కొనాలి; ఎంపికలు grub2 లేదా syslinuxని పరామితులుగా తీసుకుంటాయి; మీరు ఒక ఎంపికను మాత్రమే పేర్కొనవచ్చు ( ఉదాహరణకు, UEFI బూట్ మద్దతు అవసరం లేదు , అది పేర్కొనబడకపోవచ్చు).

mkbootisofs iso/ --legacy-boot syslinux --output boot-biosonly.iso

mkbootisofs iso/ --legacy-boot syslinux --efi grub2 --output boot-bios-uefi.iso

mkbootisofs iso/ --efi grub2 --output boot-uefionly.iso

మరియు మునుపటిలాగే, సిస్టమ్‌తో ఇమేజ్‌లు initrdలో చేర్చబడ్డాయి, మీరు వాటిని ISOలో చేర్చవచ్చు.

mkbootisofs iso/ --overlay gentoo/ --squashfs --legacy-boot grub2 --efi grub2 --output gentoo.iso

ఈ ఆదేశం తర్వాత, బూటబుల్ BIOS/UEFI ISO ఇమేజ్ ఉత్పత్తి చేయబడుతుంది, అది డేటా నిల్వ కోసం tmpfsని ఉపయోగించి ఓవర్‌లే FSని ఉపయోగించి SquashFS ఇమేజ్‌లోకి Gentooని లోడ్ చేస్తుంది. కెర్నల్ తప్పనిసరిగా SquashFSతో అతివ్యాప్తి FS మద్దతుతో నిర్మించబడాలి. అయినప్పటికీ, కొన్ని కారణాల వల్ల ఇది అవసరం లేకుంటే, మీరు cpio ఆర్కైవ్‌గా gentoo/ని ప్యాకేజీ చేయడానికి —squashfsకి బదులుగా “—cpio” ఎంపికను ఉపయోగించవచ్చు, ఈ సందర్భంలో ఆర్కైవ్ బూట్‌లో నేరుగా tmpfsలోకి అన్‌ప్యాక్ చేయబడుతుంది, ప్రధాన విషయం. సిస్టమ్ tmpfsని అన్‌ప్యాక్ చేయడానికి తగినంత RAM ఉంది.

ఆసక్తికరమైన వాస్తవం: “—efi” ఎంపికను ఉపయోగించి సృష్టించబడిన ISO ఇమేజ్ ఫైల్‌లను (cp -r) కాపీ చేయడం ద్వారా FAT32 ఫ్లాష్ డ్రైవ్‌లో అన్‌ప్యాక్ చేయబడితే, అప్పుడు ఫ్లాష్ డ్రైవ్ ఎటువంటి ప్రాథమిక తయారీ లేకుండా UEFI మోడ్‌లో బూట్ అవుతుంది, ప్రత్యేకతలకు ధన్యవాదాలు UEFI- డౌన్‌లోడ్ చేసేవారు.

బూటబుల్ ISOలకు అదనంగా, ఏదైనా బూటబుల్ డ్రైవ్‌ను అదే పారామితులతో సృష్టించవచ్చు: USB, HDD, SSD మరియు మొదలైనవి, మరియు ఈ డ్రైవ్ ఉద్దేశించిన ప్రయోజనం కోసం ఉపయోగించడం కొనసాగించవచ్చు. దీన్ని చేయడానికి, మీరు USB పరికరాన్ని మౌంట్ చేయాలి మరియు దానిపై mkbootisofsని అమలు చేయాలి. “—బూటబుల్” అనే ఒక ఎంపికను జోడించండి, తద్వారా పేర్కొన్న డైరెక్టరీ ఉన్న డ్రైవ్ బూటబుల్ అవుతుంది.

మౌంట్ /dev/sdb1 /mnt
mkbootisofs /mnt --overlay gentoo/ --squashfs --legacy-boot grub2 --efi grub2 --bootable

ఆ తర్వాత, USB పరికరం gentoo/ ఓవర్‌లేతో బూటబుల్ అవుతుంది (పరికరానికి /boot/vmlinuz మరియు /boot/initrd ఫైల్‌లను కాపీ చేయడం మర్చిపోవద్దు).

కొన్ని కారణాల వల్ల డ్రైవ్ /mntలో మౌంట్ చేయబడకపోతే, మరియు /mnt ప్రధాన పరికరం /dev/sdaలో ఉన్నట్లు తేలితే, బూట్‌లోడర్ /dev/sdaకి తిరిగి వ్రాయబడుతుంది. --bootable ఎంపికను పేర్కొనేటప్పుడు మీరు జాగ్రత్తగా ఉండాలి.

బూట్ ప్రక్రియ సమయంలో, Booty బూట్ లోడర్, grub.cfg లేదా syslinux.cfgకి పంపబడే అనేక ఎంపికలకు మద్దతు ఇస్తుంది. డిఫాల్ట్‌గా, ఎటువంటి ఎంపికలు లేకుండా, అన్ని అతివ్యాప్తులు tmpfs (డిఫాల్ట్ ఎంపిక ooty.use-shmfs) లోకి లోడ్ చేయబడతాయి మరియు అన్‌ప్యాక్ చేయబడతాయి. అతివ్యాప్తి FSని ఉపయోగించడానికి తప్పనిసరిగా booty.use-overlayfs ఎంపికను ఉపయోగించాలి. booty.copy-to-ram ఎంపిక మొదట ఓవర్‌లేలను tmpfsకి కాపీ చేస్తుంది, ఆ తర్వాత అది వాటిని కనెక్ట్ చేసి లోడ్ చేస్తుంది. కాపీ చేసిన తర్వాత, USB పరికరం (లేదా ఇతర నిల్వ పరికరం) తీసివేయబడుతుంది.

మూలం: opennet.ru

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