Tsogolo lili kale pano kapena khodi mwachindunji mu msakatuli

Ndikuuzani za zochitika zoseketsa zomwe zidandichitikira, komanso momwe ndingakhalire wothandizira polojekiti yotchuka.

Osati kale kwambiri ndimalingalira lingaliro: kuyambitsa Linux mwachindunji kuchokera ku UEFI ...
Lingaliro si lachilendo ndipo pali mabuku angapo pamutuwu. Inu mukhoza kuwona mmodzi wa iwo apa

M'malo mwake, kuyesa kwanga kwanthawi yayitali kuti ndithetse vutoli kunapangitsa kuti ndikhale wokhazikika chisankho. Yankho lake likugwira ntchito ndipo ndimagwiritsa ntchito pamakina anga apanyumba. Njira yothetsera vutoli ikufotokozedwa mwatsatanetsatane. apa.

Chofunikira cha UEFI-Boot ndikuti gawo la ESP (EFI System Partition) limaphatikizidwa ndi / boot directory. Iwo. ma maso onse ndi zithunzi za bootstrap (initrd) zili pagawo lomwe UEFI imatha kuyambitsa mafayilo otheka, makamaka, kuyambitsa makina ojambulira. Koma kernel ya Linux yokha mumagawidwe ambiri yasonkhanitsidwa kale ndi njira ya UEFISTUB, yomwe imalola kernel yokha kukhazikitsidwa kuchokera ku UEFI.

Yankho ili liri ndi mphindi imodzi yosasangalatsa - gawo la ESP limapangidwa mu FAT32, pomwe ndizosatheka kupanga maulalo olimba (omwe dongosolo limapanga pafupipafupi pokonzanso initrd). Ndipo palibe cholakwika chilichonse pa izi, koma kuwona machenjezo a dongosolo mukamakonza zida za kernel sizosangalatsa ...

Palinso njira ina.

Woyang'anira boot wa UEFI (yemweyo pomwe muyenera kulembetsa OS bootloader) akhoza, kuwonjezera pa ma bootloaders / Linux kernels, komanso kunyamula madalaivala. Chifukwa chake mutha kuyika dalaivala pamafayilo omwe muli / boot ndikuyika kernel kuchokera pamenepo pogwiritsa ntchito UEFI. Dalaivala, ndithudi, ayenera kuikidwa mu gawo la ESP. Izi ndi zomwe ma bootloaders ngati GRUB amachita. Koma chochititsa chidwi ndichakuti ntchito zonse zomwe zimagwiritsidwa ntchito pafupipafupi za GRUB zili kale mu UEFI. Ndendende mu manejala ake otsitsa. Ndipo kukhala wotopetsa kwambiri, woyang'anira boot wa UEFI ali ndi kuthekera kochulukirapo pazinthu zina.

Zikuwoneka ngati yankho lokongola, koma pali "KOMA" (kapena m'malo, inali, koma zambiri pambuyo pake). Chowonadi ndi chakuti UEFI driver system ndiyosavuta. Palibe chinthu monga kukweza fayilo kapena kugwirizanitsa dalaivala ndi chipangizo china. Pali kuyimba kwadongosolo komwe kumakhala ndi dzina wamba Mapu, komwe kumatenga dalaivala aliyense motsatana ndikuyesera kugwirizanitsa ndi zonse, zida zoyenera. Ndipo ngati dalaivala adatha kunyamula chipangizocho, ndiye kuti mapu amapangidwa - mbiri yolumikizira. Umu ndi momwe dalaivala wodzaza kumene ayenera kukhazikitsidwa mu mulu wamba ndi ena onse. Ndipo zomwe mukufunikira ndikukhazikitsa pang'ono (LOAD_OPTION_FORCE_RECONNECT) kukhala 1 mu mbiri ya boot yoyendetsa ndipo UEFI idzachitanso izi padziko lonse lapansi ikatsitsa.

Koma izi si zophweka kuchita. Zomwe zimagwiritsidwa ntchito pa efibootmgr (zomwe zimagwiritsidwa ntchito pokonza UEFI offload manager) sadziwa momwe (kapena m'malo mwake, samadziwa momwe) angakhazikitsire pang'ono. Ndinayenera kuyiyika pamanja pogwiritsa ntchito njira yovuta komanso yowopsa.

Ndipo kamodzinso, nditayesa kuchita ndi manja anga, sindinathe kupirira ndikukhazikitsa nkhani pa GitHub kufunsa opanga kuti awonjezere izi.

Patapita masiku angapo, koma palibe amene anamvetsera pempho langa. Ndipo chifukwa cha chidwi, ndinayang'ana pa code source ... Ndinayifola, ndikulingalira pa mawondo anga momwe ndingawonjezere izi ... "Pa mawondo anga" chifukwa sindinayike chirichonse chonga icho ndikukonza gwero. code mwachindunji mu msakatuli.

Ndikudziwa C (chinenero cha pulogalamu) mwachiphamaso, koma ndinajambula njira yothetsera (makamaka kukopera-paste) ... C code inamalizidwa pafupifupi nthawi ya 10) ndipereka Chikoka Chopempha. Chabwino lakonzedwa.

Ndipo kumeneko Travis CI adalumikizidwa kuti ayang'ane zopempha. Ndipo anandiuza molimba mtima zolakwa zanga zonse. Chabwino, ngati pali zolakwika zodziwika, palibe chifukwa chokonzekera: kachiwiri, mu msakatuli, ndipo pakuyesera kwachinayi code inagwira ntchito (kupindula kwa ine).

Ndipo monga choncho, osasiya msakatuli, ndidapanga Zopempha Zokoka zenizeni kukhala chida chomwe chimagwiritsidwa ntchito pafupifupi magawo onse amakono a Linux.

Ndinadabwa ndi mfundo yakuti, popanda kudziwa kwenikweni chinenerocho, popanda kukhazikitsa kalikonse (zodalira zimafuna malaibulale angapo kuti azisonkhana), ndipo popanda ngakhale kuyendetsa makinawo, ndinangolemba "code" yogwira ntchito komanso yothandiza mu msakatuli .

Komabe, pempho langa silinayankhe kuyambira pa Marichi 19, 2019, ndipo ndinali nditayamba kuiwala za izi.

Koma dzulo pempholi linawonjezedwa kwa master.

Ndiye nkhani yanga ndi yotani? Ndipo akukamba za mfundo yakuti, mkati mwa ndondomeko zamakono zamakono, zinapezeka kuti code yeniyeni ikhoza kulembedwa kale mu msakatuli, popanda kuyika zida zilizonse zachitukuko ndi zodalira kwanuko.

Komanso, ndiyenera kuvomereza, ili kale ndikupempha kwanga kwachiwiri kwazinthu zodziwika bwino (zocheperako) zothandizira. Nthawi yapitayi, pempho langa lokonza mawonekedwe a magawo ena pa intaneti ya SyncThing zidapangitsa kuti ndisinthe mzere umodzi m'malo omwe sindimawadziwa nkomwe.

Ogwiritsa ntchito olembetsedwa okha ndi omwe angatenge nawo gawo pa kafukufukuyu. Lowani muakauntichonde.

Ndilembe zambiri kapena ayi?

  • inde

  • sizothandiza

Ogwiritsa ntchito 294 adavota. Ogwiritsa 138 adakana.

Source: www.habr.com

Kuwonjezera ndemanga