راتلونکی لا دمخه دلته دی یا مستقیم په براوزر کې کوډ کوي

زه به تاسو ته د یو مسخره حالت په اړه ووایم چې زما سره پیښ شوي، او څنګه د یوې مشهورې پروژې لپاره مرسته کوونکی شئ.

ډیر وخت دمخه زه د یوې مفکورې سره مینځل کیدم: د UEFI څخه مستقیم لینکس بوټ کول ...
دا نظر نوی نه دی او په دې اړه یو شمیر لارښودونه شتون لري. تاسو کولی شئ یو له دوی څخه وګورئ دلته

په حقیقت کې، د دې مسلې د حل لپاره زما د اوږدې مودې هڅې په بشپړه توګه رسمي شوې پریکړه. حل خورا کار کوي او زه دا زما د کور ځینې ماشینونو کې کاروم. دا حل په لږ تفصیل سره تشریح شوی. دلته.

د UEFI-Boot جوهر دا دی چې د ESP (EFI سیسټم برخې) برخه د /boot لارښود سره یوځای کیږي. هغوی. ټول دانه او بوټسټریپ عکسونه (initrd) په ورته برخه کې موقعیت لري له کوم څخه چې UEFI کولی شي د اجرا وړ فایلونه لانچ کړي او په ځانګړي توګه د سیسټم بوټ لوډر لانچ کړي. مګر د لینکس کرنل پخپله په ډیری توزیعونو کې لا دمخه د UEFISTUB اختیار سره راټول شوی ، کوم چې پخپله کرنل ته اجازه ورکوي چې د UEFI څخه پیل شي.

دا حل یو ناخوښه شیبه لري - د ESP برخه په FAT32 کې فارمیټ شوې ، په کوم کې چې د سختو لینکونو رامینځته کول ناممکن دي (کوم چې سیسټم په منظم ډول رامینځته کوي کله چې initrd تازه کوي). او پدې اړه په ځانګړي ډول جرمي هیڅ شتون نلري ، مګر د سیسټم اخطارونو لیدل کله چې د کرنل اجزاو تازه کول خورا خوندور ندي ...

بله لاره هم شته.

د UEFI بوټ مدیر (هغه یو چیرې چې تاسو د OS بوټلوډر راجسټر کولو ته اړتیا لرئ) کولی شي د بوټلوډر/لینکس کرنل سربیره ، ډرایورونه هم بار کړي. نو تاسو کولی شئ د فایل سیسټم لپاره ډرایور پورته کړئ چیرې چې تاسو / بوټ لرئ او د UEFI په کارولو سره مستقیم له هغه ځای څخه کرنل بار کړئ. ډرایور، البته، باید د ESP برخې کې ځای پرځای شي. دا تقریبا هغه څه دي چې بوټلوډرونه لکه GRUB کوي. مګر ځانګړتیا دا ده چې ټول په مکرر ډول کارول شوي GRUB افعال لا دمخه په UEFI کې دي. په دقیق ډول د دې ډاونلوډ مدیر کې. او حتی ډیر ستړي کیدو لپاره ، د UEFI بوټ مدیر په ځینو مسلو کې حتی ډیر ظرفیتونه لري.

داسې ښکاري چې دا یو ښکلی حل وي، مګر یو "BUT" شتون لري (یا بلکه، دا و، مګر وروسته یې نور). حقیقت دا دی چې د UEFI ډرایور سیسټم خورا ساده دی. د فایل سیسټم نصبولو یا د ځانګړي وسیلې سره ډرایور شریکولو په څیر هیڅ شی شتون نلري. د دودیز نوم نقشې سره د سیسټم کال شتون لري، کوم چې هر موټر چلوونکی په بدل کې اخلي او هڅه کوي چې دا د ټولو سره شریک کړي، لږترلږه مناسب وسایل. او که چیرې ډرایور وکولی شي وسیله غوره کړي، نو بیا نقشه جوړه شوې - د نښلولو ریکارډ. دا په سمه توګه دا دی چې څنګه نوی بار شوی ډرایور باید د نورو ټولو سره په عام ډنډ کې پیل شي. او ټول هغه څه چې تاسو ورته اړتیا لرئ د ډرایور بوټ ریکارډ کې 1 ته یو بټ (LOAD_OPTION_FORCE_RECONNECT) تنظیم کړئ او UEFI به دا د بارولو وروسته دا نړیوال ریمپ ترسره کړي.

خو دا کار دومره اسانه نه دی. د معیاري efibootmgr افادیت (کوم چې د UEFI آفلوډ مدیر تنظیم کولو لپاره کارول کیږي) نه پوهیږي چې څنګه (یا بلکه ، نه پوهیږي چې څنګه) دا بټ تنظیم کړي. ما باید دا په لاسي ډول د یو پیچلي او خطرناک طرزالعمل له لارې نصب کړي.

او یو ځل بیا، د خپلو لاسونو سره یې د ترسره کولو هڅه وکړه، زه نشم کولی دا ودروم او رسمي کړم په GitHub کې مسله د پراختیا کونکو څخه غوښتنه کوي چې دا فیچر اضافه کړي.

څو ورځې تېرې شوې، خو چا زما غوښتنې ته پام ونه کړ. او د لیوالتیا له مخې ما د سرچینې کوډ ته وکتل ... ما دا په ګوته کړه ، او په زنګونونو کې مې وموندله چې دا فیچر څنګه اضافه کړم ... "زما په زنګون" ځکه چې ما ورته هیڅ شی نه دی نصب کړی او سرچینه یې ایډیټ کړې. کوډ مستقیم په براوزر کې.

زه C (د برنامه کولو ژبه) په خورا سطحي ډول پوهیږم ، مګر ما یو نږدې حل (اکثره کاپي پیسټ) رامینځته کړ ... او بیا ما فکر وکړ - لږترلږه زه شاید هلته ډیرې غلطۍ لرم (زما پخوانۍ هڅې چې د بل چا ترمیم کړي د C کوډ د 10th وخت په اړه بشپړ شو) زه به د پل غوښتنه صادر کړم. ښه ډیزاین شوی.

او هلته ټراوس CI د پلچ غوښتنې چیک کولو لپاره وصل شو. او هغه په ​​​​زړه پورې ماته زما ټولې غلطۍ وویل. ښه ، که چیرې پیژندل شوې غلطۍ شتون ولري ، نو د دې حل کولو ته اړتیا نشته: بیا ، په براوزر کې سم ، او په څلورمه هڅه کې کوډ کار وکړ (زما لپاره لاسته راوړنه).

او د دې په څیر ، د براوزر پریښودو پرته ، ما یو خورا ریښتیني پل غوښتنه په یوټیلټي کې فارمیټ کړه چې نږدې په ټولو عصري لینکس توزیعونو کې کارول کیږي.

زه د دې حقیقت له امله حیران وم چې پرته له دې چې واقعیا په ژبه پوه شي، پرته له دې چې هیڅ شی ترتیب کړي (انحصارات د مجلس لپاره یو څو کتابتونونو ته اړتیا لري)، او حتی د کمپیلر چلولو پرته، ما په ساده ډول په بشپړ ډول کار کولو او ګټور خصوصیت "کوډ" کړ. براوزر

په هرصورت، زما غوښتنه د مارچ 19، 2019 راهیسې بې ځوابه پاتې شوه، او ما دمخه د هغې په اړه هیر کړی و.

مګر پرون دا غوښتنه د ماسټر سره اضافه شوه.

نو زما کیسه څه ده؟ او هغه د دې حقیقت په اړه خبرې کوي چې د عصري ټیکنالوژیو په چوکاټ کې، دا معلومه شوه چې اصلي کوډ لا دمخه په براوزر کې لیکل کیدی شي، پرته له دې چې په سیمه ایزه توګه د پراختیایي وسیلو او انحصارونو له مینځه وړل.

سربیره پردې ، زه باید اعتراف وکړم ، دا دمخه د پیژندل شوي (لږترلږه په تنګ حلقو کې) اسانتیاو لپاره زما دوهم پل غوښتنه ده. تیر ځل، زما غوښتنه د SyncThing ویب انٹرفیس کې د ځینو ساحو د ښودلو سمولو په پایله کې زما په لفظي توګه په یوه چاپیریال کې د یوې کرښه سمون پایله وه چې زه یې نه پوهیږم.

یوازې راجستر شوي کاروونکي کولی شي په سروې کې برخه واخلي. ننوزئمهرباني وکړئ

زه باید نور څه ولیکم که نه؟

  • هو

  • ارزښت يې نه لري

294 کاروونکو رایه ورکړه. 138 کاروونکي منع شوي.

سرچینه: www.habr.com

Add a comment