内核更新后的 Debian Squeeze 和 RAID 固件

内核更新后的 Debian Squeeze 和 RAID 固件

几天前,我在服务器上安装了 Debian Squeeze。在安装过程中,安装程序要求我提供装有固件的 USB 闪存驱动器aic94xx-seq.fw(文件可能由于许可而消失,您可以在 adaptec 网站上找到它:http://www.adaptec.com/en-us/speed/scsi/linux/aic94xx-seq-30-1_tar_gz.htm)。一切顺利。今天,我在 aptitude 中使用“U”安装了系统的所有更新。Aptitude 安装了内核更新 2.6.32-5 并相应地创建了 initrd。但现在我无法启动系统,因为它无法在连接到 Adaptec RAID 卡的硬盘上找到 LVM 卷。我现在该如何启动系统?我有带固件的 USB。我有网络启动 CD。不幸的是,当我尝试在 grub 中编辑启动记录时,我发现我的旧内核已经不存在了。grub 看到的唯一内核是新的 vmlinuz 内核和新的 initrd 如何让我的服务器恢复运行?

答案1

到达需要的地方来解决这个问题将会很困难。 如果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。 这一页有关于 Squeeze 的网络安装 CD 映像的说明,理论上对于已安装的系统,该过程应该相同。基于安装指南固件部分末尾的注释,您需要安装固件包以保持版本为最新版本,如果没有,那么您有责任保留与内核版本相匹配的固件版本。

答案2

您是否尝试过使用控制器提供的驱动程序重新创建 initrd?理论上,它应该在内核升级期间自动完成,但有时它不适用于自定义驱动程序。

答案3

如果您需要从 raid 控制器启动,则需要使用update-initramfs/lib/firmware 中复制的固件文件重新生成 initramfs(使用)。然后您可以使用此 initramfs 启动,并且固件应该可用。

您应该使用-bupdate-initramfs 上的选项,或者挂载根文件系统(和 dev/proc/sys)并在根文件系统中 chroot。否则它将从可启动 cd 更新 initramfs。

答案4

也许你缺少模块lvm2?试试这个:

  • 启动救援
  • 添加lvm2要救援的软件包(我不记得救援是否会自动执行此操作,可能是的,但请检查一下)
  • 使用lvm2命令和模块能够你的分区

使用扫描扫描lvscan找到lvm链条并安装它。从那里,您可以使用chroot更改为生产系统并使用初始化内存文件系统工具来重新生成它。确保包含所有模块,以确保万无一失。快速提示:在 chroot 到正确的分区后,使用su -将环境变量应用于 chrooted 环境,使工作更容易。

相关内容