安装 Ubuntu 服务器 9.10 时未检测到 IBM HostRAID

安装 Ubuntu 服务器 9.10 时未检测到 IBM HostRAID

我想在 IBM xSeries 306m 上安装 Ubuntu Server 9.10。板载 SATA RAID 控制器无法正确检测到。

有人曾在这些机器上安装 Ubuntu 或 Linux 并遇到过这个问题吗?

SATA 控制器在启动时报告自身为 Adaptec HostRAID

答案1

我刚刚亲自尝试了一下,让它工作了 [虽然不是在 RAID 配置中]。问题似乎与系统在启动时无法找到控制器的固件 (aic94xx-seq.fw) 有关。

以下是我为开始工作所做的事情:

首先在 Adaptec 控制器(启动时按 ctrl-a)中,删除您的 raid 阵列,这样您就有两个不同的驱动器。

接下来,启动 ubuntu server 9.10 安装盘并安装它。在我删除 RAID 阵列后,安装程序找到了驱动器,我能够在驱动器上安装,但安装无法从驱动器启动。

问题在于 Adaptec 9405w 控制器的固件没有复制到系统启动时启动的 initrd 映像中,因此它无法自行引导。为了解决这个问题,我使用以下步骤使用所需文件构建了一个自定义 initrd 映像:

安装后,启动安装盘并选择“救援模式”。

选择“以 root 身份使用 /dev/sda1”,然后选择“在安装程序环境中执行 shell”

这将使您进入一个 shell,其中 /dev/sda1 被挂载为 /target。现在您需要修复目标上的 initrd 映像以包含您需要的固件:

cd /target/boot
# backup the original...
cp initrd.img-2.6.31-14-server initrd.img-2.6.31-14-server.save
mkdir tmp
cd tmp
/target/bin/gzip -dc ../initrd.img-2.6.31-14-server | /target/bin/cpio -id

现在您将拥有一个解压版本的 initrd 映像,您可以将固件复制到该映像中:

cp /target/lib/firmware/aic94xx-seq.fw lib/firmware/2.6.31-14-server

不要像我一开始那样放入 adaptec 目录……

现在您可以重新创建 initrd 映像

find . | /target/bin/cpio --quiet --dereference -o -H newc | /target/bin/gzip -9 > ../initrd.img-2.6.31-14-server

重新启动后您现在就可以从硬盘启动 ubuntu 服务器了。

也许还有其他方法可以完成此操作,但这对我来说有效。

此外,您可能能够让其与 RAID 配置中的驱动器配合使用,但我无法让安装盘识别 RAID 阵列。您可能能够使用 alt-f2 切换到控制台窗口并 rmmod aic94xx 模块,然后使用 modprob 重新加载它。我会让其他人来解决这个问题。

希望这可以帮助。

编辑于2010/3/15:

系统启动后,我发现了一种简单的方法,可以确保如果固件文件中的任何文件有更新,则会自动将其包含在 initrd 映像中。我还没有测试过,但基本上,一旦安装了操作系统,在执行“apt-get upgrade”之前,请执行以下操作:

cp /target/lib/firmware/aic94xx-seq.fw /target/lib/firmware/2.6.31-14-server
/usr/sbin/update-initramfs -k all -u

此后,您应该能够毫无问题地进行升级,直到获得新的内核。

我尝试从安装盘运行 update-initramfs,但最终清除了 /target/boot 目录,所以你不想这样做。

-- 巴德

答案2

我设法在 xSeries 306 上安装了 Ubuntu 10.10 x86。

  1. 我将 BIOS 更新至 2008 年的最新版本。
  2. 我在 Adaptec BIOS 中将 RAID 配置为两个 SATA 500GB 驱动器上的镜像,并将其命名为 LONG! 名称以填充所有名称空间。
  3. 我正常地在其上安装了 Ubuntu 10.10 x64,RAID 被检测为/dev/mapper/long-raid-name并且其上的分区具有正确的 ID。

问题似乎出在 RAID 阵列的名称上,如果你用一个短名称来调用它,它会产生令人讨厌的空格,当 Ubuntu 检测到它们时,它会将它们变成/dev/mapper/ibmraid\\\\\\\\无法使用或格式化的安装。所以解决方案很简单:

  1. 更新固件
  2. 使用 Adaptec 实用程序设置 raid (ctrl+a)
  3. 安装 ubuntu 10.10.x64

相关内容