Как отладить initramfs сценарии?

Для моей установки Ubuntu 14.04 у меня есть 4 раздела LUKS, которые работают, поскольку поддерживающий блочные устройства формируют мой корневой раздел BTRFS. Используя настройки по умолчанию я не мог получить 4 зашифрованных раздела, разблокированные во время начальной загрузки, таким образом, я записал сценарий, который сделает это для меня.

Вид сценария работ, иногда когда я загружаюсь, у меня нет проблем, другие времена, он загружается в подсказку initramfs. Я думаю, там синхронизируют проблемы между нешифрованием разделов LUKS, затем сборкой раздела BTRFS и затем монтированием корня subvol, но я понятия не имею, как отлаживать/тестировать/устранять это. Какие-либо идеи того, что я мог сделать для выяснения то, что проблема?

1
задан 19 May 2014 в 21:25

1 ответ

Используйте параметр ядра "отладки", Вы будете видеть больше вывода отладки во время начальной загрузки, и initramfs запишет журнал начальной загрузки в/run/initramfs/initramfs.debug.

Отладка фактических сценариев начальной загрузки является обычно медленной работой. Необходимо взять initramfs, распаковать его (gzip -d init*.gz тогда cpio -vid < init*), изменить его (начните в /init), повторно упакуйте его, затем загрузитесь с ним. Добавьте операторы печати, где Вы хотите проверить то, что происходит в определенный момент. Проблема с условиями состязания состоит в том, что добавление печати отладки может изменить синхронизацию, приводящую к различному поведению. Нет никакого легкого решения этого кроме чтения кода и понимания, что это делает. Однако сценарии коротки и должны быть довольно легки следовать (/init, только приблизительно 300 строк кода).

1
ответ дан 11 November 2019 в 12:44

Другие вопросы по тегам:

Похожие вопросы: