Изменить узел устройства ядра в Ubuntu 16.04 (статическое имя интерфейса USB на основе порта, к которому он подключен)

Я работаю с сетевыми интерфейсами USB (Ethernet через USB) на Raspberry Pi. По сути, цель состоит в том, чтобы прошить несколько машин Linux одновременно через TFTP U-boot, используя четыре порта USB, предлагаемые Raspberry Pi.

Прямо сейчас я определил четыре интерфейса USB, и у каждого из них есть IP-адрес. Я установил сервер tftp . Он работает нормально, однако, если я пытаюсь подключить несколько компьютеров Linux одновременно, кажется, что DHCP смешивает интерфейсы (например, старый usb0 становится новым usb1 и старым ) usb1 становится новым usb0 ), и я считаю, что это создает путаницу при аренде, и поэтому обмены TFTP, кажется, застревают в состоянии мягкой блокировки.

Ну, этого не может быть. Поэтому я установил четыре правила udev, которые дают этим устройствам фиксированное имя на основе порта USB, к которому они подключены. Примерно так:

SUBSYSTEM=="usb", ACTION=="add", DEVPATH=="*.2", NAME="usb0"

(эти значения я получил с помощью udevadm info )

Очевидно, мне нужно переименовать устройство, так как оно будет именем моего сетевого интерфейса. Итак, в этом случае символическая ссылка бесполезна (если я не знаю чего-то другого).

Однако systemd-udevd не позволяет мне переименовать устройство:

28 февраля, 17:25:01 pi systemd-udevd [3749]: NAME = "usb2" игнорируется, устройство ядра узлы нельзя переименовывать; пожалуйста исправьте это в /lib/udev/rules.d/99-systemd.rules:49

Я читал в Интернете, что это было возможно до версии 15.04, поэтому я считаю, что должен быть способ восстановить это старое поведение?

Мы будем очень благодарны за любой совет.

0
28.02.2017, 21:57
0 ответов

Теги

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