booty - د بوټ عکسونو او ډرایوونو جوړولو لپاره کارول

پروګرام وړاندې کړ غنيمت، کوم چې تاسو ته اجازه درکوي د بوټ وړ initrd عکسونه ، ISO فایلونه یا ډرایو رامینځته کړئ چې د یو کمانډ سره د GNU/Linux توزیع لري. کوډ په POSIX شیل کې لیکل شوی او لخوا توزیع شوی د GPLv3 لاندې جواز لري.

ټولې توزیعونه چې د بوټي په کارولو سره بوټ شوي یا هم SHMFS (tmpfs) یا SquashFS + Overlay FS چلوي، د کارونکي انتخاب. توزیع یوځل رامینځته کیږي ، او د بوټ پروسې په جریان کې ، پیرامیټونه غوره شوي چې تاسو ته اجازه درکوي د ریښې لپاره خالص tmpfs وکاروئ ، یا د Overlay FS + SquashFS ترکیب tmpfs ته د ثبت بدلونونو سره. دا امکان لري چې د ډاونلوډ وړ توزیع کټ په RAM کې دمخه کاپي کړئ ، کوم چې تاسو ته اجازه درکوي د توزیع کټ ډاونلوډ او حافظې ته کاپي کولو وروسته USB ډرایو منحل کړئ.

تر ټولو لومړی، بوټی خپل initrd انځور تولیدوي، کوم چې کولی شي د اوسني سیسټم یا مصروف بکس څخه اصلي اسانتیاوې وکاروي. دا ممکنه ده چې په ډایرکټر (chroot) کې initramfs کې نصب شوي ټول توزیع کټ (بیک) شامل کړئ. دا ګټور کیدی شي کله چې تاسو د kexec په کارولو سره د سیسټم نوي کولو ته اړتیا لرئ: په ساده ډول initrd د نوي کرنل او نوي سیسټم سره initrd کې دننه کړئ.

د بوټي ځانګړي initrd انځور جوړول:

mkdir initramfs/
mkinitramfs initramfs/ --output initrd

د "gentoo/" لارښود څخه د توزیع په شمول د initrd عکس رامینځته کول:

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

وروسته له دې چې دا initrd انځور په بشپړه توګه د بارولو لپاره چمتو دی، د بیلګې په توګه، د PXE له لارې یا د kexec له لارې.

بیا، بوټي د سیسټم سره عکسونه تولیدوي چې د "اوورلیز" په توګه مشخص شوي. د مثال په توګه، تاسو کولی شئ په جلا ډایرکټر کې یو مشروط جینټو نصب کړئ (آرشیف خلاص کړئ) ، له هغې وروسته به د دې سیسټم سره د Cpio آرشیف یا SquashFS عکس د بوټي په کارولو سره رامینځته شي. تاسو کولی شئ توزیع په جلا لارښود کې هم تنظیم کړئ ، او خپل شخصي تنظیمات بل لارښود ته کاپي کړئ. دا ټول "پرتونه" به په ترتیب سره د یو بل په سر کې بار شي او یو واحد کاري سیسټم رامینځته کړي.

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

په نهایت کې ، بوټي تاسو ته اجازه درکوي د عکسونو څخه پورتني سیسټم نصبولو سره د بوټ وړ ISO عکسونه او USB ، HDD ، SSD او نور ډرایو رامینځته کړئ. غنيمت د BIOS او UEFI بوټ سیسټمونو رامینځته کولو ملاتړ کوي. GRUB2 او SYSLINUX بوټلوډر ملاتړ کیږي. بوټلوډرونه یوځای کیدی شي، د بیلګې په توګه، BIOS ته د بوټ کولو لپاره SYSLINUX وکاروئ، او GRUB2 د UEFI لپاره. د ISO انځورونو جوړولو لپاره، تاسو به د cdrkit (genisoimage) یا xorriso (xorrisofs) کڅوړې ته هم اړتیا ولرئ، چې له دې څخه غوره کړئ.

یوازینی اضافي عمل ته اړتیا ده چې مخکې له مخکې د بوټ لپاره کرنل (vmlinuz) چمتو کړئ. لیکوال (Spoofing) د "make defconfig" کارولو وړاندیز کوي. د انځور جوړولو دمخه، تاسو اړتیا لرئ چې د vmlinuz kernel په ځای کولو سره لارښود چمتو کړئ او مخکې چمتو شوي "خالي" 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 عکس به رامینځته شي چې Gentoo د SquashFS عکس کې د Overlay FS په کارولو سره باروي ، د ډیټا ذخیره کولو لپاره tmpfs کاروي. کرنل باید د SquashFS سره د Overlay FS ملاتړ سره جوړ شي. که څه هم، که د کوم دلیل لپاره دا اړتیا نه وي، تاسو کولی شئ د gento/ د cpio آرشیف په توګه بسته کولو لپاره د -squashfs پرځای "—cpio" اختیار وکاروئ، په دې حالت کې آرشیف به په مستقیم ډول په tmpfs کې د بوټ په توګه خلاص شي، اصلي شی. دا چې د سیسټم خلاصولو لپاره tmpfs کافي رام درلود.

په زړه پورې حقیقت: که چیرې د "—efi" اختیار په کارولو سره رامینځته شوی ISO عکس په ساده ډول د فایلونو (cp -r) کاپي کولو سره په FAT32 فلش ډرایو کې خلاص شي ، نو فلش ډرایو به پرته له کوم لومړني چمتووالي څخه UEFI حالت کې بوټ شي ، د ځانګړتیاو څخه مننه د UEFI- ډاونلوډرانو څخه.

د بوټ وړ ISOs سربیره ، هر بوټ وړ وړ ډرایو د ورته پیرامیټونو سره رامینځته کیدی شي: USB ، HDD ، SSD ، او داسې نور ، او دا ډرایو کولی شي د خپل ټاکل شوي هدف لپاره کارولو ته دوام ورکړي. د دې کولو لپاره ، تاسو اړتیا لرئ د مثال په توګه یو USB وسیله نصب کړئ او په هغې باندې mkbootisofs چل کړئ. یوازې یو اختیار اضافه کړئ "—بوټ ایبل" نو هغه ډرایو چې ټاکل شوې لارښود پکې موقعیت لري د بوټ وړ شي.

mount /dev/sdb1 /mnt
mkbootisofs /mnt --overlay gentoo/ --squashfs --legacy-boot grub2 --efi grub2 --bootable

له هغې وروسته، د USB وسیله به د gentoo/ overlay سره د بوټ وړ شي (دا هیر مه کوئ چې وسیله ته /boot/vmlinuz او /boot/initrd فایلونه کاپي کړئ).

که د کوم دلیل لپاره ډرایو په /mnt کې نه و پورته شوی، او دا معلومه شوه چې /mnt په اصلي وسیله /dev/sda کې موقعیت لري، نو بوټلوډر به /dev/sda ته بیا لیکل کیږي. تاسو باید محتاط اوسئ کله چې د --bootable اختیار مشخص کړئ.

د بوټ پروسې په جریان کې، بوټی د یو شمیر انتخابونو ملاتړ کوي چې د بوټ لوډر، grub.cfg یا syslinux.cfg ته لیږدول کیدی شي. په ډیفالټ ډول، پرته له کوم اختیار څخه، ټول پوښونه په tmpfs کې بار شوي او پاک شوي دي (د ډیفالټ اختیار ooty.use-shmfs). د Overlay FS کارولو لپاره د booty.use-overlayfs اختیار باید وکارول شي. د booty.copy-to-ram اختیار لومړی tmpfs ته کاپي کوي، وروسته له هغه چې دا یوازې دوی سره نښلوي او باروي. یوځل چې کاپي شي ، د USB وسیله (یا د ذخیره کولو نور وسیله) لرې کیدی شي.

سرچینه: opennet.ru

Add a comment