Назад | Перейти на главную страницу

Получение отладочных данных из debian initramfs

Я пытаюсь настроить сервер для debian lenny на программном raid0 и корневой файловой системе LVM через последовательную консоль и консоль восстановления хостинговой компании (в основном liveCD ubuntu).

После настройки raid0, установки LVM, запуска debootstrap, установки grub и т.д. я перезагружаюсь, и сервер зависает при загрузке до достижения init. На основе сообщений журнала ядра был переведен в оперативный режим массив raid и, возможно, LVM (извините, сейчас нет точных сообщений журнала, но будут завтра).

Сами скрипты initramfs не выводят никаких ошибок - только сообщения журнала ядра. Как я могу заставить initramfs производить полезные отладочные данные, чтобы я мог хотя бы определить, где он умирает?

Похоже, проблема заключалась в том, что консоль была указана дважды в командной строке ядра:

.... console=ttyS0,57600 console=tty0

Хотя сообщения ядра отправлялись на обе консоли, сообщения пользовательского пространства, по-видимому, отправлялись только на последнюю.

Сообщения ядра копируются на все устройства, указанные в командной строке ядра (/ proc / cmdline). Однако для сценариев, в которых необходим ввод (например, командная оболочка), вывод идет только на последнее устройство console = device (и это, конечно, откуда и берется ввод).

Что касается материала initramfs, debug = может быть установлен в командной строке ядра (например, через загрузчик, такой как GrUB), чтобы показать команды, выполняемые на любом уровне: top, premount, init и т. Д. посмотрел на версию init для initramfs и будьте осторожны: значение минус часть "init-", которую вы видите при загрузке. Я надеялся увидеть все уровни, используя только «отладку», но, увы, это не работает.

Кстати ... не то чтобы было иначе, но для меня это Ubuntu 10.04

Все зависит от того, как обрабатывается устройство (/ dev / console). Когда он открыт, он относится к последнему упоминанию console = в командной строке ядра. Таким образом, хотя ядро ​​может выводить сообщения для всех «упоминаний», пользовательская среда обычно имеет доступ только к последнему.

За 6 лет многое изменилось. Вики-документ Debian может быть кому-то полезен: https://wiki.debian.org/InitramfsDebug#Saving_debug_information