Я как-то пользовался дистронезависимым и файловосистемонезависимым способом, только он немножко так красноглазый и требует наличия последовательного порта. Через порт подключаешь другую тачку, даешь ядру параметр, чтобы выводило все на этот порт. Смотришь. Вроде как можно и через юсб-ком переходник в новых ядрах, но так я не пробовал.
Боюсь показаться КО, то ты для начала включи вывод на монитор в убунте и убери заставку в параметрах ядра, то есть убери quiet и splash. Может по тому, что оно напишет на момент проблемы будет понятнее. Сорри, если ты уже так сделал и ничего не вышло.
Хотя тут тоже не факт - у меня на ноуте пару версий назад убунта висла на старте, если убрать splash :-)
Нужен только работающий драйвер сетевой карты. Модуль netconsole может работать сразу после того, как инициализируется драйвер нужной сетевой карты и сетевой стек ядра.
Все подробности есть в $KERNELSRC/Documentation/networking/netconsole.txt
Кстати говоря, лог можно направить и в RS232 (который COM-порт): $KERNELSRC/Documentation/serial-console.txt
Ага, это инитрд. Он просто набор шеловских скриптов, поэтому его тоже можно затрейсить, вписав куда-нибудь в начало скрипта что-то типа set -x и пересобрав initrd. Таким образом ты cможешь добраться до конкретной сбойной команды.
В /var/log/messages можно посмотреть, если оно туда успевает попасть и сохраниться. Ну или можно отладочный вывод куда-нибудь сбрасывать, на принтер или на serial console.
Нет, не из-за того, а из-за того что init-premount - то есть до монтирования. Поэтому файловой системы нет еще, писать логи некуда. Сделай set -x в инитрд и лови дальше.