Tá an todhchaí anseo cheana féin nó cód go díreach sa bhrabhsálaí

Inseoidh mé duit faoi chás greannmhar a tharla dom, agus conas a bheith i do rannpháirtí i dtionscadal cáiliúil.

Ní fada ó shin bhí mé ag tinkering le smaoineamh: booting Linux go díreach ó UEFI ...
Níl an smaoineamh nua agus tá roinnt lámhleabhair ar an ábhar seo. Is féidir leat ceann acu a fheiceáil anseo

I ndáiríre, mar thoradh ar mo iarrachtaí le fada an lá chun an cheist seo a réiteach go hiomlán foirmiúil cinneadh. Tá an réiteach ag obair go leor agus úsáidim é ar roinnt de mo mheaisíní baile. Déantar cur síos beagán níos mine ar an réiteach seo. anseo.

Is é croílár UEFI-Boot ná go gcuirtear críochdheighilt ESP (EFI System Partition) le chéile leis an eolaire /boot. Iad siúd. tá gach eithne agus íomhánna bootstrap (initrd) suite ar an deighilt chéanna ónar féidir le UEFI comhaid inrite a sheoladh agus, go háirithe, lódairí tosaithe córais a sheoladh. Ach tá an eithne Linux féin i go leor dáiltí le chéile cheana féin leis an rogha UEFISTUB, rud a ligeann don eithne féin a sheoladh ó UEFI.

Tá nóiméad míthaitneamhach amháin ag an réiteach seo - tá an deighilt ESP formáidithe i FAT32, ar a bhfuil sé dodhéanta naisc chrua a chruthú (a chruthaíonn an córas go rialta agus an initrd á nuashonrú). Agus níl aon rud go háirithe coiriúil faoi seo, ach níl sé an-taitneamhach rabhaidh chórais a fheiceáil agus comhpháirteanna eithne á nuashonrú ...

Tá bealach eile.

Is féidir le bainisteoir tosaithe UEFI (an ceann céanna nuair is gá duit an tosaitheoir OS a chlárú), chomh maith le bootloaders / eithne Linux, tiománaithe a luchtú freisin. Mar sin is féidir leat an tiománaí don chóras comhad a bhfuil / tosaithe agat a luchtú agus an t-eithne a luchtú go díreach as sin ag baint úsáide as UEFI. Ní mór an tiománaí, ar ndóigh, a chur sa dheighilt ESP. Is é seo go garbh cad a dhéanann bootloaders cosúil le GRUB. Ach is é an buaicphointe ná go bhfuil na feidhmeanna GRUB go léir a úsáidtear go minic in UEFI cheana féin. Níos cruinne ina bainisteoir íoslódála. Agus le bheith níos leadránach fós, tá níos mó cumais ag baint le bainisteoir tosaithe UEFI i gcásanna áirithe.

Dealraíonn sé gur réiteach álainn é, ach tá ceann amháin “ACH” (nó in áit, bhí, ach níos mó ar sin níos déanaí). Is é an fírinne go bhfuil córas tiománaí UEFI simplí go leor. Níl a leithéid de rud ann agus córas comhaid a shuiteáil nó tiománaí a nascadh le feiste ar leith. Tá glao córais ann leis an ngnáthainm Map, a thógann gach tiománaí ar a sheal agus a dhéanann iarracht é a nascadh le gach gléas atá oiriúnach ar a laghad. Agus má bhí an tiománaí in ann an gléas a phiocadh suas, cruthaítear mapáil - taifead ceangail. Seo go beacht mar ba cheart an tiománaí nua-luchtaithe a thúsú i gcarn coiteann leis na cinn eile go léir. Agus níl uait ach giota amháin (LOAD_OPTION_FORCE_RECONNECT) a shocrú go 1 i dtaifead tosaithe an tiománaí agus déanfaidh UEFI an athmhapa domhanda seo tar éis é a lódáil.

Ach nach bhfuil sé seo chomh furasta a dhéanamh. Níl a fhios ag an bhfóntas caighdeánach efibootmgr (a úsáidtear chun bainisteoir díluchtaithe UEFI a chumrú) conas (nó in áit sin, ní raibh a fhios conas) an giotán seo a shocrú. Bhí orm é a shuiteáil de láimh trí nós imeachta sách casta agus contúirteach.

Agus arís, tar éis dom iarracht a dhéanamh é a dhéanamh le mo lámha, ní raibh mé in ann é a sheasamh agus foirmiúil eisiúint ar GitHub ag iarraidh ar fhorbróirí an ghné seo a chur leis.

Chuaigh roinnt laethanta thart, ach níor thug aon duine aird ar m'iarratas. Agus as fiosracht, d'fhéach mé ar an gcód foinse ... cód go díreach sa bhrabhsálaí.

Tá aithne agam ar C (an teanga ríomhchlárúcháin) go han-gharbh, ach sceitse mé amach réiteach neas (cóip-ghreamú den chuid is mó)... agus ansin smaoinigh mé - ar a laghad is dócha go bhfuil go leor earráidí agam ansin (m’iarrachtaí san am atá caite a chur in eagar ar cheann duine eile). Críochnaíodh cód C thart ar an 10ú uair) Eiseoidh mé Iarratas Tarraingthe. Bhuel deartha.

Agus ansin Travis CI iompaigh amach a bheith ceangailte a sheiceáil iarratais tarraingt. Agus d'inis sé go dúthrachtach mo bhotúin go léir dom. Bhuel, má tá earráidí ar eolas, ní gá iad a cheartú: arís, díreach sa bhrabhsálaí, agus ar an gceathrú iarracht d'oibrigh an cód (éacht domsa).

Agus díreach mar sin, gan an brabhsálaí a fhágáil, formáidigh mé Iarratas Tarraingthe an-dáiríre isteach i bhfóntas a úsáidtear i mbeagnach gach dáileadh Linux nua-aimseartha.

Chuir sé iontas orm, gan an teanga a bheith ar an eolas i ndáiríre, gan aon rud a bhunú (tá go leor leabharlann ag teastáil ó spleáchais le haghaidh tionóil), agus gan fiú an tiomsaitheoir a rith riamh, rinne mé “códú” ar ghné iomlán oibre agus úsáideach sa brabhsálaí .

Mar sin féin, níor fhreagraíonn m’iarratas ón 19 Márta 2019, agus bhí mé tosaithe ar dearmad a dhéanamh air cheana féin.

Ach inné cuireadh an iarraidh seo le máistir.

Mar sin, cad faoi mo scéal? Agus tá sé ag caint faoin bhfíric, faoi chuimsiú na dteicneolaíochtaí nua-aimseartha, gur féidir cód fíor a scríobh sa bhrabhsálaí cheana féin, gan aon uirlisí forbartha agus spleáchais a úsáid go háitiúil.

Ina theannta sin, ní mór dom a admháil, is é seo mo dhara iarratas tarraingt cheana féin le haghaidh fóntais aitheanta (ar a laghad i gciorcail chaol). An uair dheireanach, ba é an toradh a bhí ar m’iarratas chun taispeáint réimsí áirithe sa chomhéadan gréasáin SyncThing a cheartú ná go ndearna mé eagarthóireacht aon-líne go litriúil i dtimpeallacht nach eol dom ar chor ar bith.

Ní féidir ach le húsáideoirí cláraithe páirt a ghlacadh sa suirbhé. Sínigh isteach, le do thoil.

Ar cheart dom níos mó a scríobh nó nár cheart?

  • yes

  • nach bhfuil sé riachtanach

Vótáil 294 úsáideoir. Staon 138 úsáideoir.

Foinse: will.com

Add a comment