사용자 정의 커널 : 모듈 내장시 펌웨어를로드하지 못함


9

모든 모듈을 내장하고 싶지만 다음과 같이 실패합니다 iwlagn.

iwlagn 0000:03:00.0: request for firmware file 'iwlwifi-6000-4.ucode' failed.
iwlagn 0000:03:00.0: no suitable firmware found!

마이크로 코드 파일이 존재 하며 모듈로 /lib/firmware컴파일하면 모든 것이 잘 작동 iwlagn합니다. 파일을 어디에서 찾고 있는지 또는 어떤 문제가 있는지 전혀 모릅니다. 어떤 아이디어?


의견 대신 새로운 답변을한다; EXTRA_FIRMWARE_DIR은 빌드 환경의 펌웨어 Blob 위치에 해당합니다. 목표가 아닙니다. 참조 ( cateee.net/lkddb/web-lkddb/EXTRA_FIRMWARE_DIR.html )
orpheuswasrebornhere

답변:


10

상기 봐 가지고 CONFIG_FIRMWARE_IN_KERNEL, CONFIG_EXTRA_FIRMWARECONFIG_EXTRA_FIRMWARE_DIR구성 옵션을 (에서 찾을 장치 드라이버 -> 일반 드라이버 옵션 ).

첫 번째 옵션은 커널에 내장 된 펌웨어를 활성화하고, 두 번째 옵션은 펌웨어 파일 이름 (또는 공백으로 구분 된 이름 목록)과 세 번째 펌웨어 위치를 포함해야합니다.

따라서 귀하의 예에서 이러한 옵션을 다음과 같이 설정합니다.

CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE='iwlwifi-6000-4.ucode'
CONFIG_EXTRA_FIRMWARE_DIR='/lib/firmware'

조언 : 모든 모듈을 커널로 컴파일하는 것은 좋은 생각이 아닙니다 . 어느 시점에서 나는 또한 그 일을 필사적으로했기 때문에 당신의 야심을 이해한다고 생각합니다. 이러한 접근 방식의 문제점은 일단 내장 된 모듈을 언로드 할 수 없다는 점입니다. 불행히도 특히 무선 드라이버는 버그가있어 모듈을 다시로드해야합니다. 또한 최신 드라이버의 모듈 버전이 작동하지 않는 경우도 있습니다.


그것은 더 이상 사실이 아닙니다. 인텔 드라이버는 수동 개입없이 안정적이고 며칠 동안 제대로 작동합니다.
LtWorf

EXTRA_FIRMWARE 만 설명서에 따라 64 비트 커널에서 작동
ARVED
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.