2014-12-09 3 views
0

Я изменяю драйвер Linux, и я хочу программно прочитать параметры, переданные в ядро ​​... другими словами, мой драйвер должен действовать по-другому, если конкретный параметр передается в Linux ядро при загрузке ...Программируемые параметры ядра linux

Как я могу это сделать?

Должен ли я читать их с /proc/cmdline, а затем запрограммировать свою логику? Или существует API для вызова и анализа параметров ядра?

ответ

2

Используйте макрос __setup(). См., Например, __setup("ip=", ip_auto_config_setup); в сети/ipv4/ipconfig.c

+0

Вы можете предоставить дополнительные сведения? Я взглянул на 'net/ipv4/ipconfig.c', но мне это не понятно ... –

+0

Это довольно просто. Вы объявляете этот макрос для соответствия строки обработчику. Строка может быть уникальной, например, «my_freq =». Обработчик должен быть статическим fuction, который анализирует значение после «=» В приведенном выше примере см. Реализацию ip_auto_config() для анализа параметров IP (ip, netmask, serverip, gateway, netdev, ...) – Adashi

0

Командная строка загрузки Linux загружается в глобальную переменную с именем saved_command_line. Он определен в init/main.c.

Просто прочитайте переменную в своем модуле.

Смежные вопросы