අනාගතය දැනටමත් මෙහි ඇත, නැතහොත් බ්‍රවුසරයේ කෙලින්ම කේත කරන්න

මට සිදු වූ හාස්‍යජනක තත්වයක් සහ ප්‍රසිද්ධ ව්‍යාපෘතියකට දායකයෙකු වන්නේ කෙසේද යන්න ගැන මම ඔබට කියමි.

වැඩි කල් යන්නට මත්තෙන් මම අදහසක් සමඟ සිතුවෙමි: UEFI වෙතින් ලිනක්ස් කෙලින්ම ආරම්භ කිරීම...
අදහස අලුත් දෙයක් නොවන අතර මෙම මාතෘකාව පිළිබඳ අත්පොත් ගණනාවක් තිබේ. ඔබට ඒවායින් එකක් දැකිය හැකිය මෙහි

ඇත්ත වශයෙන්ම, මෙම ගැටලුව විසඳීමට මගේ දිගුකාලීන උත්සාහයන් සම්පූර්ණයෙන්ම විධිමත් විය තීන්දුවයි. විසඳුම තරමක් ක්‍රියාත්මක වන අතර මම එය මගේ නිවසේ සමහර යන්ත්‍රවල භාවිතා කරමි. මෙම විසඳුම ටිකක් විස්තරාත්මකව විස්තර කෙරේ. මෙහි.

UEFI-Boot හි සාරය නම් ESP (EFI පද්ධති කොටස) කොටස /boot බහලුම සමඟ ඒකාබද්ධ වීමයි. එම. සියලුම කර්නල් සහ බූට්ස්ට්‍රැප් රූප (initrd) පිහිටා ඇත්තේ UEFI හට ක්‍රියාත්මක කළ හැකි ගොනු දියත් කළ හැකි සහ විශේෂයෙන් පද්ධති ඇරඹුම් කාරක දියත් කළ හැකි එකම කොටසේ ය. නමුත් බොහෝ බෙදාහැරීම් වල Linux කර්නලය දැනටමත් UEFISTUB විකල්පය සමඟ එකලස් කර ඇති අතර එමඟින් කර්නලය UEFI වෙතින් දියත් කිරීමට ඉඩ සලසයි.

මෙම විසඳුමට එක් අප්රසන්න මොහොතක් ඇත - ESP කොටස FAT32 හි සංයුති කර ඇත, එය දෘඪ සබැඳි සෑදිය නොහැක (initrd යාවත්කාලීන කිරීමේදී පද්ධතිය නිතිපතා නිර්මාණය කරයි). මේ සම්බන්ධයෙන් විශේෂයෙන් අපරාධ කිසිවක් නැත, නමුත් කර්නල් සංරචක යාවත්කාලීන කිරීමේදී පද්ධති අනතුරු ඇඟවීම් දැකීම එතරම් ප්‍රසන්න නොවේ ...

තවත් ක්රමයක් තිබේ.

UEFI ඇරඹුම් කළමනාකරුට (ඔබට OS ඇරඹුම් කාරකය ලියාපදිංචි කිරීමට අවශ්‍ය එකම එක) bootloaders/Linux කර්නල් වලට අමතරව ධාවක පූරණය කළ හැක. එබැවින් ඔබට /boot ඇති ගොනු පද්ධතිය සඳහා ධාවක පූරණය කර UEFI භාවිතයෙන් කර්නලය කෙලින්ම පූරණය කළ හැකිය. ධාවකය, ඇත්ත වශයෙන්ම, ESP කොටසෙහි තැබිය යුතුය. GRUB වැනි bootloaders දල වශයෙන් කරන්නේ මෙයයි. නමුත් විශේෂත්වය වන්නේ නිතර භාවිතා කරන සියලුම GRUB ශ්‍රිත දැනටමත් UEFI හි තිබීමයි. වඩාත් නිවැරදිව එහි බාගත කළමණාකරු තුළ. ඊටත් වඩා කම්මැලි වීමට නම්, UEFI ඇරඹුම් කළමනාකරුට සමහර කාරණා සම්බන්ධයෙන් ඊටත් වඩා හැකියාවන් ඇත.

එය ලස්සන විසඳුමක් බව පෙනේ, නමුත් "නමුත්" එකක් තිබේ (නැතහොත් එය එසේ විය, නමුත් පසුව වැඩි විස්තර). කාරණය නම් UEFI ධාවක පද්ධතිය තරමක් සරල ය. ගොනු පද්ධතියක් සවි කිරීම හෝ නිශ්චිත උපාංගයක් සමඟ ධාවකයක් සම්බන්ධ කිරීම වැනි දෙයක් නොමැත. සාම්ප්‍රදායික නම Map සමඟ පද්ධති ඇමතුමක් ඇත, එය එක් එක් රියදුරු මාරුවෙන් මාරුවට ගෙන එය අවම වශයෙන් සුදුසු උපාංග සමඟ සම්බන්ධ කිරීමට උත්සාහ කරයි. රියදුරුට උපාංගය ලබා ගැනීමට හැකි වූයේ නම්, සිතියම්ගත කිරීමක් සාදනු ලැබේ - සම්බන්ධක වාර්තාවක්. අලුතින් පටවන ලද ධාවකය අනෙක් සියල්ලන් සමඟ පොදු ගොඩකින් ආරම්භ කළ යුත්තේ එලෙසයි. ඔබට අවශ්‍ය වන්නේ රියදුරු ඇරඹුම් වාර්තාවේ බිට් එකක් (LOAD_OPTION_FORCE_RECONNECT) 1 ට සැකසීම පමණක් වන අතර UEFI එය පූරණය කිරීමෙන් පසු මෙම ගෝලීය නැවත සකස් කරනු ඇත.

නමුත් මෙය කිරීම එතරම් පහසු නැත. සම්මත efibootmgr උපයෝගීතාව (UEFI offload manager එක වින්‍යාස කිරීමට භාවිතා කරයි) මෙම බිට් එක සකසන්නේ කෙසේදැයි නොදන්නේ (හෝ ඒ වෙනුවට, කෙසේදැයි නොදන්නේ කෙසේද) යන්නයි. තරමක් සංකීර්ණ හා භයානක ක්‍රියා පටිපාටියක් හරහා මට එය අතින් ස්ථාපනය කිරීමට සිදු විය.

නැවත වරක්, එය මගේ දෑතින් කිරීමට උත්සාහ කළ විට, මට එය දරාගත නොහැකි වූ අතර විධිමත් කළෙමි GitHub මත නිකුත් කිරීම මෙම විශේෂාංගය එක් කරන ලෙස සංවර්ධකයන්ගෙන් ඉල්ලා සිටියි.

දින කිහිපයක් ගෙවී ගියද කිසිවකු මගේ ඉල්ලීමට අවධානය යොමු කළේ නැත. ඒවගේම කුතුහලය නිසා මම සෝර්ස් කෝඩ් එක බැලුවා... ඒක දෙබලක දාලා, දණින් වැටිලා මේ විශේෂාංගය එකතු කරන්නේ කොහොමද කියලා.. “මගේ දණහිස් මත” මම එහෙම දෙයක් ඉන්ස්ටෝල් කරේ නැති නිසා මූලාශ්‍රය සංස්කරණය කළා. කේතය කෙලින්ම බ්‍රව්සරයේ.

මම C (ක්‍රමලේඛන භාෂාව) ඉතා මතුපිටින් දනිමි, නමුත් මම ආසන්න විසඳුමක් (බොහෝ විට පිටපත් කිරීම-පේස්ට් කිරීම) සටහනක් තැබුවෙමි ... පසුව මම සිතුවෙමි - අඩුම තරමින් මට එහි බොහෝ වැරදි ඇති (වෙනත් කෙනෙකුගේ සංස්කරණය කිරීමට මගේ අතීත උත්සාහයන්) C කේතය 10 වැනි වරට සම්පූර්ණ කරන ලදී) මම අදින්න ඉල්ලීමක් නිකුත් කරමි. හොඳින් සැලසුම් කර ඇත.

එහිදී ට්‍රැවිස් සීඅයි ඇමිණීමේ ඉල්ලීම් පරීක්ෂා කිරීමට අනුයුක්ත කර ඇත. ඒ වගේම එයා මගේ හැම වැරදි ගැනම උනන්දුවෙන් කිව්වා. හොඳයි, දන්නා දෝෂ තිබේ නම්, එය නිවැරදි කිරීමට අවශ්‍ය නැත: නැවතත්, බ්‍රව්සරයේම, සහ සිව්වන උත්සාහයේදී කේතය ක්‍රියාත්මක විය (මට ජයග්‍රහණයක්).

ඒ හා සමානව, බ්‍රවුසරයෙන් ඉවත් නොවී, මම සියලුම නවීන ලිනක්ස් බෙදාහැරීම්වල පාහේ භාවිතා කරන උපයෝගීතාවයකට ඉතා සැබෑ ඇදීමේ ඉල්ලීමක් සංයුති කළෙමි.

ඇත්ත වශයෙන්ම භාෂාව නොදැන, කිසිවක් සැකසීමෙන් තොරව (යැපීම සඳහා එකලස් කිරීම සඳහා පුස්තකාල කිහිපයක් අවශ්‍ය වේ), සහ කිසි විටෙක සම්පාදකය ක්‍රියාත්මක නොකර, මම සම්පූර්ණයෙන්ම ක්‍රියාත්මක වන සහ ප්‍රයෝජනවත් අංගයක් “කේතගත” කළ බව මම පුදුමයට පත් කළෙමි. බ්රවුසරය .

කෙසේ වෙතත්, මගේ ඉල්ලීම 19 මාර්තු 2019 සිට ප්‍රතිචාර නොදැක්වූ අතර, මම ඒ වන විටත් එය අමතක කිරීමට පටන් ගෙන තිබුණි.

නමුත් ඊයේ මෙම ඉල්ලීම මාස්ටර් වෙත එකතු කරන ලදී.

ඉතින් මගේ කතාව කුමක් ගැනද? ඔහු කතා කරන්නේ නවීන තාක්‍ෂණයේ රාමුව තුළ, දේශීයව කිසිදු සංවර්ධන මෙවලම් සහ පරායත්තතා යෙදවීමකින් තොරව සැබෑ කේතය දැනටමත් බ්‍රවුසරයේ ලිවිය හැකි බව පෙනී ගියේය.

එපමණක් නොව, මම පිළිගත යුතුය, මෙය දැනටමත් සුප්රසිද්ධ (අවම වශයෙන් පටු කවයන් තුළ) උපයෝගිතා සඳහා මගේ දෙවන ඇදීමේ ඉල්ලීමයි. අවසන් වරට, SyncThing වෙබ් අතුරු මුහුණතෙහි සමහර ක්ෂේත්‍ර සංදර්ශණය කිරීම නිවැරදි කිරීමට මා කළ ඉල්ලීමේ ප්‍රතිඵලයක් ලෙස මා කිසිසේත් නොදන්නා පරිසරයක වචනාර්ථයෙන් එක පේළියක සංස්කරණයක් සිදු විය.

සමීක්ෂණයට සහභාගී විය හැක්කේ ලියාපදිංචි පරිශීලකයින්ට පමණි. පුරන්නකරුණාකර.

මම වැඩිපුර ලිවිය යුතුද නැද්ද?

  • ඔව්

  • වටිනවා

පරිශීලකයින් 294 දෙනෙක් ඡන්දය දුන්හ. පරිශීලකයින් 138 දෙනෙක් ඡන්දය දීමෙන් වැළකී සිටියහ.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න