Lub neej yav tom ntej twb nyob ntawm no los yog code ncaj qha nyob rau hauv lub browser

Kuv yuav qhia koj txog qhov xwm txheej lom zem uas tshwm sim rau kuv, thiab yuav ua li cas los ua tus pab txhawb rau qhov project nto moo.

Tsis ntev dhau los kuv tau tinkering nrog ib lub tswv yim: booting Linux ncaj qha los ntawm UEFI ...
Lub tswv yim tsis yog tshiab thiab muaj ntau phau ntawv qhia txog lub ntsiab lus no. Koj tuaj yeem pom ib qho ntawm lawv S, SΡ“S,

Qhov tseeb, kuv qhov kev sim siab ntev los daws qhov teeb meem no ua rau muaj kev ua tiav tiav qhov kev txiav txim siab. Qhov kev daws teeb meem zoo heev thiab kuv siv nws ntawm qee lub tshuab hauv tsev. Qhov kev daws teeb meem no tau piav qhia me ntsis ntxiv. S, SΡ“S,.

Lub ntsiab lus ntawm UEFI-Boot yog tias ESP (EFI System Partition) muab faib ua ke nrog / khau raj directory. Cov. tag nrho cov kernels thiab bootstrap dluab (initrd) nyob rau tib qhov muab faib los ntawm qhov uas UEFI tuaj yeem tso cov ntaub ntawv ua tiav thiab, tshwj xeeb tshaj yog, tso lub kaw lus khau raj. Tab sis Linux ntsiav nws tus kheej hauv ntau qhov kev faib tawm twb tau sib sau ua ke nrog UEFISTUB kev xaiv, uas tso cai rau cov ntsiav nws tus kheej los ntawm UEFI.

Qhov kev daws teeb meem no muaj ib lub sijhawm tsis txaus siab - ESP muab faib yog formatted hauv FAT32, uas nws tsis tuaj yeem tsim cov kev sib txuas nyuaj (uas lub kaw lus tsim tsis tu ncua thaum hloov kho initrd). Thiab tsis muaj ib yam dab tsi tshwj xeeb txog kev ua phem rau qhov no, tab sis pom cov lus ceeb toom ntawm lub system thaum hloov kho kernel Cheebtsam tsis zoo siab heev ...

Muaj lwm txoj kev.

UEFI boot manager (tib yam uas koj yuav tsum tau sau npe OS bootloader) tuaj yeem, ntxiv rau bootloaders/Linux kernels, kuj thauj cov tsav tsheb. Yog li koj tuaj yeem thauj tus tsav tsheb rau cov ntaub ntawv kaw lus uas koj muaj / khau raj thiab thauj cov ntsiav ncaj qha los ntawm qhov ntawd siv UEFI. Tus tsav tsheb, tau kawg, yuav tsum tau muab tso rau hauv ESP muab faib. Qhov no yog kwv yees li qhov khau raj loaders zoo li GRUB ua. Tab sis qhov tseem ceeb yog tias txhua qhov nquag siv GRUB ua haujlwm twb nyob hauv UEFI. Ntau precisely nyob rau hauv nws download manager. Thiab ua kom tho txawv dua, UEFI boot manager muaj peev xwm ntau dua hauv qee qhov teeb meem.

Nws zoo li yog ib qho kev daws teeb meem zoo nkauj, tab sis muaj ib qho "TSIS" (los yog, nws yog, tab sis ntau ntxiv rau tom qab). Qhov tseeb yog tias UEFI tsav tsheb yog qhov yooj yim heev. Tsis muaj ib yam dab tsi xws li mounting ib cov ntaub ntawv system los yog koom nrog ib tug tsav tsheb nrog ib tug tshwj xeeb ntaus ntawv. Muaj ib qho kev hu xov tooj nrog lub npe nrov Daim Ntawv Qhia, uas yuav siv sij hawm txhua tus neeg tsav tsheb tig thiab sim ua ke nrog txhua tus, yam tsawg kawg tsim cov khoom siv. Thiab yog tias tus neeg tsav tsheb tuaj yeem nqa lub cuab yeej, ces daim ntawv qhia tau tsim - cov ntaub ntawv sib txuas. Qhov no yog raws nraim li cas tus tsav tsheb thauj khoom tshiab yuav tsum tau pib hauv ib qho heap nrog tag nrho lwm tus. Thiab txhua yam koj xav tau yog teeb tsa ib qho me ntsis (LOAD_OPTION_FORCE_RECONNECT) rau 1 hauv cov ntaub ntawv tsav tsheb thiab UEFI yuav ua qhov kev hloov pauv thoob ntiaj teb tom qab thauj nws.

Tab sis qhov no tsis yog yooj yim ua. Tus qauv efibootmgr utility (uas yog siv los teeb tsa UEFI offload tus thawj tswj) tsis paub yuav ua li cas (lossis theej, tsis paub yuav ua li cas) teeb tsa qhov no me ntsis. Kuv yuav tsum tau nruab nws manually los ntawm cov txheej txheem nyuaj thiab txaus ntshai.

Thiab ib zaug ntxiv, tau sim ua nws nrog kuv txhais tes, kuv tsis tuaj yeem sawv nws thiab formalized qhov teeb meem ntawm GitHub nug cov neeg tsim khoom ntxiv rau qhov no.

Ob peb hnub dhau mus, tab sis tsis muaj leej twg mloog kuv qhov kev thov. Thiab tawm ntawm kev xav paub, Kuv ntsia ntawm qhov chaws ... Kuv forked nws, thiab xam tawm ntawm kuv lub hauv caug yuav ua li cas ntxiv qhov no ... "Nyob rau hauv kuv lub hauv caug" vim tias kuv tsis tau nruab ib yam dab tsi zoo li ntawd thiab kho qhov chaw. code ncaj qha rau hauv browser.

Kuv paub C (lub programming lus) superficially, tab sis kuv sketched tawm ib qho approximate tov (feem ntau yog luam-paste) ... thiab ces kuv xav - tsawg kawg yog kuv tej zaum muaj ntau yam uas tsis muaj (kuv yav tas los sim los hloov lwm tus neeg's C code tau ua tiav txog lub sijhawm 10th) Kuv mam li muab Daim Ntawv Thov rub. Zoo tsim.

Thiab muaj Travis CI tau muab txuas mus xyuas rub cov lus thov. Thiab nws rau siab ntso qhia kuv txhua yam kuv ua yuam kev. Zoo, yog tias muaj kev paub yuam kev, tsis tas yuav kho nws: dua, txoj cai hauv browser, thiab ntawm plaub qhov kev sim ua haujlwm (kev ua tiav rau kuv).

Thiab ib yam li ntawd, yam tsis tau tawm ntawm qhov browser, kuv tau tsim qhov Pull Request tiag tiag rau hauv cov khoom siv hluav taws xob uas siv yuav luag txhua niaj hnub Linux faib.

Kuv xav tsis thoob los ntawm qhov tseeb tias, tsis muaj kev paub lus tiag tiag, tsis muaj teeb tsa ib yam dab tsi (dependencies xav tau ob peb lub tsev qiv ntawv rau kev sib sau), thiab tsis tau txawm tias khiav lub compiler, kuv tsuas "coded" ib qho kev ua haujlwm thiab muaj txiaj ntsig zoo hauv browser.

Txawm li cas los xij, kuv qhov kev thov tseem tsis teb txij li lub Peb Hlis 19, 2019, thiab kuv twb tau pib hnov ​​​​qab txog nws.

Tab sis nag hmo qhov kev thov no tau ntxiv rau tus tswv.

Yog li kuv zaj dab neeg hais txog dab tsi? Thiab nws tau hais txog qhov tseeb tias, nyob rau hauv lub moj khaum ntawm cov thev naus laus zis niaj hnub no, nws tau pom tias cov lej tiag tuaj yeem raug sau rau hauv browser, tsis tas siv cov cuab yeej txhim kho thiab kev vam khom hauv zos.

Ntxiv mus, kuv yuav tsum lees, qhov no yog kuv qhov thib ob rub thov kom paub zoo (tsawg kawg hauv cov voj voog nqaim) cov khoom siv. Lub sijhawm dhau los, kuv qhov kev thov kom kho cov zaub ntawm qee thaj chaw hauv SyncThing lub vev xaib cuam tshuam tau ua rau kuv qhov hloov kho ib kab hauv ib puag ncig uas kuv tsis paub txhua.

Tsuas yog cov neeg siv sau npe tuaj yeem koom nrog hauv daim ntawv ntsuam xyuas. Kos npe rau hauvthov.

Kuv puas yuav tsum sau ntau dua lossis tsis?

  • yog

  • tsis tsim nyog nws

294 cov neeg siv pov npav. 138 cov neeg siv txwv tsis pub siv.

Tau qhov twg los: www.hab.com

Ntxiv ib saib