Linux Solaris

Подготовка Вашего жесткого диска

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

Традиционные разделы

Стандартная таблица разделов имеет всего четыре раздела. Из них для нас важны:

Primary Partition (Первичный раздел)

Может содержать только один раздел. Только с этого раздела Вы можете загружаться!

extended Partition (Расширенный раздел)

Может содержать много подразделов DOS, Linux и др.

Solaris Partition (Solaris раздел)

Может содржать много подразделов Solaris.

Чтобы убедиться, что Ваш жесткий диск разделен на разделы, используйте программу fdisk. Номера разделов от 1 до 4 (hda1..4, sda1..4, ...) должны присутствовать в вашей таблице разделов.

Разметка Solaris-разделов

Solaris имеет собственную схему разделов.Он делает собственную запись в таблице разделов и работает с ней.

Этот раздел Solaris делится на 8 подразделов. Третий подраздел фактически охватывает весь раздел, так что, на самом деле, могут использоваться только 7 подразделов.

К сожалению, запись раздела Solaris в таблице разделов такого же типа, как и Linux swap-раздел (82). Поэтому Ваш swap-раздел Linux не должен быть первичным разделом.

Хотя программа Linux fdisk имеет поддержку ``Sun disklabel'', кажется, это не помогает.

Свободное место

Безусловно, Solaris нуждается в свободном месте на жестком диске. Минимальная инсталляция Solaris 8 занимает около 300Мб. Для нормальной инсталляции необходимо около 700Мб, с установкой "инструментов разработчика" - около 1Гб.

Но эти требования только для базовой инсталляции. Кроме этого, Вы можете установить утилиты GNU и т.п. Если Вы хотите совместно использовать данные в Linux и Solaris, то необходимо, чтобы эти данные находились на разделе Solaris.

Вероятно, Вы надеетесь совместно использовать Ваши домашние каталоги. Забудьте об этом! Я попробовал это реализовать и был очень счастлив, что предварительно сделал резервные копии. Также смотрите раздел Разд. Совместное использование данных

Быстрая проверка по списку

Вы можете быстро проверить Ваше разбиение жесткого диска по списку:

У Вас не более 3 записей в таблице разделов

Ваш раздел подкачки Linux не является первичным

У Вас имеется, как минимум, один первичный раздел Linux ext2

У Вас имеется, по крайней мере, 1Гб неразмеченного пространства

Подготовка Linux

Сборка нового ядра

Некоторые люди не любят пересобирать ядро. Для таковых: если Вы хотите использовать Solaris и Linux вместе, и чтобы каждая из систем могла работать с данными другой системы, то вы должны пересобрать ядро. Но если Вы не хотите давать возможность системам работать с файлами друг друга, то можете ядро и не пересобирать.

Опции ядра для "совместимости с Solaris":

В code maturity:

Prompt for development drivers

К сожалению, возможность писать в файловую систему UFS все еще экспериментальна

В file systems:

UFS file system support

UFS - это файловая система Solaris

UFS file system write support

Единственный способ передавать данные Solaris

partition types / Solaris (x86) partition table support

Это необходимо для поддержки подразделов в пределах Вашего Solaris-раздела.

Подготовка системного загрузчика

Перед началом каких бы то ни было изменений, пожалуйста, удостоверьтесь в том, что Вы сделали дискету, с помощью которой, в случае неудачи, можно загрузить Вашу старую систему.

К сожалению, при установке Solaris переписывает область начальной загрузки (MBR) и стирает Ваш старый системный загрузчик.

К счастью, системный загрузчик Solaris позволяет цепную загрузку. Поместите старый системный загрузчик (например lilo) в загрузочный сектор одного из первичных разделов Linux.

Для lilo: посмотрите Ваш файл /etc/lilo.conf. Найдите строку boot= . Если там написано, что-то вроде boot=/dev/hda1, то это хорошо. Но если там есть, что-то вроде boot=/dev/hda, то это указатель на MBR. Исправьте этот указатель так, чтобы грузиться с первичного раздела Linux (например, boot=/dev/hda1).

Чтобы попробовать, позволяет ли Ваш системный загрузчик производить цепную загрузку, установите lilo в MBR и попробуйте загрузиться при помощи другого системного загрузчика. Я использую для этого файл lilo.conf.mbr со следующим содержанием:

#lilo.conf.mbr
#Lilo в MBR только передает загрузку другому lilo
boot=/dev/hda
root=/dev/hda5
install=/boot/boot.b
map=/boot/map
vga=ask
delay=50
other=/dev/hda1
label=lilochain

Теперь наберите lilo -C lilo.conf.mbr для установки lilo в MBR. И не забудьте запустить lilo для того, чтобы получить lilo в загрузочном секторе Вашего жесткого диска. Если теперь Вы перезагрузитесь, то увидите приглашение lilo. Если вы выберете other, то загрузится старый lilo, который, в свою очередь, загрузит Linux.

Установка Solaris

Интерактивный Solaris

Solaris 7

Интерактивный Solaris находится на первом CD. Загрузитесь с него.

Solaris 8

На дисках Solaris 8 интерактивный инсталлятор находится на первом CD с программами. Отдельный CD с инсталлятором не нужен вообще.

Установка Solaris обычно не вызывает никаких трудностей. Единственная трудность, которая может возникнуть - деление на разделы. Solaris будет автоматически использовать все свободное место на Вашем жестком диске и создаст на этом диске свой раздел. Когда раздел будет делиться на подразделы, не забудьте выделить место для обмена Solaris/Linux. Хорошее место для этого - дополнительный раздел /export/share. Пожалуйста, обратите внимание: Если Вы прервете установку Solaris, MBR на Вашем жестком диске может быть уже перезаписан и Вы не сможете загрузиться с него вообще.

Web-Start

Я не смог заставить работать Web-Start. Пожалуйста, напишите мне, если у Вас есть опыт работы с ним.

Однако, однажды я смог установить Solaris без всяких проблем, связанных с установкой пакетов web-start.

Получение GNU-утилит

В стандартную поставку Solaris не входит даже команда less. Некоторые советуют установить менеджер пакетов Redhat (RPM) для Solaris, но и стандартные инструменты могут выполнять его функции. Вы можете найти замечательные пакеты на http://www.sunfreeware.com. Стандартные пакеты устанавливаются командой pkgadd=<пакет>, а пакеты web-start java java=<packagewithoutclassextension>.

Управление загрузкой

Использование системного загрузчика Solaris

Когда загрузится системный загрузчик Solaris, он предоставит Вам выбор из четырех первичных разделов, с которых можно загрузиться. Если Ваш системный загрузчик установлен в первичном разделе - это прекрасно. Только загрузитесь с этого раздела, и все.

Использование lilo

Теперь ваш lilo стал вторичным системным загрузчиком, но Вы хотите, чтоб он снова стал первичным загрузчиком? Нет проблем. Lilo может легко заменить загрузчик Solaris. Только добавьте/исправьте строку other= в файле lilo.conf.

Для проверки, Вы должны к lilo первым добавить системный загрузчик Solaris. Теперь проверьте цепочку: lilo, Solaris, lilo, Solaris, .... Если она срабатывает, то, наверняка, Вы сможете без каких-либо проблем поместить lilo обратно в MBR.

Однако, Solaris может конфликтовать с lilo. У меня возникла такая проблема после установки Solaris 8, т.к. lilo не понравился новый раздел. У меня не было проблем с Solaris 7.

Использование grub

К сожалению, у меня нет опыта работы с Solaris-загрузчиком grub. Если Вы с ним работали, пожалуйста, напишите мне!

Совместное использование данных

Использование раздела shared

Если Вы собрали ядро с поддержкой файловых систем Sun и UFS, как это описано в разделе Разд. Сборка нового ядра, то можете подключать раздел Solaris. Во время загрузки на экране должно появляться нечто подобное: hda: [PTBL] [523/255/63] hda1 hda2 < hda5 hda6 hda7 hda8 > hda3 <Polaris: [s0] hda9 [s1] hda10 [s2] hda11 [s3] hda12 [s6] hda13 [s7] hda14 > В данном случае: раздел 3 (hda3) - это Solaris-раздел с шестью подразделами (s0,s1,s2,s3,s6,s7). В Linux они будут иметь имена от hda9 до hda14.

Попробуйте подключить раздел Solaris. Когда подключаете раздел UFS, Вы всегда должны указывать параметр -oufstype= в командной строке, в нашем случае, это -oufstype=sunx86. Итак, команда для подключения раздела должна выглядеть следующим образом: mount -oufstype=sunx86 /dev/hda14 /mnt Проверьте, подключился ли Ваш раздел. Пожалуйста, обратите внимание: Запись на раздел UFS находится пока только на экспериментальном уровне. Будьте крайне осторожны с записью на него: проверяйте записанные данные!

Если Вы хотите, чтобы Ваш Solaris-раздел подключался автоматически во время загрузки, добавьте строку /dev/hda14 /solaris ufs ufstype=sunx86 0 0 в файл /etc/fstab

Другой путь

Конечно, имеются и другие пути для обмена данными или совместного их использования:

Дискета

Я не знаю, какая файловая система на дискетах является стандартной для Solaris. Вы знаете? Напишите мне.

Сеть

И Solaris, и Linux прекрасно работают с NFS. Скорее всего, это наилучший путь обмена данными или совместного их использования.

Запуск "инородных" программ

Запуск программ Linux в Solaris

По идее, для этого используется программа ``lxrun''. Но у меня нет ее, и я не имел возможности ее испытать. Ищите ее на официальном сайте Solaris, для получения большей информации об этом.

Запуск программ Solaris в Linux

Насколько мне известно, Linux не поддерживает бинарные файлы Solaris.