Всем привет.
Где-то в середине..конце июля 2015-го года всё случилось: накатил очередное обновление и ноут стал 100% застревать на загрузке. Тогда я откатил обновление core на начало июля, но такой воркэраунд меня перестал устраивать.
На ноуте установлен i686 вариант арча. Оборудование на шине PCI перечислено тут Установлено памяти 1 гиг. Параметры ядра: root=/dev/sda1 rw systemd.log_level=debug systemd.log_target=kmsg log_buf_len=10M enforcing=0 sysrq_always_enabled net.ifnames=0 debug ignore_loglevel print_fatal_signals=1 i915.modeset=0
Если сделать загрузку в режим emergency (параметр ядра, например, systemd.unit=emergency.target или просто emergency) - загружается всегда. Если сделать режим rescue или сложнее, то зависание 100%.
Застревает загрузка всегда немного в разных местах, но визуально всё останавливается вокруг Staring/Started Rf Kill <номер>. К сожалению, все попытки раздобыть больше отладочной информации не привели к успеху. Я пробовал увеличить уровень отладки (во всяких комбинациях), но дело в том, что после застревания загрузки комп не реагирует на кнопки (включая разрешённый принудительно через 'sysrq_always_enabled' ALT+SysRq+s, Alt+SysRq+b), и даже если корневая ФС смонтирована с опцией sync, после хард-ребута в побитом журнале не находится ничего интересного. COM-порта в ноуте нет, поэтому оставшийся единственный в поле зрения способ отладки - netconsole. Долго парился, но он просто не работает :)
Требуется вангование общества, ибо я просто уже не знаю, что придумать с этим хозяйством :)

О, сохранился случайно в один из разов журнал загрузки (в районе 17:37 в журнале отражены нажатия Alt+SysRq)
UPD: журнал загрузки не до момента зависания, а в более менее успешный emergency, напутал ..
UPD2: завёл отладку через netconsole, вот лог загрузки при переходе из режима emergency -> multi-user
Заранее благодарю за идеи
tchgefest
Почитайте Сетевые имена
Типа, от того, что я настрою udev так, чтобы он менял имя, изменится работоспособность .device-целей ? :)
Можно уйти от проблемы с сетью к, например, проблеме [email protected]: там зависимость от dev-ttyS0.device, который так-же точно в коматозе.
Есть мысли по поводу этого ? Про сетевые имена, полагаю, можно пока отложить - сути проблемы имена не меняют.
tchgefest
Вы еще используете eth0?
Ну, да, оно как-то само так получилось. А я не сильно сопротивлялся :)

tchgefest
Покажите ip a и ls /sys/class/net
Раз:
[[email protected] tmp]$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 36:11:f0:62:8f:ba brd ff:ff:ff:ff:ff:ff
inet 192.168.0.14/24 brd 192.168.0.255 scope global eth0
inet6 fe80::3411:f0ff:fe62:8fba/64 scope link
valid_lft forever preferred_lft forever
Два:
[[email protected] tmp]$ ls /sys/class/net
eth0 lo

Да, настройку eth0 проводил вручную, типа, ip l set dev eth0 up, ip a add ..., ip r add .... :) Так что пусть не смущает то, что интерфейс настроен.

tchgefest
У меня тоже
systemctl status sys-subsystem-net-devices-eth0.device
sys-subsystem-net-devices-eth0.device
Loaded: loaded
Active: inactive (dead),
но systemctl status sys-subsystem-net-devices-enp4s0.device работает.
sys-subsystem-net-devices-enp4s0.device Fast Ethernet
Loaded: loaded
Active: active (plugged)
Ну, вот, а у меня только вот так, как я показал. Никаких active(plugged).

Дополнительная инфа: systemd-analyze показывает ,что где-то при загрузке произошли тормоза и выход по таймауту (таймаут по умолчанию 1.5 минуты).
[[email protected] ~]# systemd-analyze
Startup finished in 16.370s (kernel) + 1min 31.529s (userspace) = 1min 47.900s

Но как я не старался узнать, в чём трабл, ничего не получилось: например, если пробовать запросить systemd-analyze --user, то если это делать рутом, то получаю ошибку:
[[email protected] ~]# systemd-analyze --user
Failed to create bus connection: В соединении отказано
если не рутом, то:
[[email protected] tmp]$ systemd-analyze --user
Failed to parse reply: Process org.freedesktop.systemd1 exited with status 1

В общем, как-то подобраться к проблеме не могу даже.
Так тупит всё: от запуска сетевых интерфейсов, до [email protected] и даже монтирование свопа - всё завязано на эти .device, которые в коме по непонятной причине.
Хелло всем.
С некоторых пор начались странные глюки: загрузка тупит, часть сервисов не запускается по причине зависимости от .device-целей. Все возможные .device цели отсутствуют вообще в листинге systemctl, если поглядеть systemctl -a, то видно, что пара .device-целей мертвы, например, sys-subsystem-net-devices-eth0.device. Если поглядеть статус этой цели, то вывод довольно лаконичен:
[[email protected] ~]# systemctl status sys-subsystem-net-devices-eth0.device
sys-subsystem-net-devices-eth0.device
Loaded: loaded
Active: inactive (dead)

В это же время в /sys/class/net/ есть eth0.
Что может быть за хрень ?

Спасибо.
В общем, к сожалению, самопроизвольно и бесследно прошло. Что за хрень была - непонятно.
Пока разбирался, выяснил, что запросы к LDAP попёрли потому, что база group (видимо) переопределяет базу initgroups, которую следует указать явно так:
initgroups: files
Собственно, вопрос закрыт.
Всем привет.
Изменил три строчки в nsswitch.conf (добавил ldap для случая ненахождения в files):
passwd: files ldap
group: files ldap
shadow: files ldap
Теперь при запуске КДЕ адски тормозит (запускается минут 30), в логе slapd куча обращений типа:
filter="(&(objectClass=posixGroup)(memberUid=root))"
или
filter="(&(objectClass=posixGroup)(memberUid=impatt))"
Как так получается, интересно, если в /etc/{passwd,shadow,group} есть эти юзеры ? Зачем оно лезет в LDAP ?
impatt
Не работает :)
Заработало, добавил RemainAfterExit=yes, хотя что-то в мою башку пока не поместилось понимание этого параметра :)
kurych
netctl пытается быть универсальной для большинства ординарных случаев. Если Вам не подходит, просто сделайте свой юнит Type=oneshot, где и пропишите нужные команды "ExecStart=ip -6 ..." в необходимом количестве.
Спасибо, попробовал.
Сделал так:
---
[Unit]
Description=wifi IPv6 free access point
BindsTo=sys-subsystem-net-devices-wlp0s29f7u2.device
After=sys-subsystem-net-devices-wlp0s29f7u2.device
[Service]
Type=oneshot
ExecStart=/usr/bin/bash -c '/usr/bin/ip l set wlp0s29f7u2 up; /usr/bin/sleep 1; /usr/bin/ip -6 a add 2001:470:1f0b:d36:b180::1/76 dev wlp0s29f7u2'
ExecStop=/usr/bin/bash -c '/usr/bin/ip -6 a del 2001:470:1f0b:d36:b180::1/76 dev wlp0s29f7u2; /usr/bin/ip l set wlp0s29f7u2 down'
---

Не работает :) Если исполнять команды вручную в консоли, то всё ОК. А с помощью systemd - в логе сообщение ядра "IPv6: ADDRCONF(NETDEV_UP): wlp0s29f7u2: link is not ready". Как при попытке запуска, так и при попытке останова.
Отчего такое может быть ? Можно ли как-то поглядеть, какие команды исполнялись и в какое время для старта юнита и от имени какого пользователя ? Интересно бы узнать подробнее.
Привет всем.
Есть такая задача в общем виде, последовательно по шагам:
а) поднять интерфейс и назначить на него IPv6 адрес; (вручную делается тривиально, типа ip l set dev wlp0s29f7u2 up; ip -6 a add <адрес> dev wlp0s29f7u2)
б) запустить hostapd;
в) запустить radvd;

Шаг а) что-то не получается сделать с помощью netctl: в скрипте /usr/lib/network/network есть проверка на флаг "tentative" на интерфейсе, а как это обойти - непонятно. Есть идеи ?
Да, уточню: интерфейс wifi, но в профиле netctl я пишу ethernet, ибо специфики настройки wifi от netctl не требуется, она даже, как мне кажется. мешает.

Ну и профиль, который пытаюсь запустить:
-----
escription='A simple AP'
Interface=wlp0s29f7u2
Connection=ethernet
SkipNoCarrier=yes
IP6=static
Address6=('2001:470:1f0b:d36:b180::1/76')
Gateway6='2001:470:1f0b:d36:b100::2'
-----
kurych
Какая разница isolinux или grub? Я спрашивал, в какой момент видимость загрузки "отваливается".
В принципе, большинство загрузчиков можно сконфигурировать для вывода в последовательный порт. 1-й GRUB я сам так использовал. Уверен, что GRUB2 тем более это умеет. Syslinux (и isolinux), судя по документации (man, параметр конфига serial port [ baudrate ]) тоже не отстает.
Но для первоначальной установки в этом можно не копаться пока. Главное для начальной установки - что бы загружаемое ядро грузилось с параметром console=ttyS0,9600n8. В isolinux его надо добавить к параметру APPEND, в lilo - append, в GRUB - linux.
У меня такой сервер, доступный по com-порту буквально еще два года назад работал. Сейчас может возникнуть нюанс в связи с самоуправством systemd. Может быть надо будет еще в /etc/systemd/system/getty.target.wants/ создать сервис, аналогичный [email protected] (а может и нет). Это уж попробуйте сначала на какой-нибудь локальной машине. У меня сейчас нет на это ни времени, ни возможностей.
Видимость отваливается в момент запуска загрузчика.
В принципе, раздербанив iso-образ, я вижу в параметрах syslinux ком-порт, поэтому просто жду возможности попробовать (вчера в узле связи не было никого). Полагаю, настроив скорость в minicom на ту, что стоит в настройке syslinux, что-то да будет.
Ну и далее да, надо ядру передать параметр console=ttyS0,38400 (такая скорость настроена в syslinux), далее systemd будет печатать в ту-же консоль - это в доке написано и мною проверено, а потом просто стартовать как-то модифицированную копию serial-getty.service
Это понятно.
Жду возможности проверить, как отработает загрузчик с конфигурацией по умолчанию.
Спасибо.