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
내장 코드(CONFIG_CFG80211=y) 대신 cfg80211 코드를 모듈(CONFIG_CFG80211=m)로 빌드하도록 커널 구성을 변경하여 이 문제를 해결했다고 생각합니다. 이렇게 하면 규제 데이터베이스 파일을 펌웨어로 로드하는 코드가 루트 파일 시스템이 마운트된 후에 실행됩니다.