Ядро, которое я создавал/компилировал, имеет erros загрузка встроенного микропрограммного обеспечения и для Bluetooth и для Wi-Fi, поскольку все модули встроены
Я работал
bret@asus:~$ sudo dmesg
[ 2.428254] rtl8723be: Using firmware rtlwifi/rtl8723befw_36.bin [ 2.428546] rtl8723be 0000:03:00.0: Direct firmware load for rtlwifi/rtl8723befw_36.bin failed with error -2 [ 2.428596] rtl8723be 0000:03:00.0: Direct firmware load for rtlwifi/rtl8723befw.bin failed with error -2 [ 2.428599] rtlwifi: Loading alternative firmware rtlwifi/rtl8723befw.bin [ 2.428601] rtlwifi: Selected firmware is not available
[ 3.273984] Bluetooth: hci0: rtl: examining hci_ver=06 hci_rev=000b lmp_ver=06 lmp_subver=8723 [ 3.273991] Bluetooth: hci0: rtl: loading rtl_bt/rtl8723b_config.bin [ 3.274046] bluetooth hci0: Direct firmware load for rtl_bt/rtl8723b_config.bin failed with error -2 [ 3.274049] Bluetooth: hci0: rtl: loading rtl_bt/rtl8723b_fw.bin [ 3.274076] bluetooth hci0: Direct firmware load for rtl_bt/rtl8723b_fw.bin failed with error -2 [ 3.274078] Bluetooth: hci0: Failed to load rtl_bt/rtl8723b_fw.bin
Я не хочу компилировать загружаемые модули, так как это не приличествовало бы цели, как решение, данное здесь
Следовательно, как я могу скомпилировать микропрограммные файлы для Wi-Fi в само ядро или еще лучше заставить ядро распознать их в
/lib/firmware/rtlwifi
После генерации конфигурации с
make localmodconfig
# then with a text editor find and replace =m with =y
gedit .config # find and replace =m with =y
или
make localyesconfig
Который я не попробовал, но я думаю, что это делает вышеупомянутое однажды. Я не попробовал его.
gedit .config
Найдите строку с # Firmware loader
Моя новая конфигурация была отредактирована для отражения
CONFIG_FW_LOADER=y
CONFIG_EXTRA_FIRMWARE="rtlwifi/rtl8723befw_36.bin rtl_bt/rtl8723b_fw.bin"
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"
После make
и make install
, новое ядро загружает встроенное микропрограммное обеспечение правильно, и приятно теперь я выполняю с ошибкой меньше компактное ядро