مستقبل اڳ ۾ ئي هتي آهي يا ڪوڊ سڌو سنئون برائوزر ۾

مان توهان کي هڪ عجيب صورتحال جي باري ۾ ٻڌايان ٿو جيڪو مون سان ٿيو، ۽ ڪيئن هڪ مشهور پروجيڪٽ ۾ مدد ڪندڙ بڻجي.

گهڻو وقت اڳ مان هڪ خيال سان ٽِنڪر ڪري رهيو هو: لينڪس کي سڌو UEFI مان بوٽ ڪرڻ ...
اهو خيال نئون ناهي ۽ هن موضوع تي ڪيترائي دستياب آهن. توهان انهن مان هڪ ڏسي سگهو ٿا هتي

دراصل، هن مسئلي کي حل ڪرڻ لاء منهنجي ڊگهي ڪوشش جي نتيجي ۾ مڪمل طور تي رسمي طور تي حل. حل ڪافي ڪم ڪري رهيو آهي ۽ مان ان کي استعمال ڪريان ٿو منهنجي گهر جي ڪجهه مشينن تي. اهو حل ٿورو وڌيڪ تفصيل سان بيان ڪيو ويو آهي. هتي.

UEFI-Boot جو خلاصو اهو آهي ته ESP (EFI سسٽم ورهاڱي) ورهاڱي کي /boot ڊاريڪٽري سان گڏ ڪيو ويو آهي. اهي. سڀ ڪنيل ۽ بوٽ اسٽريپ تصويرون (initrd) ساڳئي ورهاڱي تي واقع آهن جتان UEFI قابل عمل فائلون لانچ ڪري سگھن ٿيون ۽ خاص طور تي، لانچ سسٽم بوٽ لوڊ ڪندڙ. پر لينڪس ڪنيل پاڻ ڪيترن ئي تقسيم ۾ اڳ ۾ ئي گڏ ڪيو ويو آهي UEFISTUB آپشن، جيڪو خود ڪنيل کي UEFI کان شروع ڪرڻ جي اجازت ڏئي ٿو.

ھن حل ۾ ھڪڙو ناپسنديده لمحو آھي - ESP ورهاڱي کي FAT32 ۾ فارميٽ ڪيو ويو آھي، جنھن تي سخت لنڪس ٺاھڻ ناممڪن آھي (جيڪو سسٽم باقاعده ٺاھي ٿو جڏھن initrd کي اپڊيٽ ڪرڻ). ۽ ان بابت ڪجھ به خاص طور تي مجرمانه نه آهي، پر سسٽم ڊيڄاريندڙن کي ڏسڻ ۾ جڏهن ڪنيل اجزاء کي اپڊيٽ ڪرڻ تمام خوشگوار نه آهي ...

ٻيو طريقو آهي.

UEFI بوٽ مئنيجر (ساڳيو جتي توهان کي OS بوٽ لوڊر کي رجسٽر ڪرڻ جي ضرورت آهي) بوٽ لوڊ ڪندڙ / لينڪس ڪنيلز کان علاوه، ڊرائيور پڻ لوڊ ڪري سگھن ٿا. تنهن ڪري توهان فائيل سسٽم لاءِ ڊرائيور لوڊ ڪري سگهو ٿا جتي توهان وٽ آهي /boot ۽ ڪرنل کي سڌو سنئون اتان کان UEFI استعمال ڪندي لوڊ ڪريو. ڊرائيور، يقينا، ESP ورهاڱي ۾ رکڻ جي ضرورت آهي. اهو لڳ ڀڳ اهو آهي جيڪو بوٽ لوڊ ڪندڙ GRUB وانگر ڪندا آهن. پر نمايان ڳالهه اها آهي ته سڀ اڪثر استعمال ٿيل GRUB افعال اڳ ۾ ئي UEFI ۾ آهن. وڌيڪ صحيح طور تي ان جي ڊائون لوڊ مئنيجر ۾. ۽ اڃا به وڌيڪ بورنگ ٿيڻ لاء، UEFI بوٽ مينيجر ڪجهه معاملن ۾ اڃا به وڌيڪ صلاحيتون آهن.

اهو لڳي ٿو ته هڪ خوبصورت حل آهي، پر اتي هڪ آهي "BUT" (يا بلڪه، اهو هو، پر بعد ۾ وڌيڪ). حقيقت اها آهي ته UEFI ڊرائيور سسٽم بلڪل سادو آهي. فائل سسٽم کي نصب ڪرڻ يا ڪنهن مخصوص ڊوائيس سان ڊرائيور سان لاڳاپيل ڪا شيء ناهي. هتي هڪ سسٽم ڪال آهي جيڪو روايتي نالو نقشو آهي، جيڪو هر ڊرائيور کي موڙ ۾ وٺندو آهي ۽ ان کي سڀني سان لاڳاپيل ڪرڻ جي ڪوشش ڪري ٿو، گهٽ ۾ گهٽ مناسب ڊوائيسز. ۽ جيڪڏھن ڊرائيور ڊوائيس کي کڻڻ جي قابل ٿي ويو، پوء ھڪڙو نقشو ٺاھيو ويو آھي - ھڪڙو ڳنڍڻ وارو رڪارڊ. اهو بلڪل آهي ته نئين لوڊ ٿيل ڊرائيور کي سڀني ٻين سان گڏ هڪ عام هيپ ۾ شروع ڪيو وڃي. ۽ توھان کي بس ضرورت آھي ھڪڙي بٽ (LOAD_OPTION_FORCE_RECONNECT) کي 1 تي ڊرائيور بوٽ رڪارڊ ۾ ۽ UEFI ان کي لوڊ ڪرڻ کان پوءِ ھي گلوبل ريميپ ڪندو.

پر اهو ڪم ايترو آسان ناهي. معياري efibootmgr افاديت (جيڪو UEFI آف لوڊ مئنيجر کي ترتيب ڏيڻ لاءِ استعمال ڪيو ويندو آهي) کي خبر ناهي ته ڪيئن (يا بلڪه، خبر ناهي ته ڪيئن) هن بٽ کي ترتيب ڏيڻ. مون کي ان کي دستي طور تي انسٽال ڪرڻو پيو بلڪه پيچيده ۽ خطرناڪ طريقي سان.

۽ هڪ ڀيرو ٻيهر، پنهنجي هٿن سان ڪرڻ جي ڪوشش ڪئي، مان ان کي برداشت نه ڪري سگهيو ۽ رسمي ڪيو GitHub تي مسئلو ڊولپرز کان پڇڻ لاء هن خصوصيت کي شامل ڪرڻ لاء.

ڪيترائي ڏينهن گذري ويا، پر ڪنهن به منهنجي عرض تي ڌيان نه ڏنو. ۽ تجسس جي ڪري، مون سورس ڪوڊ کي ڏٺو... مون ان کي ڪانٽو ڪيو، ۽ پنهنجي گوڏن تي ويهندو هئس ته هي فيچر ڪيئن شامل ڪجي... ”منهنجي گوڏن تي“ ڇاڪاڻ ته مون اهڙي ڪا شيءِ انسٽال نه ڪئي هئي ۽ ماخذ کي ايڊٽ ڪيو هو. ڪوڊ سڌو سنئون برائوزر ۾.

مان ڄاڻان ٿو C (پروگرامنگ ٻولي) تمام سطحي طور تي، پر مون هڪ اندازي مطابق حل ڪڍيو (اڪثر ڪري ڪاپي پيسٽ)... ۽ پوءِ مون سوچيو - گهٽ ۾ گهٽ مون وٽ شايد ڪافي غلطيون آهن (منهنجي ماضي جي ڪوشش ڪنهن ٻئي جي ايڊٽ ڪرڻ جي سي ڪوڊ 10th وقت جي باري ۾ مڪمل ڪيو ويو) مان هڪ پل جي درخواست جاري ڪندس. خير آفرمل.

۽ اتي ٽريوس سي آءِ ٻاهر نڪتو ته ڇڪڻ جي درخواستن کي چيڪ ڪرڻ لاءِ. ۽ هن ڏاڍي دل سان مون کي منهنجيون سڀ غلطيون ٻڌايون. خير، جيڪڏهن معلوم غلطيون آهن، ان کي درست ڪرڻ جي ڪا ضرورت ناهي: ٻيهر، صحيح برائوزر ۾، ۽ چوٿين ڪوشش تي ڪوڊ ڪم ڪيو (مون لاءِ هڪ ڪاميابي).

۽ بلڪل ائين، برائوزر ڇڏڻ کان سواءِ، مون فارميٽ ڪيو بلڪل حقيقي پل جي درخواست هڪ يوٽيلٽي ۾ جيڪا لڳ ڀڳ سڀني جديد لينڪس ڊويزنن ۾ استعمال ٿئي ٿي.

مون کي ان حقيقت تي حيرت ٿي ته، ٻولي ڄاڻڻ کان سواءِ، ڪنهن به شيءِ کي ترتيب ڏيڻ کان سواءِ (انحصار ڪرڻ لاءِ ڪافي ڪجهه لائبريرين جي ضرورت هوندي آهي اسيمبليءَ لاءِ)، ۽ ڪڏهن به ڪمپائلر کي هلائڻ کان سواءِ، مون صرف ”ڪوڊ“ ڪيو آهي مڪمل طور تي ڪم ڪندڙ ۽ ڪارائتو فيچر. برائوزر

بهرحال، منهنجي درخواست 19 مارچ 2019 کان غير جوابده رهي، ۽ مون اڳ ۾ ئي ان جي باري ۾ وسارڻ شروع ڪيو هو.

پر ڪالهه اها درخواست ماسٽر ۾ شامل ڪئي وئي.

پوءِ منهنجي ڪهاڻي ڪهڙي آهي؟ ۽ هو هن حقيقت جي باري ۾ ڳالهائي رهيو آهي، جديد ٽيڪنالاجي جي فريم ورڪ ۾، اهو ظاهر ٿيو ته حقيقي ڪوڊ اڳ ۾ ئي برائوزر ۾ لکي سگهجي ٿو، بغير ڪنهن به ترقياتي اوزار ۽ انحصار کي مقامي طور تي ترتيب ڏيڻ جي.

ان کان علاوه، مون کي تسليم ڪرڻ گهرجي، هي اڳ ۾ ئي مشهور آهي (گهٽ ۾ گهٽ تنگ حلقن ۾) افاديت لاء منهنجو ٻيو پل درخواست. آخري دفعو، SyncThing ويب انٽرفيس ۾ ڪجهه فيلڊز جي ڊسپلي کي درست ڪرڻ جي منهنجي درخواست جي نتيجي ۾ منهنجي لفظي طور تي هڪ لڪير ۾ تبديلي اهڙي ماحول ۾ ٿي جيڪا مون کي بلڪل به خبر ناهي.

صرف رجسٽرڊ استعمال ڪندڙ سروي ۾ حصو وٺي سگهن ٿا. سائن ان ڪريو، توهان جي مهرباني.

مون کي وڌيڪ لکڻ گهرجي يا نه؟

  • ها

  • ان جي قابل نه آهي

294 صارفين ووٽ ڏنو. 138 استعمال ڪندڙن کي روڪيو ويو.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو