booty - بوٹ امیجز اور ڈرائیوز بنانے کی افادیت

پروگرام پیش کیا۔ مال، جو آپ کو ایک کمانڈ کے ساتھ بوٹ ایبل initrd امیجز، آئی ایس او فائلز یا کسی بھی GNU/Linux ڈسٹری بیوشن پر مشتمل ڈرائیوز بنانے کی اجازت دیتا ہے۔ کوڈ POSIX شیل میں لکھا گیا ہے اور نے بانٹا GPLv3 کے تحت لائسنس یافتہ۔

بوٹی کا استعمال کرتے ہوئے بوٹ کی گئی تمام تقسیمیں یا تو SHMFS (tmpfs) یا SquashFS + Overlay FS، صارف کی پسند چلاتی ہیں۔ تقسیم ایک بار بنتی ہے، اور بوٹ کے عمل کے دوران، پیرامیٹرز کا انتخاب کیا جاتا ہے جو آپ کو جڑ کے لیے خالص tmpfs، یا اوورلے FS + SquashFS کا مجموعہ tmpfs میں ریکارڈنگ تبدیلیوں کے ساتھ استعمال کرنے کی اجازت دیتے ہیں۔ ڈاؤن لوڈ کے قابل ڈسٹری بیوشن کٹ کو RAM میں پہلے سے کاپی کرنا ممکن ہے، جو آپ کو ڈسٹری بیوشن کٹ کو ڈاؤن لوڈ اور میموری میں کاپی کرنے کے بعد USB ڈرائیو کو منقطع کرنے کی اجازت دیتا ہے۔

سب سے پہلے، Booty اپنی initrd امیج تیار کرتا ہے، جو موجودہ سسٹم یا busybox سے مقامی یوٹیلیٹیز استعمال کر سکتا ہے۔ ڈائرکٹری (chroot) میں نصب پوری ڈسٹری بیوشن کٹ کو initramfs میں شامل کرنا ممکن ہے۔ یہ اس وقت کارآمد ہو سکتا ہے جب آپ کو kexec کا استعمال کرتے ہوئے کسی سسٹم کو اپ گریڈ کرنے کی ضرورت ہو: initrd کو صرف initrd کے اندر ایک نئے کرنل اور ایک نئے سسٹم کے ساتھ دوبارہ لوڈ کریں۔

بوٹی مخصوص initrd امیج بنانا:

mkdir initramfs/
mkinitramfs initramfs/ --output initrd

"جینٹو/" ڈائرکٹری سے تقسیم سمیت ایک initrd امیج بنانا:

mkdir initramfs/
mkinitramfs initramfs/ --overlay gentoo/ --cpio --output initrd

جس کے بعد یہ initrd امیج مکمل طور پر لوڈنگ کے لیے تیار ہے، مثال کے طور پر PXE کے ذریعے یا kexec کے ذریعے۔

اگلا، بوٹی "اوورلیز" کے بطور مخصوص نظام کے ساتھ تصاویر تیار کرتا ہے۔ مثال کے طور پر، آپ ایک علیحدہ ڈائرکٹری میں ایک مشروط Gentoo کو انسٹال کر سکتے ہیں (آرکائیو کو کھول سکتے ہیں)، جس کے بعد اس سسٹم کے ساتھ ایک cpio آرکائیو یا SquashFS امیج بوٹی کا استعمال کرتے ہوئے تیار کی جائے گی۔ آپ تقسیم کو الگ ڈائرکٹری میں بھی ترتیب دے سکتے ہیں، اور اپنی ذاتی سیٹنگز کو دوسری ڈائرکٹری میں کاپی کر سکتے ہیں۔ یہ تمام "پرتیں" ترتیب وار ایک دوسرے کے اوپر بھری جائیں گی اور ایک واحد ورکنگ سسٹم بنائیں گی۔

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

بالآخر، بوٹی آپ کو مندرجہ بالا سسٹم کو تصاویر سے انسٹال کرکے بوٹ ایبل آئی ایس او امیجز اور USB، HDD، SSD اور دیگر ڈرائیوز بنانے کی اجازت دیتا ہے۔ مال BIOS اور UEFI بوٹ سسٹم کی تخلیق کی حمایت کرتا ہے۔ GRUB2 اور SYSLINUX بوٹ لوڈرز معاون ہیں۔ بوٹ لوڈرز کو ملایا جا سکتا ہے، مثال کے طور پر، BIOS میں بوٹ کرنے کے لیے SYSLINUX اور UEFI کے لیے GRUB2 استعمال کریں۔ آئی ایس او امیجز بنانے کے لیے، آپ کو cdrkit (genisoimage) یا xorriso (xorrisofs) پیکیج کی بھی ضرورت ہوگی، جس میں سے انتخاب کریں۔

صرف اضافی کارروائی کی ضرورت ہے کہ کرنل (vmlinuz) کو بوٹ کے لیے پہلے سے تیار کیا جائے۔ مصنف (Spoofing) "make defconfig" استعمال کرنے کی تجویز کرتا ہے۔ تصویر بنانے سے پہلے، آپ کو vmlinuz kernel اور پہلی مثال میں پہلے سے تیار کردہ "empty" initrd رکھ کر ڈائرکٹری تیار کرنی ہوگی۔

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

اس کے ساتھ تیاری مکمل ہو گئی ہے، اب ہم اس ڈائریکٹری سے آئی ایس او امیجز بنا سکتے ہیں۔

درج ذیل کمانڈ ایک آئی ایس او امیج بنائے گی، بوٹ ایبل نہیں، صرف ایک آئی ایس او:

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 کا استعمال کرتے ہوئے Overlay FS کا استعمال کرتے ہوئے Gentoo کو SquashFS امیج میں لوڈ کرتا ہے۔ دانا کو اسکواش ایف ایس کے ساتھ اوورلے ایف ایس سپورٹ کے ساتھ بنایا جانا چاہیے۔ تاہم، اگر کسی وجہ سے اس کی ضرورت نہیں ہے، تو آپ gentoo/ کو بطور cpio آرکائیو پیک کرنے کے لیے —squashfs کے بجائے "—cpio" آپشن استعمال کر سکتے ہیں، ایسی صورت میں آرکائیو کو بوٹ ہونے پر براہ راست tmpfs میں پیک کیا جائے گا، اہم بات یہ ہے کہ سسٹم کو پیک کھولنے کے لیے tmpfs کے پاس کافی RAM تھی۔

دلچسپ حقیقت: اگر "—efi" آپشن کا استعمال کرتے ہوئے بنائی گئی ISO امیج کو FAT32 فلیش ڈرائیو پر صرف فائلوں (cp -r) کو کاپی کرکے کھول دیا جاتا ہے، تو فلیش ڈرائیو بغیر کسی ابتدائی تیاری کے UEFI موڈ میں بوٹ ہوجائے گی، تفصیلات کی بدولت UEFI- ڈاؤنلوڈرز کا۔

بوٹ ایبل آئی ایس او کے علاوہ، کوئی بھی بوٹ ایبل ڈرائیو انہی پیرامیٹرز کے ساتھ بنائی جا سکتی ہے: USB، HDD، SSD، اور اسی طرح، اور یہ ڈرائیو اپنے مطلوبہ مقصد کے لیے استعمال ہوتی رہ سکتی ہے۔ ایسا کرنے کے لیے، آپ کو ایک USB ڈیوائس کو ماؤنٹ کرنے اور اس پر mkbootisofs چلانے کی ضرورت ہے۔ صرف ایک آپشن "—بوٹ ایبل" شامل کریں تاکہ وہ ڈرائیو جس پر مخصوص ڈائرکٹری واقع ہے وہ بوٹ ایبل بن جائے۔

mount /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 آپشن کی وضاحت کرتے وقت آپ کو محتاط رہنا چاہیے۔

بوٹ کے عمل کے دوران، بوٹی متعدد آپشنز کو سپورٹ کرتا ہے جو بوٹ لوڈر، grub.cfg یا syslinux.cfg کو بھیجے جا سکتے ہیں۔ پہلے سے طے شدہ طور پر، بغیر کسی اختیارات کے، تمام اوورلیز کو tmpfs (پہلے سے طے شدہ آپشن ooty.use-shmfs) میں لوڈ اور پیک کیا جاتا ہے۔ اوورلے ایف ایس استعمال کرنے کے لیے booty.use-overlayfs آپشن استعمال کرنا چاہیے۔ booty.copy-to-ram آپشن پہلے اوورلیز کو tmpfs پر کاپی کرتا ہے، جس کے بعد یہ صرف ان کو جوڑتا ہے اور لوڈ کرتا ہے۔ ایک بار کاپی ہونے کے بعد، USB ڈیوائس (یا دیگر اسٹوریج ڈیوائس) کو ہٹایا جا سکتا ہے۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں