Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
boards:nms-uq7-bklt:v1_ru:eth_addr [2024/01/15 17:35] – [Переменные окружения с точки зрения Linux] Артем Слепов | boards:nms-uq7-bklt:v1_ru:eth_addr [2024/01/26 09:57] (текущий) – [Переопределение MAC-адреса из Linux] Артем Слепов | ||
---|---|---|---|
Строка 3: | Строка 3: | ||
MAC-адреса в модулях устанавливаются двумя способами: | MAC-адреса в модулях устанавливаются двумя способами: | ||
- Вычитываются из I2C EEPROM 24AA025E48T-I/ | - Вычитываются из I2C EEPROM 24AA025E48T-I/ | ||
- | - Через переменные окружения U-boot | + | - Через переменные окружения U-boot |
Способ работы с MAC-адресами определяется на этапе сборки U-boot. | Способ работы с MAC-адресами определяется на этапе сборки U-boot. | ||
Строка 77: | Строка 77: | ||
=== Переменные окружения с точки зрения U-boot === | === Переменные окружения с точки зрения U-boot === | ||
U-boot вычитывает переменные окружения либо из из области flash, которая опеределна на этапе компиляции, | U-boot вычитывает переменные окружения либо из из области flash, которая опеределна на этапе компиляции, | ||
- | Во втором | + | Во случае невалидности необходимо выполнить команду //saveenv// в консоли U-boot. Так вкомпилированные переменные попадут во Flash. |
< | < | ||
BAIKAL # saveenv | BAIKAL # saveenv | ||
Строка 97: | Строка 97: | ||
Оба файла задаются на этапе сборке rootfs. | Оба файла задаются на этапе сборке rootfs. | ||
- | Linux должен корректно вычитывать переменные через fw_printenv (не должно быть сообщения //using default environment// | + | Linux должен корректно вычитывать переменные через fw_printenv (не должно быть сообщения //using default environment// |
=== Переопределение MAC-адреса из Linux === | === Переопределение MAC-адреса из Linux === | ||
Строка 103: | Строка 103: | ||
< | < | ||
fw_setenv ethaddr aa: | fw_setenv ethaddr aa: | ||
+ | </ | ||
+ | |||
+ | После перезагрузки MAC-адрес должен быть применен к сетевому интерфейсу и читаться через ifconfig | ||
+ | |||
+ | < | ||
+ | [root@baikal_t1_uq7 ~]# ifconfig | ||
+ | eth0 Link encap: | ||
+ | inet addr: | ||
+ | </ | ||
+ | |||
+ | |||
+ | === Команды для автоматического назначения MAC из EEPROM === | ||
+ | < | ||
+ | ethaddr=`dd if=/ | ||
+ | echo "set ethaddr=$ethaddr" | ||
+ | fw_setenv ethaddr $ethaddr | ||
+ | eth1addr=`dd if=/ | ||
+ | echo "set eth1addr=$eth1addr" | ||
+ | fw_setenv eth1addr $eth1addr | ||
</ | </ |