Как выполнить udhcpc как некорневой

Взгляните на 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'

Слово советует: Компиляция всех модулей в ядро не является хорошей идеей. Я думаю, что понимаю Ваше стремление, потому что в какой-то момент я также отчаянно пытался делать это. Проблема с таким подходом состоит в том, что Вы не можете разгрузить модуль, после того как это встроено - и, к сожалению, особенно драйверы беспроводных устройств имеют тенденцию быть багги, который приводит к необходимости перезагрузки их модулей. Кроме того, в некоторых случаях версия модуля недавнего драйвера не будет просто работать.

2
24.05.2011, 00:03
1 ответ

Клиент DHCP должен связать сокет ICMP, и это требует корневых полномочий ¹. Можно дать определенные полномочия пользователя выполнить dhcp через sudo. Выполненный visudo добавить строку как это к конфигурации (joe имя пользователя для авторизации):

joe ALL = (root) /sbin/udhcpc

¹ Или соответствующая возможность, но они еще не широко распространены.

1
27.01.2020, 22:24

Теги

Похожие вопросы