Makomar ta riga ta kasance a nan ko lambar kai tsaye a cikin mai binciken

Zan gaya muku game da wani yanayi mai ban dariya da ya faru da ni, da kuma yadda zan zama mai ba da gudummawa ga sanannen aiki.

Ba da dadewa ba na yi tunani tare da ra'ayi: booting Linux kai tsaye daga UEFI ...
Tunanin ba sabon abu bane kuma akwai littattafai da yawa akan wannan batu. Kuna iya ganin ɗaya daga cikinsu a nan

A haƙiƙa, yunƙurin da na daɗe na yi don warware wannan batu ya haifar da tsari gaba ɗaya yanke shawara. Maganin yana aiki sosai kuma ina amfani dashi akan wasu injina na gida. An kwatanta wannan bayani a cikin ɗan ƙaramin bayani. a nan.

Mahimmancin UEFI-Boot shine cewa an haɗa ɓangaren ESP (EFI System Partition) tare da directory ɗin boot. Wadancan. duk kernels da hotunan bootstrap (initrd) suna kan bangare guda wanda UEFI za ta iya ƙaddamar da fayilolin aiwatarwa kuma, musamman, ƙaddamar da bootloaders na tsarin. Amma Linux kernel kanta a cikin rabawa da yawa an riga an haɗa shi tare da zaɓi na UEFISTUB, wanda ke ba da damar ƙaddamar da kernel kanta daga UEFI.

Wannan bayani yana da lokaci mara kyau - an tsara sashin ESP a cikin FAT32, wanda ba shi yiwuwa a ƙirƙiri hanyoyin haɗin kai (wanda tsarin ke ƙirƙira akai-akai lokacin sabunta initrd). Kuma babu wani abu na musamman game da wannan, amma ganin gargaɗin tsarin lokacin sabunta abubuwan kernel ba shi da daɗi sosai ...

Akwai wata hanya kuma.

Manajan taya na UEFI (daidai da inda kake buƙatar yin rijistar bootloader na OS) na iya, ban da bootloaders/Linux kernels, shima yana ɗaukar direbobi. Don haka zaku iya loda direba don tsarin fayil inda kuke da /boot kuma ku loda kwaya kai tsaye daga can ta amfani da UEFI. Direba, ba shakka, yana buƙatar sanya shi a cikin ɓangaren ESP. Wannan shine kusan abin da bootloaders kamar GRUB suke yi. Amma babban abin lura shine duk ayyukan GRUB da ake yawan amfani dasu sun riga sun kasance a cikin UEFI. Fiye daidai a cikin mai sarrafa saukewa. Kuma don zama mafi ban sha'awa, mai sarrafa taya na UEFI yana da ƙarin iyawa a wasu batutuwa.

Yana da alama ya zama kyakkyawan bayani, amma akwai "AMMA" ɗaya (ko maimakon haka, ya kasance, amma fiye da haka daga baya). Gaskiyar ita ce, tsarin direba na UEFI yana da sauƙi. Babu wani abu kamar hawa tsarin fayil ko haɗa direba da takamaiman na'ura. Akwai tsarin kira mai suna Map na al'ada, wanda ke ɗaukar kowane direba kuma yana ƙoƙarin haɗa shi da duka, aƙalla na'urori masu dacewa. Kuma idan direba ya iya ɗaukar na'urar, to, an ƙirƙiri taswira - rikodin haɗin gwiwa. Wannan shi ne ainihin yadda ya kamata a fara fara sabon direban da aka ɗora a wuri guda tare da duk sauran. Kuma duk abin da kuke buƙata shine saita bit (LOAD_OPTION_FORCE_RECONNECT) zuwa 1 a cikin rikodin boot ɗin direba kuma UEFI za ta yi wannan taswirar duniya bayan loda shi.

Amma wannan ba shi da sauƙi a yi. Daidaitaccen mai amfani na efibootmgr (wanda ake amfani dashi don saita mai sarrafa kashewa na UEFI) bai san yadda (ko wajen, bai san ta yaya) don saita wannan bit ba. Dole ne in shigar da shi da hannu ta hanya mai rikitarwa da haɗari.

Kuma a sake, bayan ƙoƙarin yin shi da hannuna, na kasa jurewa kuma na yi tsari matsala akan GitHub tambayar masu haɓakawa don ƙara wannan fasalin.

Kwanaki da dama sun shude, amma babu wanda ya kula da bukatara. Kuma saboda son sani, na kalli lambar tushe ... Na yi yadudduka, na gano a kan gwiwoyi na yadda zan ƙara wannan fasalin ... "A kan gwiwoyi" saboda ban shigar da wani abu makamancin haka ba kuma na gyara tushen. code kai tsaye a cikin browser.

Na san C (harshen shirye-shirye) a zahiri, amma na zana wata ƙayyadaddun bayani (mafi yawan kwafi)… sannan na yi tunani - aƙalla ina da kurakurai da yawa a wurin (yunƙurin da na yi na gyara na wani a baya). An kammala lambar C kusan lokaci na 10) Zan ba da Buƙatun Buga. To tsara.

Kuma a can Travis CI ya juya don haɗa shi don bincika buƙatun ja. Kuma a hankali ya gaya mani duk kurakuraina. To, idan akwai kurakurai da aka sani, babu buƙatar gyara shi: sake, daidai a cikin mai bincike, kuma a kan ƙoƙari na huɗu lambar ta yi aiki (nasara a gare ni).

Kuma kamar haka, ba tare da barin mai binciken ba, na tsara ainihin Buƙatun Bugawa a cikin kayan aikin da ake amfani da shi a kusan duk rarrabawar Linux na zamani.

Na yi mamakin gaskiyar cewa, ba tare da sanin yaren da gaske ba, ba tare da kafa wani abu ba (dogara yana buƙatar ɗimbin ɗakunan karatu don taro), kuma ba tare da taɓa yin amfani da mai tarawa ba, kawai na “coded” cikakken aiki da fasali mai amfani a cikin browser .

Duk da haka, buƙatara ta kasance ba ta amsa ba tun ranar 19 ga Maris, 2019, kuma na riga na fara mantawa da shi.

Amma jiya an ƙara wannan buƙatar zuwa maigidan.

To mene ne labarina? Kuma yana magana ne game da gaskiyar cewa, a cikin tsarin fasahar zamani, ya nuna cewa an riga an rubuta lambar ainihin a cikin mai bincike, ba tare da ƙaddamar da duk wani kayan aikin ci gaba da dogara a gida ba.

Bugu da ƙari, dole ne in yarda, wannan ita ce buƙatar jana ta biyu don sanannun (aƙalla a cikin kunkuntar da'ira) abubuwan amfani. Lokaci na ƙarshe, buƙatar da na yi don gyara nunin wasu filayen a cikin haɗin yanar gizo na SyncThing ya haifar da gyaran layi na a zahiri a cikin yanayin da ban sani ba kwata-kwata.

Masu amfani da rajista kawai za su iya shiga cikin binciken. Shigadon Allah.

Shin zan ƙara rubuta ko a'a?

  • a

  • ba shi daraja

Masu amfani 294 sun kada kuri'a. Masu amfani 138 sun kaurace.

source: www.habr.com

Add a comment