Abstract

Однажды на работу привезли новый сервер. Назывался он Fujitsu-Siemens PRIMERGY RX-300. На предыдущий сервер Fujitsu-Siemens PRIMERGY TX-150 ALT Linux Master 2.2 встал «на ура», поэтому граблей при установке не ожидалось.

Установка

В реальности всё оказалось куда хуже. Инсталлятор диски не увидел. После выяснения подробностей оказалось, что RX-300 поставляется с контроллером Adaptec AIC-7902W, в отличие от TX-150, в котором установлен контроллер на Adaptec AIC-7901X. Об этих контроллерах было прочитано и услышано много нелестных отзывов, например здесь. Приводились мнения от «RAID должен быть хардварным, потому что при этом не расходуется процессорное время» до «HostRAID — полное гавно и лучше сделать нормальный Software-RAID». Скажу сразу, что я склоняюсь ближе к последнему мнению и считаю HostRAID поделкой вроде winmodem'ов.

Поставить ALT Linux Master 2.2 на вышеуказанный контроллер можно, для этого необходимо подсунуть ядру инсталлятора в режиме установки Expert обновленные модули scsi_mod.o и aic79xx.o.

Указанные драйвера нужно записать на дискету с файловой системой ext2 и подсунуть инсталлятору.

Но после установки нас ожидает еще одно разочарование — на компакт-дисках находится старое ядро, в котором нет обновленной версии драйвера aic79xx.o, поэтому прежде чем нажать финальное «OK» в инсталляторе нужно поставить в свежеустановленную систему обновленное ядро, которое нужно собрать самостоятельно заранее.

P.S. Ядро в инсталляторе — это ни что иное, как дистрибутивное 2.4.20-alt5-boot, собранное под архитектуру i386. Чтобы иметь возможность подсунуть инсталлятору любой драйвер от интересующей вас железяки, нужно взять с дистрибутивных дисков файл kernel24-2.4.20-alt5.src.rpm, установить его с помощью rpm, в каталоге ~/RPM/SPECS/ в файле kernel24.spec нужно выставить сборку загрузочного ядра (%define BUILD_BOOT 1), а сборку остальных ядер отменить. Изменения к ядру (новые версии драйверов) лучше делать патчами — в понятии rpm. После обновления текстов ядра его можно собирать: rpmbuild --target=i386 -bc kernel-2.4-stable.spec. После этого находим собранные файлы *.o и записываем их на дискету. Если при загрузке в инсталляторе insmod будет ругаться на Unresolved symbols, то нужно выяснять каких модулей не хватает (в моём случае перед загрузкой aic79xx.o потребовалось предварительно подгрузить scsi_mod.o) и подгрузить их перед вашими модулями.