Efa eto ny ho avy na kaody mivantana amin'ny navigateur

Holazaiko aminao ny toe-javatra mampihomehy nitranga tamiko, ary ny fomba hahatongavana ho mpandray anjara amin'ny tetikasa malaza.

Vao tsy ela akory izay dia nieritreritra hevitra iray aho: booting Linux mivantana avy amin'ny UEFI...
Tsy vaovao ilay hevitra ary misy boky torolalana maromaro momba ity lohahevitra ity. Afaka mahita ny iray amin'izy ireo ianao eto

Raha ny marina, ny ezahako efa hatry ny ela hamahana ity olana ity dia niafara tamin'ny fomba ofisialy tanteraka fanapahan-kevitra. Tena miasa ny vahaolana ary ampiasaiko amin'ny milina an-tranoko sasany. Ity vahaolana ity dia voafaritra amin'ny antsipiriany bebe kokoa. eto.

Ny fototry ny UEFI-Boot dia ny fizarana ESP (EFI System Partition) dia mitambatra amin'ny lahatahiry / boot. Ireo. Ny kernel rehetra sy ny sary bootstrap (initrd) dia hita ao amin'ny fizarazarana iray izay ahafahan'ny UEFI manomboka ny rakitra azo tanterahana ary, indrindra, ny fanombohana ny rafitra boot loader. Saingy ny kernel Linux mihitsy amin'ny fizarana maro dia efa tafangona miaraka amin'ny safidy UEFISTUB, izay mamela ny kernel mihitsy hanomboka amin'ny UEFI.

Ity vahaolana ity dia manana fotoana tsy mahafinaritra iray - ny fizarazarana ESP dia format amin'ny FAT32, izay tsy azo atao ny mamorona rohy mafy (izay mamorona tsy tapaka ny rafitra rehefa manavao ny initrd). Ary tsy misy heloka bevava manokana momba izany, fa ny fahitana fampitandremana rafitra rehefa manavao ny singa kernel dia tsy mahafinaritra loatra ...

Misy fomba hafa.

Ny UEFI boot manager (ilay mila misoratra anarana ny OS bootloader) dia afaka, ankoatry ny bootloaders/Linux kernels, dia afaka mitondra mpamily ihany koa. Noho izany dia azonao atao ny mametaka ny mpamily ho an'ny rafi-drakitra misy anao / boot ary apetaho mivantana avy eo ny kernel mampiasa UEFI. Ny mpamily, mazava ho azy, dia mila apetraka ao amin'ny fizarana ESP. Izany no atao hoe bootloaders toa ny GRUB. Fa ny tena zava-dehibe dia efa ao amin'ny UEFI avokoa ny fiasa GRUB rehetra ampiasaina matetika. Ny marimarina kokoa ao amin'ny mpitantana download azy. Ary mba hankaleo bebe kokoa, ny mpitantana boot UEFI dia manana fahaiza-manao bebe kokoa amin'ny raharaha sasany.

Toa vahaolana tsara tarehy izany, saingy misy iray "SAINGA" (na ny marimarina kokoa, nisy izany, saingy bebe kokoa momba izany taty aoriana). Ny zava-misy dia ny rafitra mpamily UEFI dia tena tsotra. Tsy misy zavatra toy ny fametrahana rafitra fichier na fampifandraisana mpamily amina fitaovana manokana. Misy antso an-tariby miaraka amin'ny anarana mahazatra Map, izay mitondra ny mpamily tsirairay avy ary manandrana mampifandray izany amin'ny fitaovana rehetra, farafaharatsiny mety. Ary raha afaka naka ilay fitaovana ny mpamily, dia noforonina ny sarintany - firaketana mampifandray. Toy izany indrindra no tokony hanombohan'ny mpamily vao feno entana miaraka amin'ny hafa rehetra. Ary ny hany ilainao dia ny mametraka kely (LOAD_OPTION_FORCE_RECONNECT) amin'ny 1 ao amin'ny firaketana baotin'ny mpamily ary ny UEFI dia hanao an'ity remap manerantany ity aorian'ny fametrahana azy.

Saingy tsy dia mora ny manao izany. Ny fitaovana efibootmgr mahazatra (izay ampiasaina hanamboarana ny mpitantana ny UEFI) dia tsy mahafantatra ny fomba (na ny marimarina kokoa, tsy mahafantatra ny fomba) hametrahana ity bit ity. Tsy maintsy nametraka azy tamin'ny tanana aho tamin'ny fomba somary sarotra sy mampidi-doza.

Ary indray mandeha, rehefa nanandrana nanao izany tamin'ny tanako aho, dia tsy zakako izany ary nanao fombafomba olana amin'ny GitHub mangataka amin'ireo mpamorona mba hampiditra ity endri-javatra ity.

Nandeha ny andro maromaro, nefa tsy nisy niraharaha ny fangatahako. Ary noho ny fahalianana dia nojereko ny kaody loharano... Nosavaiko ilay izy, ary nandohalika ny fomba hanampiana an'io endri-javatra io... "Eo an-dohalika" satria tsy nametraka zavatra toy izany aho ary nanova ny loharano. kaody mivantana amin'ny navigateur.

Fantatro tsara ny C (ny teny programme) fa nahay nanao sketch ny vahaolana teo ho eo aho (ny ankamaroany dia copie-paste)... ary avy eo dia nieritreritra aho - fara faharatsiny mety manana lesoka be aho any (ezaka nataoko taloha hanova ny an'olon-kafa. Ny kaody C dia vita tamin'ny fotoana faha-10) hamoaka fangatahana Pull aho. TSARA natao.

Ary teo i Travis CI dia nifamatotra mba hanamarina ny fangatahana fisintonana. Ary nazoto nilaza tamiko ny fahadisoako rehetra izy. Eny ary, raha misy lesoka fantatra dia tsy ilaina ny manamboatra azy: indray, eo amin'ny navigateur, ary tamin'ny andrana fahefatra dia niasa ny code (zava-bita ho ahy).

Ary toy izany ihany, raha tsy miala amin'ny navigateur, dia nanamboatra fangatahana Pull tena izy aho ho fitaovana ampiasaina amin'ny fizarana Linux maoderina rehetra.

Gaga aho tamin'ny zava-misy fa, tsy nahafantatra tsara ny fiteny, tsy nametraka na inona na inona (ny fiankinan-doha dia mitaky tranomboky vitsivitsy ho an'ny fivoriambe), ary raha tsy misy ny fampandehanana ny compiler, dia "nosoriko" fotsiny ny endri-javatra iray miasa sy mahasoa ao amin'ny navigateur .

Na izany aza, tsy namaly ny fangatahako nanomboka tamin'ny 19 martsa 2019, ary efa nanomboka nanadino izany aho.

Omaly anefa no nampiana io fangatahana io tamin’ny tompo.

Inona ary ny tantarako? Ary miresaka momba ny zava-misy izy, ao anatin'ny rafitry ny teknolojia maoderina, dia hita fa ny code tena izy dia azo soratana ao amin'ny navigateur, tsy misy fitaovana fampandrosoana sy fiankinan-doha eo an-toerana.

Ankoatra izany, tsy maintsy ekeko fa efa fanindroany ny fangatahako misintona ho an'ny fitaovana malaza (farafaharatsiny amin'ny faribolana tery). Tamin'ny farany, ny fangatahako hanitsy ny fisehoana sehatra sasany ao amin'ny SyncThing web interface dia nahatonga ny fanovana andalana iray ara-bakiteny tao amin'ny tontolo iray izay tsy fantatro mihitsy.

Ireo mpampiasa voasoratra anarana ihany no afaka mandray anjara amin'ny fanadihadiana. HiditraPlease.

Tokony hanoratra bebe kokoa ve aho sa tsia?

  • Eny

  • tsy mendrika izany

Mpampiasa 294 no nifidy. Mpampiasa 138 no nifady.

Source: www.habr.com

Add a comment