Ọdịnihu adịlarị ebe a ma ọ bụ koodu ozugbo na ihe nchọgharị ahụ

M ga-agwa gị banyere ọnọdụ na-atọ ọchị nke mere m, na otu esi aghọ onye na-enye aka na ọrụ a ma ama.

N'oge na-adịbeghị anya, m na-eji echiche na-atụgharị uche: na-ebuli Linux ozugbo site na UEFI ...
Echiche a abụghị ihe ọhụrụ ma enwere ọtụtụ akwụkwọ ntuziaka na isiokwu a. Ị nwere ike ịhụ otu n'ime ha ebe a

N'ezie, mbọ m ogologo oge gbara iji dozie esemokwu a mere ka a hazie ya kpamkpam ngwọta. Ihe ngwọta na-arụ ọrụ nke ọma ma ana m eji ya na ụfọdụ igwe ụlọ m. A kọwara ngwọta a na ntakịrị nkọwa. ebe a.

Ihe kachasị mkpa nke UEFI-Boot bụ na ejikọta nkebi ESP (EFI System Partition) na akwụkwọ ndekọ / buut. Ndị ahụ. kernels niile na ihe oyiyi bootstrap (initrd) dị n'otu akụkụ nke UEFI nwere ike ịmalite faịlụ ndị nwere ike ime na, karịsịa, malite usoro bootloaders. Mana Linux kernel n'onwe ya n'ọtụtụ nkesa ejirila nhọrọ UEFISTUB achịkọtala ya, nke na-enye ohere ịmalite kernel n'onwe ya site na UEFI.

Ihe ngwọta a nwere otu oge na-adịghị mma - a na-ahazi nkebi ESP na FAT32, nke na-enweghị ike ịmepụta njikọ siri ike (nke usoro ahụ na-emepụta mgbe niile mgbe ị na-emelite initrd). Ọ nweghịkwa ihe ọ bụla gbasara mpụ gbasara nke a, mana ịhụ ịdọ aka ná ntị sistemụ mgbe ị na-emelite akụrụngwa kernel adịghị mma…

E nwere ụzọ ọzọ.

Onye njikwa akpụkpọ ụkwụ UEFI (otu ebe ịchọrọ ịdebanye aha bootloader OS) nwere ike, na mgbakwunye na bootloaders/Linux kernels, na-ebukwa ndị ọkwọ ụgbọala. Yabụ ị nwere ike ibunye onye ọkwọ ụgbọ ala maka sistemụ faịlụ ebe ị nwere / buut wee buo kernel ozugbo site na iji UEFI. Onye ọkwọ ụgbọ ala, n'ezie, kwesịrị itinye ya na nkebi ESP. Nke a bụ ihe ndị bootloaders dị ka GRUB na-eme. Mana isi ihe bụ na ọrụ GRUB niile a na-ejikarị eme ihe adịlarị na UEFI. Kpọmkwem karịa na njikwa nbudata ya. Na ịbụ ihe na-agwụ ike karị, onye njikwa buut UEFI nwere ikike karịa n'okwu ụfọdụ.

O yiri ka ọ bụ ngwọta mara mma, ma e nwere otu "MA" (ma ọ bụ kama, ọ bụ, ma karịa na nke ahụ mechara). Nke bụ eziokwu bụ na UEFI usoro ọkwọ ụgbọala dị nnọọ mfe. Ọ dịghị ihe dị ka ịkwanye sistemụ faịlụ ma ọ bụ ijikọ onye ọkwọ ụgbọ ala na otu ngwaọrụ. Enwere oku sistemu nwere aha a na-akpọ Map, nke na-eburu onye ọkwọ ụgbọ ala ọ bụla n'otu n'otu wee nwaa ijikọ ya na mmadụ niile, ọbụlagodi ngwaọrụ dabara adaba. Ma ọ bụrụ na onye ọkwọ ụgbọ ala ahụ nwere ike iburu ngwaọrụ ahụ, mgbe ahụ, a na-emepụta maapụ - ndekọ njikọ. Nke a bụ otu a ga-esi ebido ọkwọ ụgbọ ala ebugoro ọhụrụ n'otu n'otu na ndị ọzọ niile. Na ihe niile ị chọrọ bụ ịtọ otu bit (LOAD_OPTION_FORCE_RECONNECT) na 1 na ndekọ buut ọkwọ ụgbọ ala na UEFI ga-eme nke a zuru ụwa ọnụ remap mgbe ebudatara ya.

Mana nke a adịghị mfe ime. Ọkọlọtọ efibootmgr (nke a na-eji hazie njikwa nbudata UEFI) amaghị ka (ma ọ bụ kama nke ahụ, amaghị etu) isi tọọ ntakịrị a. Ekwesịrị m iji aka tinye ya site na usoro dị mgbagwoju anya ma dị ize ndụ.

Na ọzọ, n'ịgbalị ime ya na aka m, enweghị m ike iguzo ya na formalized nsogbu na GitHub na-arịọ ndị mmepe ka ha gbakwunye atụmatụ a.

Ọtụtụ ụbọchị gafere, ma ọ dịghị onye ṅara ntị n'arịrịọ m. Na n'ihi ọchịchọ ịmata ihe, m lere anya na koodu isi ... M na-atụgharị ya, wee chọpụta na ikpere m ka m ga-esi tinye atụmatụ a ... "N'ikpere m" n'ihi na etinyeghị m ihe ọ bụla dị otú ahụ ma dezie isi iyi. koodu ozugbo na ihe nchọgharị.

Amaara m C (asụsụ mmemme) nke ukwuu, mana m chepụtara ihe ngwọta dị ka (ọkachasịkwa oyiri-paste)… na mgbe ahụ echere m - ọbụlagodi na enwere m ọtụtụ njehie ebe ahụ (mgbalị m gara aga dezie nke onye ọzọ). Emechara koodu C ihe dịka oge nke iri) Aga m enye arịrịọ Pull. Ọfọn emebere.

Na ebe ahụ Travis CI tụgharịrị ka etinyere ya iji lelee arịrịọ ịdọrọ. O jikwa ịdị uchu gwa m ihe niile m mejọrọ. Ọfọn, ọ bụrụ na enwere mmejọ ndị a maara, ọ dịghị mkpa iji dozie ya: ọzọ, na ihe nchọgharị ahụ, na mgbalị nke anọ koodu ahụ rụrụ ọrụ (mmezu maka m).

Dịkwa ka nke ahụ, na-ahapụghị ihe nchọgharị ahụ, ahazire m ezigbo arịrịọ Pull ka ọ bụrụ ihe eji eme ihe na ihe fọrọ nke nta ka ọ bụrụ nkesa Linux ọgbara ọhụrụ.

Ọ tụrụ m n'anya na, n'amaghị asụsụ a n'ezie, na-enweghị ịtọlite ​​​​ihe ọ bụla (ndabere na-achọ ụlọ akwụkwọ ole na ole maka mgbakọ), na-enweghị ọbụna na-agba ọsọ nchịkọta, m "debere" kpamkpam na-arụ ọrụ na njirimara bara uru na ihe nchọgharị .

Agbanyeghị, arịrịọ m anabataghị kemgbe Maachị 19, 2019, amalitela m ichefu ya.

Mana ụnyaahụ agbakwunyere arịrịọ a na nna ukwu.

Yabụ kedu ihe akụkọ m bụ? Ọ na-ekwukwa banyere eziokwu ahụ bụ na, n'ime usoro nke teknụzụ ọgbara ọhụrụ, ọ tụgharịrị na enwere ike dee koodu n'ezie na ihe nchọgharị ahụ, na-enweghị ibuga ngwá ọrụ mmepe na ịdabere na mpaghara.

Ọzọkwa, m ga-ekweta, nke a bụ ugbua m nke abụọ sere arịrịọ maka a maara nke ọma (ọbụlagodi na warara okirikiri) utilities. Oge ikpeazụ, arịrịọ m ka m dozie ngosipụta nke ụfọdụ ubi na SyncThing web interface mere ka m dezie otu ahịrị n'ụzọ nkịtị na gburugburu ebe m na-amaghị ma ọlị.

Naanị ndị ọrụ edebanyere aha nwere ike isonye na nyocha a. banye, Biko.

Ekwesịrị m ide karịa ka ọ bụ agaghị?

  • ee

  • ọ bụghị ya

Ndị ọrụ 294 họpụtara. Ndị ọrụ 138 anabataghị.

isi: www.habr.com

Tinye a comment