LINUX.ORG.RU

systemd и корень в nfs

 , , ,


0

2

столкнул на debian 8.6 эти две сущности, вот сижу и чешу репу.

Итак, что имеем:

  • нормально сконфигурированный хост (dnsmasq как dhcp-сервер, tftp-hpa отдает образ ядра и dtb, nfs обслуживает корневую файловую систему)
  • железку с u-boot, которая успешно подтягивает ядро по сети, загружает initrd, а затем — стартует init из nfs.
  • в качестве init нынче в дебиане юзается systemd. И вот этот товарищ, очевидно, пытается что-то делать с сетью (/etc/network/interfaces у меня только с loopback-интерфейсом, network-manager вроде не стартует.

И вот вся эта фигня при старте multi-user.target доходит до какого-то момента, а потом ядро начинает ругаться

[   50.484109] nfs: server 192.168.1.100 not responding, still trying

В отладке systemd не силен, но заметил, что корень отваливается после сообщения

[  OK  ] Started Connection service.

Что это за Connection service? Не network.target ли? И зачем и как он лезет конфигурировать мне сеть?

Гуру systemd, помогите.

---

Разобрался. Проблема оказалась в connman.service. Кто такой и как он там оказался — непонятно.

★★★★★

Последнее исправление: demidrol (всего исправлений: 1)

И вот этот товарищ, очевидно, пытается что-то делать с сетью

Неочевидно. Он лишь запускает процессы — networkd и так далее в дебиане не используются.

Что у тебя рулит сетью внутри линукса? Посмотри в /etc/systemd/system/*.wants внутри ФС — что там есть?

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

методом тыка (т.е. последовательного отключения всего, что отдаленно напоминает сеть) выяснил, что во всем виноват connman.

demidrol ★★★★★
() автор топика
Ответ на: комментарий от Deleted

фиг знает, потом гляну. Вообще поиск проблем в systemd — полный отстой. Я уж лучше тихо-мирно на генте с openrc продолжу существовать.

---

ага, именно его юнит

[Unit]
Description=Connection service

[Service]
Type=dbus
BusName=net.connman
Restart=on-failure
ExecStart=/usr/sbin/connmand -n
StandardOutput=null

[Install]
WantedBy=multi-user.target

demidrol ★★★★★
() автор топика
Последнее исправление: demidrol (всего исправлений: 1)
Ответ на: комментарий от demidrol

Вообще поиск проблем в systemd — полный отстой

Есть опция загрузки ядра systemd.log_level=debug и еще кучка. Костыль ужасный.

mandala ★★★★★
()
Последнее исправление: mandala (всего исправлений: 1)
Ответ на: комментарий от mandala

и? лучший дебаг для инита — это попросить его исполнять все скрипты последовательно. В моем случае — до той поры, пока не отвалится сеть. Systemd такого не умеет по определению.

demidrol ★★★★★
() автор топика
Ответ на: комментарий от demidrol

Угу, строчки вида

[  OK  ] Started Connection service.
[  OK  ] Blah blah blah1
[  OK  ] Blah blah blah2
[Failed] Blah blah blah3
[  OK  ] Blah blah blah4

всегда бесили - в них часто совсем не хватает информации, куда копать. Необходимо еще смотреть systemctl или jounalctl -b -p err . И это усложняет всё, если логин невозможен. Сделали бы эти вышеупомянутые строки не такими красивыми, но с адекватной инфой. А еще ведь там может поломаться не на той строке, которая последняя, а любой, т.к. асинхронность.

Description в юните убогий, конечно. Что такое connman - знают многие. А идентифицировать загадочный «Connection service» сложно

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.