Взгляните на CONFIG_FIRMWARE_IN_KERNEL
, CONFIG_EXTRA_FIRMWARE
, и CONFIG_EXTRA_FIRMWARE_DIR
параметры конфигурации (найденный в Драйверах устройств-> Универсальные Опции Драйвера).
Первая опция включит встроенное микропрограммное обеспечение, встраиваемое в ядро, второй должен содержать микропрограммное имя файла (или разделенный пробелом список имен), и третье, где искать встроенное микропрограммное обеспечение.
Таким образом в Вашем примере, Вы установили бы те опции на:
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE='iwlwifi-6000-4.ucode'
CONFIG_EXTRA_FIRMWARE_DIR='/lib/firmware'
Слово советует: Компиляция всех модулей в ядро не является хорошей идеей. Я думаю, что понимаю Ваше стремление, потому что в какой-то момент я также отчаянно пытался делать это. Проблема с таким подходом состоит в том, что Вы не можете разгрузить модуль, после того как это встроено - и, к сожалению, особенно драйверы беспроводных устройств имеют тенденцию быть багги, который приводит к необходимости перезагрузки их модулей. Кроме того, в некоторых случаях версия модуля недавнего драйвера не будет просто работать.
Клиент DHCP должен связать сокет ICMP, и это требует корневых полномочий ¹. Можно дать определенные полномочия пользователя выполнить dhcp через sudo. Выполненный visudo
добавить строку как это к конфигурации (joe
имя пользователя для авторизации):
joe ALL = (root) /sbin/udhcpc
¹ Или соответствующая возможность, но они еще не широко распространены.