当试图将hw_random安装到2.6内核时,modprobe在CentOS 5.7和Fedora 15上都会返回一个FATAL错误“No such device”。两者分别使用最新的内核。
.ko文件存在,config-包含CONFIG_RTC = y和CONFIG_CRYPTO_RNG = m
这两个服务器都是x86_64 AMD处理器。
唯一的谷歌结果是非常古老的,经常引用内核模块'hw_random'(已被replace为处理器特定的模块,并没有提供太多的帮助。
有没有人能够安装hw_random? 我在安装模块时错过了一个步骤吗?
编辑:
Fedora 15
/lib/modules/2.6.40.6-0.fc15.x86_64/kernel/drivers/char/hw_random/amd-rng.ko
# uname -r
2.6.40.6-0.fc15.x86_64
# modprobe -v amd-rng
insmod /lib/modules/2.6.40.6-0.fc15.x86_64/kernel/drivers/char/hw_random/amd-rng.ko
致命错误:插入amd_rng错误(/lib/modules/2.6.40.6-0.fc15.x86_64/kernel/drivers/char/hw_random/amd-rng.ko):没有这样的设备
CentOS 5.7
/lib/modules/2.6.18-274.7.1.el5/kernel/drivers/char/hw_random/amd-rng.ko
# uname -r
2.6.18-274.7.1.el5
# modprobe -v amd-rng
insmod /lib/modules/2.6.18-274.7.1.el5/kernel/drivers/char/hw_random/amd-rng.ko
致命错误:插入amd_rng(/lib/modules/2.6.18-274.7.1.el5/kernel/drivers/char/hw_random/amd-rng.ko)时出错:没有这样的设备
“没有这样的设备”,就像“你的电脑缺less所需的硬件设备”。
查看PCI_VDEVICE(AMD,…)的Linux源代码amd-rng.c以查看PCI供应商和设备编号。
作为一个例子,amd-rng.c可能包含:
/* * Data for PCI driver interface * * This data only exists for exporting the supported * PCI ids via MODULE_DEVICE_TABLE. We do not actually * register a pci_driver, because someone else might one day * want to register another driver on the same PCI id. */ static const struct pci_device_id pci_tbl[] = { { PCI_VDEVICE(AMD, 0x7443), 0, }, { PCI_VDEVICE(AMD, 0x746b), 0, }, { 0, }, /* terminate list */ };
这些转化为:
vendor: 1022 ("Advanced Micro Devices [AMD]"), device: 7443 ("AMD-768 [Opus] ACPI") vendor: 1022 ("Advanced Micro Devices [AMD]"), device: 746b ("AMD-8111 ACPI")
使用lscpi -vnn将显示你所拥有的PCI设备。 您需要查看1022:7443或1022:746b 。