У меня есть система ARM, которая была предварительно загружена с некоторым вариантом Linux. Я не знаю распределение; Я могу видеть только номер ядра в dmesg.

В /etc /network /interfaces я устанавливаю eth0 в

auto eth0
iface eth0 inet dhcp

После сохранения и перезагрузки (или запуска ifdown eth0 с последующим ifup eth0) я вижу, что сетевая система ищет DHCP-сервер и фактически получает аренду действующего IP-адреса, но когда я запускаю ifconfig, интерфейс не был назначен адрес, который был снят с DHCP. Ему был присвоен 192.168. , адрес.

Откуда это возможно?

Я заметил в dmesg, что переменная "ip" передается ядру при загрузке с тем же адресом, который переопределяет мой адрес DHCP. Как я могу отключить это переопределение поведения? Я заметил динамическую переменную окружения в u-boot, которая называется ip. Я установил его dhcp и сохранил его в хранилище nv, но проблема осталась. Я попытался установить для переменной среды u-boot ipaddr значение dhcp, но мне сообщили, что это недопустимое значение для переменной.

Как я могу получить интерфейс для настройки через DHCP?

1 ответ1

1

Параметр ip описан здесь:

http://www.mjmwired.net/kernel/Documentation/filesystems/nfs/nfsroot.txt#81

Параметры, передаваемые ядру, хранятся в переменной с именем bootargs в u-boot.

Сделайте printenv чтобы проверить, какова ценность bootargs. Если вы видите параметр «ip =», передаваемый в ядро, вы можете удалить его из bootargs.

Есть еще одна возможность, через которую можно передавать параметры ядра.

Это опция CONFIG_CMDLINE в конфигурации ядра.

Если ваше ядро было собрано с поддержкой CONFIG_IKCONFIG , то должен быть файл /proc/config.gz .

Скопируйте это в /tmp и gunzip его и проверьте, присутствует ли опция CONFIG_CMDLINE и, если она есть, передается параметр ip или нет.

Если это так, то вы ничего не можете с этим поделать, только перекомпиляция ядра может изменить эту ситуацию. Я не уверен, возможно ли снова извлечь ip с помощью dhcp в /etc/rc.local и перезаписать ip, полученный из параметра ядра.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .