Оянда аллакай дар ин ҷо аст ё бевосита дар браузер рамзгузорӣ мешавад

Ман ба шумо дар бораи вазъияти хандоваре, ки бо ман рӯй дод ва чӣ гуна метавонам саҳмгузор дар як лоиҳаи машҳур шуданро нақл кунам.

Чанде пеш ман бо як идея сарукор доштам: пурбор кардани Linux мустақиман аз UEFI...
Идеяи нав нест ва дар ин мавзӯъ як қатор дастурҳо мавҷуданд. Шумо метавонед яке аз онҳоро бинед дар ин ҷо

Воқеан, кӯшишҳои тӯлонии ман барои ҳалли ин масъала ба таври комил ба расмият дароварда шуданд қарор қабул мекунад. Ҳалли он хеле кор мекунад ва ман онро дар баъзе мошинҳои хонагии худ истифода мекунам. Ин ҳалли каме муфассалтар тасвир шудааст. дар ин ҷо.

Моҳияти UEFI-Boot дар он аст, ки қисмати ESP (EFI System Partition) бо директорияи / boot якҷоя карда шудааст. Онхое. ҳама ядроҳо ва тасвирҳои пурборкунанда (initrd) дар ҳамон қисмат ҷойгир шудаанд, ки UEFI метавонад аз он файлҳои иҷрошавандаро оғоз кунад ва махсусан боркунакҳои пурборкунандаи системаро оғоз кунад. Аммо худи ядрои Linux дар бисёр дистрибюсияҳо аллакай бо опсияи UEFISTUB ҷамъ оварда шудааст, ки имкон медиҳад худи ядро ​​аз UEFI оғоз карда шавад.

Ин ҳалли як лаҳзаи ногувор дорад - қисмати ESP дар FAT32 формат карда шудааст, ки дар он эҷод кардани истинодҳои сахт ғайриимкон аст (ки система ҳангоми навсозии initrd мунтазам эҷод мекунад). Ва дар ин бора ягон чизи махсусан ҷиноятӣ вуҷуд надорад, аммо дидани огоҳиҳои система ҳангоми навсозии ҷузъҳои ядро ​​чандон гуворо нест...

Роҳи дигаре ҳаст.

Менеҷери пурборкунандаи UEFI (ҳамон оне, ки дар он шумо бояд боркунаки OS-ро сабт кунед) метавонад, ба ғайр аз боркунакҳо/ядроҳои Linux, инчунин драйверҳоро бор кунад. Ҳамин тавр, шумо метавонед драйверро барои системаи файлие, ки дар он шумо / боркунӣ доред, бор кунед ва ядроро мустақиман аз он ҷо бо истифода аз UEFI бор кунед. Албатта, ронанда бояд дар қисмати ESP ҷойгир карда шавад. Ин тақрибан он чизест, ки боркунакҳо ба монанди GRUB мекунанд. Аммо барҷаста он аст, ки ҳама функсияҳои зуд-зуд истифодашавандаи GRUB аллакай дар UEFI ҳастанд. Аниқтараш дар мудири зеркашии он. Ва барои боз ҳам дилгиркунандатар, мудири пурборкунандаи UEFI дар баъзе масъалаҳо қобилиятҳои боз ҳам бештар дорад.

Чунин ба назар мерасад, ки ин як ҳалли зебост, аммо як "АММО" вуҷуд дорад (ё дурусттараш, ин буд, аммо бештар дар ин бора баъдтар). Далели он аст, ки системаи драйвери UEFI хеле содда аст. Ҳеҷ чиз ба монанди насб кардани системаи файлӣ ё пайваст кардани драйвер бо дастгоҳи мушаххас вуҷуд надорад. Зангҳои системавӣ бо номи муқаррарии Map мавҷуд аст, ки ҳар як ронандаро бо навбат мегирад ва кӯшиш мекунад, ки онро бо ҳама, ҳадди аққал дастгоҳҳои мувофиқ пайваст кунад. Ва агар ронанда тавонист дастгоҳро гирад, пас харитасозӣ - сабти пайвасткунанда эҷод карда мешавад. Маҳз ҳамин тавр драйвери нав боршуда бояд дар як тӯдаи умумӣ бо ҳама дигарон оғоз карда шавад. Ва танҳо ба шумо лозим аст, ки як бит (LOAD_OPTION_FORCE_RECONNECT) ба 1 дар сабти пурборкунандаи драйвер муқаррар кунед ва UEFI ин харитаи глобалиро пас аз боркунии он иҷро мекунад.

Аммо ин корро кардан чандон осон нест. Утилитаи стандартии efibootmgr (ки барои танзими менеҷери боркунии UEFI истифода мешавад) намедонад, ки чӣ гуна (ё дурусттараш, намедонист) ин битро чӣ гуна танзим кунад. Ман маҷбур шудам, ки онро тавассути як тартиби хеле мураккаб ва хатарнок дастӣ насб кунам.

Ва бори дигар, ки бо дастонам ин корро карданӣ шудам, тоқат карда натавонистам ва ба расмият даромадам масъала дар GitHub аз таҳиягарон хоҳиш мекунад, ки ин хусусиятро илова кунанд.

Чанд руз гузашт, вале ба хохиши ман касе эътибор надод. Ва аз рӯи кунҷкобӣ ман ба коди сарчашма нигоҳ кардам... Ман онро пора кардам ва дар зонуям фаҳмидам, ки чӣ гуна ин хусусиятро илова кардан лозим аст... "Дар зонуям" зеро ман чунин чизеро насб накардаам ва манбаъро таҳрир кардам. рамзи бевосита дар браузер.

Ман C (забони барномасозӣ)-ро хеле рӯякӣ медонам, аммо ман як ҳалли тахминиро таҳия кардам (асосан нусхабардорӣ ва часбонед)... ва баъд фикр кардам - ​​ҳадди аққал ман дар он ҷо хатогиҳои зиёде доштам (кӯшишҳои гузаштаи ман барои таҳрир кардани забони ягон каси дигар) Рамзи C тақрибан 10-ум ба анҷом расид) Ман дархости кашиданро медиҳам. Хуб нашр шуда.

Ва дар он ҷо Травис CI барои тафтиши дархостҳои ҷалб замима карда шуд. Ва ӯ бо ҷидду ҷаҳд тамоми хатоҳои маро ба ман гуфт. Хуб, агар хатогиҳои маълум вуҷуд дошта бошанд, ислоҳ кардани он лозим нест: боз, рост дар браузер ва дар кӯшиши чорум код кор кард (дастовард барои ман).

Ва ҳамин тавр, ман бидуни тарк кардани браузер, ман як дархости воқеии Pull-ро ба утилитае формат кардам, ки тақрибан дар ҳама дистрибюторҳои муосири Linux истифода мешавад.

Ман аз он дар ҳайрат мондам, ки бе воқеан донистани забон, бидуни насб кардани чизе (вобастагӣ барои васлкунӣ чанд китобхонаро талаб мекунад) ва бидуни иҷро кардани компилятор, ман танҳо як хусусияти комилан коркунанда ва муфидро дар "код" кардам". браузер.

Аммо, дархости ман аз 19 марти соли 2019 беҷавоб монд ва ман аллакай онро фаромӯш карда будам.

Аммо дируз ин хохиш ба усто зам шуд.

Пас, достони ман дар бораи чӣ аст? Ва ӯ дар бораи он сухан меронад, ки дар доираи технологияҳои муосир маълум шуд, ки рамзи воқеиро аллакай дар браузер бидуни ҷойгиркунии ягон асбоби рушд ва вобастагии маҳаллӣ навиштан мумкин аст.

Гузашта аз ин, ман бояд иқрор шавам, ки ин дархости дуввуми ман барои хидматҳои маъруф (ҳадди ақал дар доираҳои танг) аст. Дафъаи гузашта, дархости ман дар бораи ислоҳи намоиши баъзе майдонҳо дар веб-интерфейси SyncThing боиси таҳрири аслан як сатри ман дар муҳите шуд, ки ман умуман намедонам.

Танҳо корбарони сабтиномшуда метавонанд дар пурсиш иштирок кунанд. даромад, Лутфан.

Оё ман бояд бештар нависам ё не?

  • ҳа

  • на ба он

294 корбар овоз доданд. 138 корбар худдорӣ карданд.

Манбаъ: will.com

Илова Эзоҳ