Определите модуль SCSI, используемый установщиком анаконды EL6?
Я пытаюсь установить CentOS 6
на более старом сервере Dell Poweredge 800. Он имеет контроллер Intel RAID SRCS14L с представленным логическим томом RAID 5.
У меня нет проблем с CentOS 5.x
Анаконда узнает устройство, но CentOS 6
Анаконда нет.
Я где-то читал, чтобы проверить, какие модули загружены в Anaconda, и если установленный модуль поддерживает контроллер RAID, у вас все будет хорошо. Тем не менее, существует большая разница в модулях, загружаемых Anaconda для CentOS 5.x
установить по сравнению с 6
,
Я также установил kernel-devel
пакет для el6
и в файле драйвера megaraid явно не указаны адаптеры Intel RAID SRCS14L; но некоторые другие RAID-адаптеры Intel в серии SRC.
Как определить драйвер или модуль, используемый CentOS 5.x
анаконда для моего контроллера SCSI? Как добавить поддержку Intel RAID SRCS14L в Anaconda для CentOS 6
?
Благодарю.
[обновлено]
Я нашел источник для модуля, но я не понимаю, как просто скомпилировать модуль ядра, который может быть загружен в anaconda во время выполнения. Из того, что я читаю, я не уверен, что это правильный способ сделать это. Может ли модуль ядра быть скомпилирован и загружен в Anaconda во время выполнения? Есть ли другой метод, который мне не хватает?
[обновление 2]
- Я буду использовать
lspci -k
и / илиlspci -nn
находясь в консоли во время установки (anaconda) CentOS 5 (нажмите ctrl+alt+f2), чтобы определить, какой модуль используется для доступа к устройству RAID. - Затем мне нужно будет скомпилировать модуль ядра по исходному коду ядра, указанному в
uname -r
анаконды. - Затем мне нужно будет добавить его в файл initrd.img и использовать этот файл при инициализации установки CentOS 6 (нажав вкладку на экране "Добро пожаловать в CentOS 6.0!")
Я обеспокоен обновлениями ядра и перекомпиляцией модуля драйвера при каждом обновлении. Опять же, я полагаю, что если бы я должен был скомпилировать драйвер для нового ядра, это единственный путь.
[обновление 3]
-
gdth
Источник драйвера / модуля находится в исходных текстах ядра для ядра, которое используется при загрузке CentOS с носителя 6.0 (2.6.32-71.el6), но не находится вinitrd.img
который находится на установочном носителе CentOS 6 - Опция ядра
CONFIG_SCSI_GDTH
[ see lkddb ] должен быть установлен для того, чтобы модуль собирался при компиляции ядра либо через файл конфигурации, расположенный в исходном дереве по адресу/kernel-2.6.32-71.el6/linux-2.6.32-71.el6.i686/configs/kernel-2.6.32-i686.config
или черезmake menuconfig
вDevice Drivers> SCSI device support> SCSI low-level drivers< Intel/ICP (former GDT SCSI Disk Array) RAID Controller support
,
[обновление 4]
Мне посоветовали подать RFE в ELrepo для запроса драйвера gdth, так как он был прекращен в RHEL upstream.
[обновление 5]
Некоторые ребята из ELRepo скомпилировали диск с драйверами для GDTH, который работал.
3 ответа
Как определить драйвер или модуль, используемый Anaconda CentOS 5.x для моего контроллера SCSI?
Вы можете извлечь файл образа initrd:
# mkdir /tmp/initrd
# cp /boot/initrd-`uname -r`.img /tmp/initrd
# cd /tmp/initrd
# gzip -dc initrd-`uname -r`.img | cpio -id
и взглянуть на init
файл или lib
папка:
# grep scsi init
echo "Loading scsi_mod.ko module"
insmod /lib/scsi_mod.ko
# ls -l lib/ | grep scsi
-rw------- 1 root root 294024 Nov 15 16:20 scsi_mod.ko
Как просто скомпилировать модуль ядра, который может быть загружен в Anaconda во время выполнения.
Я не пробовал, но я бы посоветовал вам сделать следующие шаги:
- извлечь initrd с установочного носителя
- добавить модули
- и упаковать все это в образе
- загрузить новый
initrd
параметр
Пожалуйста, обратитесь к ссылкам ниже для получения дополнительной информации:
Dell реализовал это целую вечность, используя DKMS. Есть два способа получить работающий модуль ядра:
- Загрузите Dell-DKMS-SRC для RedHat 6 и установите gcc на свой сервер, дважды загрузитесь после загрузки нового ядра (первая загрузка создаст модуль и поместит его в initrd, вторая загрузка активирует новый модуль во время загрузки). загрузки)
- Если вам не нужен gcc на вашем live-сервере: соберите DKMS-модуль на сервере сборки и перенесите его на свой сервер (
dkms ldtarball
)
Обновление 2011-11-17: так как вам нужен драйвер для процесса загрузки во время установки, вы должны прочитать это.
Вы можете определить модули, которые в данный момент загружены, выполнив команду lsmod
, Тем не менее, при сравнении Centos 5 и 6 я замечаю, что есть разные модули scsi, загруженные для почти идентичных конфигураций (по крайней мере, для конфигураций VM).
Идея может состоять в том, чтобы загрузить пакет с исходным кодом ядра и изучить источники драйверов.