centos 6.3 kickstart 装机卡在 unsupported hardware detected 页面

起因

最近厂里一批 dell 新机器 centos 6.3 装机卡在 Unsupported Hardware Detected 页面,要人肉点击 OK 才能继续装机:

Unsupported Hardware Detected
This hardware (or a combination thereof) is not supported by Red Hat.
For more information on supported hardware, please refer to http://www.redhat.com/hardware.

google 了一下 unsupported hardware 关键词,RHEL 手册提到 kickstart 有个 unsupported_hardware 可选项:

unsupported_hardware (optional)
Tells the installer to suppress the Unsupported Hardware Detected alert.
If this command is not included and unsupported hardware is detected, the installation will stall at this alert.

在 ks 文件中加上这行,结果空欢喜一场,安装程序提示说不认识这个字段。又找了一翻 redhat 6.4 的发行注记说,

从 6.4 开始才新添加 kickstart 的 unsupported_hardware 命令:

BZ#824963
A kickstart installation on unsupported hardware resulted in a dialog box asking for confirmation before proceeding with the installation process. As a consequence, it was not possible to perform a kickstart installation
on unsupported hardware without any user input. To fix this bug, a new unsupported_hardware kickstart command has been added, which skips the interactive dialog warning when installing a system on unsupported hardware without user input.

这批机器要安装的 OS 版本是 centos 6.3 的,没法用到这个新的 ks 选项。上面的官方文档有误导性 -_-#

经过

既然出现这个提示,那就找找是什么触发的警告,卡在这个页面时。按 Alt + F2 进入交互式 console

dmesg|less -i 中搜索 unsupported 关键字,找到下面这段内核报错:

Booting paravirtualized kernel on bare hardware
Detected CPU family 6 model 62
UNSUPPORTED HARDWARE DEVICE: CPU family 6 model > 59
------------[ cut here ]------------
WARNING: at kernel/rh_taint.c:13 mark_hardware_unsupported+0x39/0x40() (Not tainted)
Hardware name: PowerEdge R620
Your hardware is unsupported.  Please do not report bugs, panics, oopses, etc., on this hardware.
Modules linked in:
Pid: 0, comm: swapper Not tainted 2.6.32-279.el6.x86_64 #1
Call Trace:
 [<ffffffff8106b747>] ? warn_slowpath_common+0x87/0xc0
 [<ffffffff8106b7df>] ? warn_slowpath_fmt_taint+0x3f/0x50
 [<ffffffff8109a869>] ? mark_hardware_unsupported+0x39/0x40
 [<ffffffff81c27b5d>] ? setup_arch+0xb1f/0xb42
 [<ffffffff814fd223>] ? printk+0x41/0x46
 [<ffffffff81c21c33>] ? start_kernel+0xdc/0x430
 [<ffffffff81c2133a>] ? x86_64_start_reservations+0x125/0x129
 [<ffffffff81c21438>] ? x86_64_start_kernel+0xfa/0x109
---[ end trace a7919e7f17c0a725 ]---
NR_CPUS:4096 nr_cpumask_bits:48 nr_cpu_ids:48 nr_node_ids:2
PERCPU: Embedded 31 pages/cpu @ffff880060600000 s94424 r8192 d24360 u131072
pcpu-alloc: s94424 r8192 d24360 u131072 alloc=1*2097152
pcpu-alloc: [0] 00 02 04 06 08 10 12 14 16 18 20 22 24 26 28 30 
pcpu-alloc: [0] 32 34 36 38 40 42 44 46 -- -- -- -- -- -- -- -- 
pcpu-alloc: [1] 01 03 05 07 09 11 13 15 17 19 21 23 25 27 29 31 
pcpu-alloc: [1] 33 35 37 39 41 43 45 47 -- -- -- -- -- -- -- -- 
Built 2 zonelists in Zone order, mobility grouping on.  Total pages: 33080355
Policy zone: Normal

这批 Dell R620 CPU 型号是:Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10GHz

内核识别的 CPU family model 是 62 太新了吧,然后就崩了。

结果

上面的报错信息,只能说,软件得跟着硬件一起升级啊

既然 PXE 的引导 kernel 太旧,那就更新一下,用的 centos 6.4 的 pxe 引导文件替换掉 centos 6.3 的:

centos6.4-x86_64/images/pxeboot/vmlinuz
centos6.4-x86_64/images/pxeboot/initrd.img

然后,重新从网络引导,装机就没有出现 CPU family model 的报错,就没有再卡在 unsupported_hardware 处了。

参考


本文标题centos 6.3 kickstart 装机卡在 unsupported hardware detected 页面
原始链接https://lvii.github.io/system/2014-06-07-centos-6.3-kickstart-install-unsupport-hardware-detected/