OpenSolaris preview 2009.06: есть ли жизнь на Солнце?

Алексей Федорчук

Эту заметку начну старым советским анекдотом. Армянскому радио задают вопрос:

— Есть ли жизнь на Марсе?
— Тоже нет…

Мои сегодняшние наблюдения позволяют предположить, что и на Солнце жизнь если и есть, то напряжённая. Итак, прошлая заметка закончилась описанием краха первой попытки установки OpenSolaris, произошедшего по непонятной причине. Но, как известно, русские не сдаются. И я предпринял вторую попытку — установить систему с USB-носителя. Благо изготовить его из наличествующего (и уже скачаного) образа посредством команды dd было делом нескольких минут. А для обеспечения загрузки с него (на моей маме и с моим BIOS’ом) достаточно было воткнуть флэшку в компьютер перед рестартом и в BIOS Setup выбрать её в качестве загрузочного устройства.

В скобках замечу, что в некоторых случаях процедура эта чуть более сложная — требуется включить режим эмуляции флоппи-дисковода и ещё что-то, но это на достаточно старых материнках. В общем, лучше заранее свериться с описанием материнской платы.

Однако из установки с USB всё равно ничего не получилось: хотя и с образом, и с флэшкой всё было нормально, машина загружаться с неё отказалась, отговариваясь тем, что флэшка не загрузочная. Пришлось искать иные пути. В частности, переписать iso-образ на свежий диск — возникло подозрение, что первая RW’ка, будучи б/у очень не первого срока, сбоила. Со свежего неперезаписываемого компакта система была наконец установлена.

Сразу скажу, что в итоге выяснилось, что и с первого компакта система благополучно устанавливалась — но только через раз. Да и с повторно записанной флэшки удалось загрузиться. В общем, чем обусловлена такая невоспроизводимость экспериментов, сказать затрудняюсь. Можно списать это и на мои кривые руки, и на моё кривое железо, и на фатальное стечение обстоятельств… Скажу только, что, устанавливая систем и дистрибутивов без счёта, я с такой ситуацией не сталкивался ни разу…

Как я уже сказал, в конце концов система установилась. Но дело на этом отнюдь не кончилось: загружаться посредством собственного варианта GRUB’а она отказалась категорически. Почему — я понял после нескольких попыток загрузить её через тот же GRUB в интерактивном режиме. Оказалось, что установщик решил, будто второй первичный раздел диска, на котором у меня размещался swap для CRUX’а, есть раздел Solaris, и автоматом сделала его корневым, не предприняв поисков четвертого раздела, на который я собственно и устанавливал OpenSolaris. Ведь эта ОС предполагает, что на одном физическом винте может существовать только один её раздел.

После этого проблема разрешилась просто: загрузившись в интерактивном режиме GRUB’а, я немедленно отредактировал его конфиг — menu.lst. В отличие от Linux, в OpenSolaris он лежит здесь: /rpool/boot/grub. А его автоматически сгенерированный вид таков:

splashimage /boot/grub/splash.xpm.gz
background 215ECA
timeout 30
default 0
#---------- ADDED BY BOOTADM - DO NOT EDIT ----------
title OpenSolaris 2009.06
findroot (pool_rpool,1,a)
bootfs rpool/ROOT/opensolaris
splashimage /boot/solaris.xpm
foreground d25f00
background 115d93
kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS,console=graphics
module$ /platform/i86pc/$ISADIR/boot_archive
#---------------------END BOOTADM--------------------

Далее идёт множество закомментированных строк, соответствующих тому изобилию винтов и разделов, которое этот самый bootadm обнаружил на моей машине.

Обращаем внимание на строку

findroot (pool_rpool,1,a)

Именно она обеспечивает загрузку OpenSolaris с файловой системы ZFS — да вот только расположение её корневого раздела указано, как я уже сказал, неверно: цифра 1 в нотации GRUB соответствует второму первичному разделу, на котором располагается swap. Правда, для исправления ситуации достаточно заменить её на тройку, чтобы впредь грузиться и перегружаться, сколько душе угодно.

Теперь предстояла борьба с сетевой картой по схеме, описанной ранее.  С тем лишь отличием, что на этот раз она также завершилась полным провалом. После распаковки архива драйвера (благо, он был у меня припасён заранее на флэшке), сборки его инсталляции в полном соответствие с директивными указаниями файла README.txt машина просто перестала загружаться. И не обрела этой способности и по сей момент — хотя, честно говоря, никаких более усилий в этом направлении я уже не прикладывал. Решив вычеркнуть ОС OpenSolaris из своей памяти навсегда… (ну или по крайней мере до выхода релиза).

OpenSolaris preview 2009.06: есть ли жизнь на Солнце?: 4 комментария

  1. Ну а может все таки стоит дождаться выхода FreeBSD 8.0-RELEASE с более новой ZFS ? Или же сидеть на CURRENT (что тоже многие практикуют)

  2. 2 Dorlas
    Ждать в принципе уже не обязательно ;) Так как ZFS v13 уже в 7-STABLE, не уверен насчет загрузки с нее, но может тоже бекпортили уже.

  3. Провозился более недели, точно такие же впечатления и «совпадения» по сбоям, до мелочей. Правда с флешкой не пробовал. Ну а так — и диски не читаются и с сетевухой намертво виснет (после установки драйвера к сетевой) или в ресет уходит… Начитался офф. доков до дури, изучил несколько воркэраундов (обходов проблемы, если по нашему)… В общем нужно выключать в материнке (в биосе, CMOS который :) ) все фирменные технологии и некоторые и порт принтера выключают там, и обязательно выключать PnP-обнаружение устройств… Хотя все это делал, мало помогает, если честно (еще вожусь). Проблема, основная, что драйвера сетевух, часто — на уровне ядра. Ну и все рушится на раз-два-три. Вычитал такой обход проблемы (перед этим сам додумался, но пока еще не проверял) — перед установкой драйвера сетевой платы — отключить автоматику обнаружения и конфигурирования (DHCP и т.д.).

    А вот когда все поставишь, тогда идешь, мол, в биос и включаешь все обратно (сомнительно, вообще-то, но так в оффициальных воркэраундах написано, или где-то еще, не помню точно). Сетевое, что отключаешь — когда драйвер полностью у тебя заработает и будет выход в Инет (мне для этого vpn еще нужно настраивать) — тогда, вроде как, можно включать…

    Еще немного помучаю, наверное… Фич у системы много, хотелось бы, конечно…

Обсуждение закрыто.