Не работает гибернация

nafanja
??? он и остался основным...
Основной то он основной, но на очередность загрузки он не очень то и влияет ..... вся очереденость загрузки хуков (в зависимости от стадии) расписана в других файлах initramfs.
Ошибки не исчезают с опытом - они просто умнеют
почти так.
смотри, в самом initramfs в корне есть /config (сгенерированный) и /buildconfig (исходный mkinitcpio.conf)
/buildconfig

HOOKS="base udev autodetect modconf block filesystems keyboard fsck keymap consolefont resume"
/config
EARLYHOOKS="udev"
HOOKS="udev keymap consolefont resume"
LATEHOOKS=""
CLEANUPHOOKS="udev"
/init (сам код инициализации использующий список HOOKS)

run_hookfunctions 'run_hook' 'hook' $HOOKS
а сама функция run_hookfunctions последовательно исполняет хуки из списка $HOOKS

дальше, если переставить например так
mkinitcpio.conf
HOOKS="resume base udev autodetect modconf block filesystems keyboard fsck keymap consolefont"
то и в /config хук resume станет первым
HOOKS="resume udev keymap consolefont"
а соответственно и первым будет выполняться!!!

и если хук зависит от выполнения других хуков, а выполнится раньше, то будет ошибка!!!
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
а теперь пример показывающий зависимость от расположения хуков при создании initramfs
в хуках
/usr/lib/initcpio/install/base

    add_file "/usr/lib/initcpio/init" "/init"
/usr/lib/initcpio/install/systemd
    add_binary /usr/lib/systemd/systemd /init
этот код говорит о том какой файл будет добавлен в initramfs и будет исполняться сразу после загрузки ядра в пространстве initramfs, в первом случае это баш скрипт, во втором это бинарник systemd.

и так, проведя перестановку положения хука systemd до и после base, с последующей генерацией initramfs мы видим что
если хук systemd до base файл /init башевский
если хук systemd после base файл /init бинарный

что и требовалось доказать: от положения хуков зависит многое. один хук может испортить логику работы другого хука как на стадии генерации, так и на стадии выполнения initramfs.

поэтому нужно понимать что
1. правильная последовательность важна!
2. не использовать взаимозаменяющие хуки одновременно! если точно не знаешь как они работают
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
nafanja, спасибо за участие в обсуждении загрузки хуков …. стал лучше понимать ….. но теория теорией, но я больше практик и экспериментатор ….. что не доходит до меня теоретически, всегда экспериментирую …
UPD ….. в части initramfs-linux.img дошел в экспериментах до того, что потрошил его, вставлял свои хотелки (а для контроля ошибок вставлял в него даже реперные точки, видные при загрузке) и собирал обратно …... и главное все работало ...
Ошибки не исчезают с опытом - они просто умнеют
ismd, в убунте сравни с твоими mkinitcpio.conf (или какой там у них аналог, если он вообще есть) и в modprobe.d блэклисты (быстренько пробежался, там много интересного есть, в том числе и про асусы).
Ребят.
В вики же есть замечательная табличка. В ней описано, что и когда делают стандартные хуки.
Есть хуки, которые просто добавляют файлы в образ, есть исполняемые.
Исполняемые делятся по стадиям запуска.
Хуки sd-* обрабатывает systemd когда захочет)))
В целом на порядок в этой строчке можно положить болт. Кроме...
nafanja
2. не использовать взаимозаменяющие хуки одновременно!
Lupus pilum mutat, non mentem.
ismd, Maxim.M, я не понял - когда у Вас зависает после выхода их hibernate, ноутбуки остаются включенными или самопроизвольно выключаются ...... это я к тому, что если ноутбук/система просто висит, то можно попробовать с помощью debug-shell.service посмотреть логи, статус сервисов (может есть зависшие) и.т.п. надежды, конечно, мало .... но может и получится получить некоторую информацию
Ошибки не исчезают с опытом - они просто умнеют
vasek, система просто висит и не на что не реагирует (за исключением длительного нажатия кнопки питания, что в асусах означает жесткое выключение).
vasek
можно попробовать с помощью debug-shell.service посмотреть логи
Можно подробней? Но мне кажется, что дело не в сервисах, а в модулях.
Maxim.M
система просто висит и не на что не реагирует (за исключением длительного нажатия кнопки питания, что в асусах означает жесткое выключение).
Кнопку питания, конечно, лучше не трогать - попробуй волшебные клавиши
Перегрузка - Alt + SysRq + R + E + I + S + U + B
Выключение - Alt + SysRq + R + E + I + S + U + O
Но, чтобы это заработало, необходимо прописать в etc/sysctl.d/99-sysctl.conf kernel.sysrq=1 (по дефолту стоит 0)
Чтобы не перегружаться , можно обновить конфигурацию в ручную
$ sudo sysctl -p /etc/sysctl.d/99-sysctl.conf
Насчет debug-shell.service — если не возможно зайти в другой tty, то использование debug-shell.service бесперспективно — так как нужно будет входить на tty9
Ошибки не исчезают с опытом - они просто умнеют
Maxim.M, Num Lock работает при зависании? если не работает, то и никакие волшебные сочетания не помогут.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
 
Зарегистрироваться или войдите чтобы оставить сообщение.