Проблеми са учитавачем доводе до неподизућих система

Молимо обраитте пажњу да су исправке илумос лоадера откриле додатне проблеме, доводећи до немогућности подизања после унапређења Опениндиана хипстер на инсталацијама са МБР дисковима.. Проблем са подизањем је решен унапређивањем на ОИ хипстер снимак пакет ‘osnet-incorporation 0.5.11-2017.0.0.16205’ (2017-02-25_1202) са ‘system/boot/loader 1.1-2017.0.0.16205’ (2017-02-25_1228) и надаље и реинсталацијом подизућих блокова диска. Ево још неких додатних техничких информација и разјашњења о који су додатни проблеми били присутни:

  • Подизући програми уписани на области диска за подизуће блокове, су читани у меморију засновано на снимљеној величини подизућег програма, сходно да МБР подизући запис није унапређен од стране команде “pkg update” у случају МБР инсталација, процес подизања неће прочитати ‘gptzfsboot’ потпуно у меморију. Овај је проблем са инсталбут командом (installboot.)
  • Код учитавајућег одељка диска је изграђен користећи оптимизовану размену података, претпостављајући да је само један одељак диска “отворен” у том тренутку. Нажалост, у случају ЗФС, ова претпоставка није тачна и као исход, провере исправности читања диска су инвалидирале Улазно-Излазне захтеве.

Оба проблема су сада идентификована, одговарајућа унапређења су расположива и унапређења пакета су расположива у Опениндиана хипстер ризници пакета. Инструкције у наставку су обезбеђене ради обављања унапређења система, уз заобилажење проблема. Други проблем је о примени специфичних детаља унутар учитавача и унапређени бинарни програм који укључује исправку је ту када су унапређени бинарни програми постављени, тако да никакве друге посебне активности нису потребне. Проблем са ‘installboot’ је компликованији. Унапређење Инсталбут командом примењује МБР унапређење, да би учинио МБР код способним да прочита и учита одељак подизућег записа и само само усними ‘gptzfsboot’ локацију и величину у подизућем запису одељка диска. Како ће команда “pkg update” увек условити да подизући запис одељка диска буде унапређен, ова промена значи да ће ‘gptzfsboot’ бити увек читан користећи одговарајућу велличину. Компликација је око чињенице да не можемо натерати МБР унапређење да се изведе аутоматски и да унапређење МБР мора да буде урађено од стране оператера. Секундарна компликација је око чињенице да је закрпљена инсталбут команда расположива само у унапређеној Подизућој Околини/ПО (BE), што значи да унапређење подизућег блока мора да буде урађено два пута. Ко је погођен:

  • Свеже инсталације са 20161030 ОИ хипстер инсталације снимком усб/ИСО користећи МБР одељак/парче диска, које користе илумос учитавач.

Ко није погођен:

  • Старије 20160421 усб/ИСО и раније инсталације које још увек користе ГРУБ1 учтавач/li>
  • Инсталације на цео диск и ГПТ инсталације за подизуће складиште..

Како се проблем манифестује: Проблем се приказује коришћењем редовне ‘pkg update ‘ процедуре унапређења, са резултатом да је систем онемогућен и не може се подићи после унапређења и поновног покретања. Заобилазни метод1 Се обавља одмах после унапређења, пре поновног подизања система, тако да не осетите било какву немогућност подизања после унапређења, тако да се ништа не деси ако реинсталирате учитавач пре унапређањеа и ПРЕ поновног покретања. Заоибилазни метод2 је ту ако сте се већ поново покренули после унапређења и имате систем који се не подиже. Заобилазни метод1: Унапређење подизућих блокова мора да буде обављено два пута, после редовог ‘pkg update’ и пре поновног подизања и после поновног подиазња, још једном. Пронађите име ваше нове активне унапређене ПО:

$ beadm list
-- 
oi-hipster-87                    R     /          36.8G static 2017-02-25 19:07

Монтирајте нову ПО у /mnt директоријум, тако да можемо поставити нови учитавач у МБР: (поставите се са кореним привилегијама командама: ‘su’, ‘sudo’ или ‘pfexec’)

$ pfexec bash
# beadm mount oi-hipster-87 /mnt

Поставите нови илумос учитавач са нове ПО у МБР да бисте могли да се подигнете поново са Хард Диска:

# bootadm install-bootloader -MfvR  /mnt

Горња команда ‘bbootadm’ ће поново поставити подизући код користећи подизуће програме из ‘/mnt/boot’ , користећи мод детаљног приказа, тако да можете видети да је МБР такође унапређен. -unmount new BE from /mnt dir:

# beadm unmount oi-hipster-87
# shutdown -y -g 0 -i 6

После поновно покретања, поново поново поставите подизући код као привилеговани корисник (поставите се у корене привилегије са ‘su’, ‘sudo’ или ‘pfexec’)

$ pfexec bash
# bootadm install-bootloader -Mfv

Због тога што је ‘bootadm’ команда покренута са унапређене ПО и коришћена је закрпљена ‘installboot’ команда, МБР је унапређен да чита подизући запис одељка и будућа “pkg update” команда не тражи никако посебно заобилажење у раду. Заоибилазни метод2: Ако сте већ искусили немогућност да се подигнете после унапређења, потребно је да се подигнете са живог УСБ/ДВД медија у вашу нову унапређену ПО и поново поставите илумос учитавач. Користећи подизући УСБ/ИСО диск за подизање са медија који није хард Диск, (бирајући да буде први подизћи медиј у подешавањима матичне плоче). Притисните ‘ESC’ тастер да добијете “ok” конандну линију учитавача, и прикажете Подизуће околине/ПО (BE) (‘rpool’ је име подизућег складишта).

ok beadm list zfs:rpool
-- 
oi-hipster-87                    NR     /          36.8G static 2017-02-25 19:07

Активирајте нову ПО да би се подигла са ње (где је ‘beadm_name’ новонаправљена ПО, створена после унапређења):

ok beadm activate oi-hipster-87 zfs:rpool

Boot into new BE:

ok boot

После подизања у унапређену ПО, требали бисте да задате ову команду, за поновну поновну инсталацију учитавача на МБР Хард диска (тако да је проблем превазиђен за следеће поновно подизање): Инсталирајте нови илумос учитавач с нове ПО у МБР да бисте могли да се подигнете поново са ХД. (као привилеговани корисник):

$ pfexec bash
# bootadm install-bootloader -Mfv

После тога, можете сигурно да се унапредите и поново покренете. Хвала вам на разумевању, јер учитавач је део илумоса али је још увек рад ан њему у току и проблем са МБР се иссклизнуо приликом тестирања, али је сада сигурно превазиђен.