Назад | Перейти на главную страницу

Прошивка Debian Squeeze и RAID после обновления ядра

Я установил Debian Squeeze на свой сервер несколько дней назад. Во время установки установщик попросил предоставить флешку с прошивкой aic94xx-seq.fw (файл исчез, вероятно, из-за лицензирования, его можно найти на сайте adaptec: http://www.adaptec.com/en-us/speed/scsi/linux/aic94xx-seq-30-1_tar_gz.htm). Все прошло нормально. Сегодня я установил все обновления в свою систему с буквой «U». Aptitude установила обновление ядра 2.6.32-5 и соответственно создала initrd. Но теперь я не могу загрузить свою систему, потому что она не может найти тома LVM на жестком диске, подключенном к карте Adaptec RAID. Как я могу загрузить свою систему сейчас? Имею USB с прошивкой. У меня есть компакт-диск с сетевой загрузкой. К сожалению, когда я попытался редактировать загрузочные записи в grub, я обнаружил, что моего старого ядра больше нет. Единственное, что видит grub - это новое ядро ​​vmlinuz и новый initrd. Как сделать мой сервер живым?

Добраться туда, куда вам нужно, чтобы исправить это, будет непросто. Если livecd имеет необходимый вам драйвер adaptec, если вы можете не дать ему загрузить драйвер до тех пор, пока вы не подключите USB-накопитель и не скопируете файл в / lib / firmware /, достаточно хороший livecd должен иметь возможность автоматически загрузить прошивку. Если вы не можете заставить его загружать прошивку автоматически, вам нужно будет сделать это вручную в соответствии с инструкциями внизу эта страница, что может включать что-то вроде

echo 1 > /sys/class/firmware/something/loading
cat /some/usb/folder/aicwhatever.fw > /sys/class/firmware/something/data
echo 0 > /sys/class/firmware/something/loading

(У вас есть 10 секунд с момента загрузки драйвера для этого, иначе драйвер не загрузится.)

Это должно заставить raid-контроллер работать в livecd. Оттуда вам нужно будет смонтировать свои диски и воссоздать initrd / initramfs вашего ядра. Эта страница содержит инструкции по выполнению этого для образа компакт-диска netinstall Squeeze, теоретически процесс должен быть таким же для установленной системы. На основе комментарии в конце раздела прошивки руководства по установке, вам необходимо установить пакет микропрограмм, чтобы поддерживать версию в актуальном состоянии, в противном случае вы несете ответственность за поддержание версии микропрограммы, соответствующей версии ядра.

Вам нужно будет загрузиться в режиме восстановления, изменить / etc / fstab, чтобы закомментировать файловые системы, вызывающие нарушение, затем загрузиться в обычном режиме и пересобрать initrd.

Если вам нужно загрузиться с рейд-контроллера, вам нужно будет заново сгенерировать initramfs (используя update-initramfs) с файлом прошивки, скопированным в / lib / firmware. Затем вы можете загрузиться с помощью этого initramfs, и у вас должна быть доступна прошивка.

Вы должны использовать -b в update-initramfs или смонтируйте корневой fs (и dev / proc / sys) и chroot в корневом fs. В противном случае он обновит initramfs с загрузочного компакт-диска.

Вы пытались воссоздать initrd с драйверами, поставляемыми с вашим контроллером? Теоретически это должно выполняться автоматически во время обновления ядра, но иногда это не работает с пользовательскими драйверами.

Может быть, вам не хватает lvm2 модули? Попробуй это:

  • Спасение загрузки
  • Добавить lvm2 пакеты для спасения (я не могу вспомнить, делает ли спасение это автоматически, возможно, да, но проверьте это)
  • Использовать lvm2 команды и модули, чтобы иметь возможность видеть ваш раздел

Использовать pvscan, vgscan и lvscan найти lvm цепь и смонтировать. Оттуда вы можете использовать chroot перейти на вашу производственную систему и использовать initramfs инструменты для его восстановления. Обязательно включите все модули, на всякий случай. Совет: после перехода на правильный раздел используйте su - для применения переменных окружения к chrooted окружению, упрощает работу.