我正在尝试使用 Atmel AT91SAM9G45 SOC 在我的主板上启动 4.19 (4.19.16) 内核。我在内核配置中包含了 CRDA 支持,但内核报告它无法在启动期间加载regulatory.db 文件。
cfg80211: Loading compiled-in X.509 certificates for regulatory database
usb 1-2: New USB device found, idVendor=0424, idProduct=2514, bcdDevice= 0.00
usb 1-2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
hub 1-2:1.0: USB hub found
hub 1-2:1.0: 4 ports detected
cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
cfg80211: failed to load regulatory.db
Waiting 1 sec before mounting root device...
usb 1-1.2: new high-speed USB device number 4 using atmel-ehci
usb 1-1.2: New USB device found, idVendor=0cf3, idProduct=9378, bcdDevice= 3.00
usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1.2: Product: USBWLAN
usb 1-1.2: Manufacturer: Qualcomm Atheros
usb 1-1.2: SerialNumber: 12345678
usb 1-1.4: new full-speed USB device number 5 using atmel-ehci
usb 1-1.4: New USB device found, idVendor=0d8c, idProduct=0008, bcdDevice= 1.00
usb 1-1.4: New USB device strings: Mfr=0, Product=1, SerialNumber=0
usb 1-1.4: Product: C-Media USB Audio Device
EXT4-fs (mmcblk0p2): mounting ext3 file system using the ext4 subsystem
EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
VFS: Mounted root (ext3 filesystem) readonly on device 179:2.
Freeing unused kernel memory: 1024K
Run /sbin/init as init process
INIT: version 2.86 booting
Please wait: booting...
我已经将regulatory.db
和regulatory.db.p7s
文件放入目录中/lib/firmware
,但仍然失败。在我看来,内核正在尝试在安装regulatory.db
文件所在的文件系统之前加载该文件。
这应该如何运作?
答案1
我想我已经通过更改内核配置将 cfg80211 代码构建为模块(CONFIG_CFG80211=m)而不是内置代码(CONFIG_CFG80211=y)来解决这个问题。这会强制将监管数据库文件作为固件加载的代码在安装根文件系统后运行。