Архив метки: systemd

Автологин на hvc0 в Xen на Debian с systemd

Как-то вот не доходили руки разобраться с проблемой автологина на виртуальной консоли Xen’а на свежих Debian’ах. Раньше как-то проще было — чрутнулся в свежесозданный домен, поставил mingetty (уж не помню, почему так повелось), прописал в inittab

1:12345:respawn:/sbin/mingetty --noclear --noissue --nonewline --nohostname --autologin root hvc0

и радуешься рут-шеллу по xm console domU

В случае с Debian 8+ inittab’а уже нет, опыта работы с systemd тоже, а то, что попадалось в интернете на запросы по автологину в консоли и кое-как примененное у себя, в случае с Xen’ом дало какой-то странный результат — у меня параллельно существовали как строка ввода логина, так и, собственно, шелл. Причем, вводимые символы рандомно отправлялись то одному, то другому процессу.

Рабочий вариант оказался таким:

# cat /etc/systemd/system/serial-getty@hvc0.service.d/override.conf
[Service]
ExecStart=
ExecStart=-/sbin/agetty -a root --keep-baud 115200,38400,9600 %I $TERM

Файлик создал руками, ибо systemctl edit в Debian 8 еще не было. По-идее, все то же самое можно написать в Debian 9 через команду systemctl edit getty@hvc0.service — пока не проверял.

Debian, systemd и miredo

Обратил внимание, что на криптохосте не стартует miredo при загрузке. Проблема в том, что на момент старта miredo сеть недоступна и сервис не может отрезолвить прописанный в конфиге сервер.

Начал гуглить. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=739363 — прошло 4 года. Проблема так и остается нерешенной.

На убунтуфоруме решают костылями в стиле sleep N && service miredo restart. Я решил использовать свой вариант — проверку наличия дефолтного маршрута, который использую на майнинг-ригах (прописать это надо в /etc/rc.local):

while ! $(ip r s | grep -q default) ; do sleep 1 ; done
/usr/sbin/service miredo restart

По-идее, когда мы уже получили дефолтный маршрут (и прочие параметры) от роутера через DHCP, то сеть уже должна точно работать.