[РЕШЕНО] Обновление ядра ломает загрузку

vasek
Torchwood01
Принудительное обновление с ключём --force приводит к тому, что система отказывается загружаться.
Как только увидел ошибки, связанные с обновлением пакета systemd-sysvcompat
Torchwood01
systemd-sysvcompat: /usr/bin/halt exists in filesystem
systemd-sysvcompat: /usr/bin/init exists in filesystem
................. и т.д. .................................................................
нужно было сразу пробовать
# pacman -Syu --ignore systemd-sysvcompat
и если все обновилось нормально, то попробовать продолжить дальше - обновить с --force только один пакет systemd-sysvcompat
# pacman -S --force systemd-sysvcompat
Полной уверенности из-за наличия пакетов тестинг, конечно, нет, но помочь могло.

EDIT 1 - в этом случае хоть была возможность попытаться откатить пакет systemd-sysvcompat, а сейчас даже не понятно, что ты имеешь.

Сейчася я имею ту же систему, что до обновления, слава бекапам. Обновление с игнором уже сделал, правда, мне насоветовали это прописать сразу в конфиге (списибо за человеческий способ, буду знать), было то же самое.
#### M3B1US LVM C4SC4D3 DOUBL3 R34CH4ROUND ####
Torchwood01, почитай pacman -S --help
Ошибки не исчезают с опытом - они просто умнеют
Удалось более-менее локализовать очаг проблемы.

Итак, pacman -Qo сообщает, что скрипты инициализации, перезагрузки и пр. не принадлежат никакому пакету. Непонятно, откуда они взялись и почему именно они работают, но зато очевидно, откуда взялся конфликт файлов.

Обнволение с выключенными тестовыми репозиториями происходит корректно (что интересно, среди пакетов в нём вообще нету sysvcompat, но мне, всё же, хочется заставить их работать. Игнорирование sysvcompat и самого systemd не решает проблему, исходя из чего я предположил, что какие-то другие пакеты в ветке testing были уже переделаны под совместимость с их новыми версиями. Я решил проигнорировать всё, что более-мене связано с инициализацией ОС и, о чудо, тестовая ветка обновилась! В итоге, на данный момент проблема сведена всего к семи пакетам:

systemd, systemd-sysvcompat, grub, linux, linux-headers, upower, vhba-module

Точнее, vhba к загрузке никак не относится, но у него в зависимостях была новая версия linux, так что он отвалился.

Буду пытаться обновлять каждый по отдельности и смотреть, в какой момент всё опять развалится.
#### M3B1US LVM C4SC4D3 DOUBL3 R34CH4ROUND ####
А теперь самое интересное. Systemd-sysvcompat не виноват в проблеме. Смутившие меня конфликты файлов, относящихся к загрузке, заставили два дня подозревать не того!

Обновился и он, заменив своими симлинками лажовые скрипты, и сам systemd. Выяснилось, что проблема в пакете linux. Исключил также linux-headers (обновляется корректно, но отваливается DKMS, откатил), ну, мало ли, какие-то модули ломаются, и, на всякий случай, даже vhba (тупо снеся его вместе с cdemu). Не-а, в итоге система приводится к виду, где pacman -Syu сообщает только об обновлении linux и оно ломает загрузку.

Вопросов теперь два — чего там такого намейнтейнили и когда я смогу обновить ядро. Хотя, они, скорее, риторические. Буду просто ждать следующей версии пакета.
#### M3B1US LVM C4SC4D3 DOUBL3 R34CH4ROUND ####
Новая версия ядра наконец-то вышла в стабильной ветке, а нестабильная ушла и того дальше… и теперь обе ломают мне систему. Не могу обновить ядро даже с отключённым [testing]. Что-то не так в версии 4.13, работает только 4.12. Как и раньше, судя по выводу, загрузка просто встаёт на моменте, когда ядро уже подключило всё железо и должно передать управление systemd.

В голову пришли два решения, одно другого «дороже»: попробовать поставить вручную уже выпущенную на kernel.org 4.14 в надежде, что мучающий меня баг починили, или мигрировать на systemd-based initramfs, чтобы пресловутый systemd загружался раньше точки, в которой это не делает. То и другое оставлю на крайний случай.

Есть предложения как починить по человечески, чем может быть вызвано, куда вообще «копать»?
#### M3B1US LVM C4SC4D3 DOUBL3 R34CH4ROUND ####
Torchwood01
Варианты создания initcpio может тут косяк?
https://github.com/warlock90000/awesome
В таких случаях полезно рядом держать linux-lts.
Torchwood01
судя по выводу
А если посудить по выводу в системном журнале, в логе загрузки ?

Torchwood01
Исключил также linux-headers (обновляется корректно, но отваливается DKMS, откатил)
Вот сколько стоит dkms версий драйверов, ничего не отваливается.
[2017-09-28 20:03] [ALPM-SCRIPTLET] ==> dkms install nvidia/384.90 -k 4.13.1-pf
[2017-09-28 20:04] [ALPM-SCRIPTLET] ==> dkms install nvidia/384.90 -k 4.13.3-1-ARCH
[2017-09-28 20:04] [ALPM-SCRIPTLET] ==> dkms install vhba-module/20170610 -k 4.13.3-1-ARCH
[2017-09-28 20:05] [ALPM-SCRIPTLET] ==> dkms install vhba-module/20170610 -k 4.13.1-pf
[2017-09-28 20:05] [ALPM-SCRIPTLET] ==> dkms install vboxhost/5.1.28_OSE -k 4.13.3-1-ARC
Таки дошли руки в очередной раз попробовать обновить ядро, после чего перед восстановлением системы вытащить из мёртового варианта логи загрузки и внимательно изучить. Сказать, что я долго, грязно и трёхэтажно материл компанию AMD и всё, что с ней связано — ничего не сказать.

К моему удивлению, согласно логам, после момента абсолютно мёртвого, как мне казалось, повисания, система продолжала корректно грузиться вплоть до последних мелочей. Автологин в аккаунт, запускается NetworkManager, стартуют службы Tor с I2P и даже успевают соединиться с нодами до того, как я, тем временем, печально вздыхаю и жму на кнопку выключения «повисшего» компьютера. Читаю дальше, обнаруживаю попытку запуска иксов:

(EE)
Fatal server error:
(EE)No screen found(EE)
…
[email protected]: Comand process exited, code=exited status=1
[email protected]: Failed with result 'exit code'
Failed to start X on Vt7

Перечитываю весь лог от начала до конца, а потом начинаю сравнивать с ещё двумя логами удачных загрузок. В логе после обновления не обнаруживаю ни одного упоминания видеокарты и ни одного упоминания монитора после передачи управления от initramfs основной системе. То есть, система успешно грузится (кроме исксов) и даже, видимо, реагирует на мои попытки что-то нажать, но я этого не вижу, монитор-то отвалился…

Никакие переустановки или вовсе сносы (из надежды заставить работать хотя бы софтверную обработу графики) драйвера не помогли. Пытаюсь перейти на проперитарщину. Выясняется, что она прямо в зависимостях требует ядро… не выше именно той версии, с которой у меня всё работает. Видеокарта с новым ядром не работает и всё тут. Видимо, мейнтейнеры открытого драйвера просто не парятся. Какое-то время стоически сражаюсь с зависимостями, переделываю все конфиги и тыкаюсь в гуе каталиста. Есть контакт.

Итоговая конфигурация системы: ядро lts, неофициальный репозиторий Xorg, Catalyst, рыдающий над этим делом любитель свежайших пакетов, [testing] и свободного ПО. После сноса основного ядра pacman соглашается обновиться (иначе заивисомсти впадают в истерику).

Вопрос закрывается. Остался лишь риторический: копить на видеокарту Nvidia или винтовку M-16, чтобы наведаться в офис ATI?
#### M3B1US LVM C4SC4D3 DOUBL3 R34CH4ROUND ####
Решил свою проблему с линукс ядрами , описание проблемы здесь - https://m.vk.com/wall-129498031_11258 .
А ответ нашёл здесь - https://bbs.archlinux32.org/viewtopic.php?id=170 .
В /etc/default/grub закоментил : #GRUB_GFXPAYLOAD_LINUX=keep
и в терминале
sudo grub-mkconfig -o /boot/grub/grub.cfg

Теперь через grub customaizer могу выбирать новое(4.14) или lts ядра :)
 
Зарегистрироваться или войдите чтобы оставить сообщение.