LINUX.ORG.RU

Бага редко вопроизводится. Обычно при холодном старте.

Zodd ★★★★★ ()
Ответ на: комментарий от vga

dmesg вроде вызывает последнее загруженное ядро. А т.к. ядро виснет при загрузке, мне нужно знать предыдущий лог.

Zodd ★★★★★ ()
Ответ на: комментарий от Zodd

Ага, понял. Оно дистрозависимо, дистр скажи. И не факт, что оно залогит, если проблема происходит до монтирования фс на которую можно лог записать.

vga ★★ ()
Ответ на: комментарий от Zodd

Убунта вроде все в /var/log/syslog скидывает, если сможет.

vga ★★ ()
Ответ на: комментарий от Zodd

Я как-то пользовался дистронезависимым и файловосистемонезависимым способом, только он немножко так красноглазый и требует наличия последовательного порта. Через порт подключаешь другую тачку, даешь ядру параметр, чтобы выводило все на этот порт. Смотришь. Вроде как можно и через юсб-ком переходник в новых ядрах, но так я не пробовал.

vga ★★ ()
Ответ на: комментарий от Zodd

Боюсь показаться КО, то ты для начала включи вывод на монитор в убунте и убери заставку в параметрах ядра, то есть убери quiet и splash. Может по тому, что оно напишет на момент проблемы будет понятнее. Сорри, если ты уже так сделал и ничего не вышло.

Хотя тут тоже не факт - у меня на ноуте пару версий назад убунта висла на старте, если убрать splash :-)

vga ★★ ()
Ответ на: комментарий от Zodd

В логах нашел только вот это

kernel: [ 11.778219] amd64_edac: probe of 0000:00:18.2 failed with error -22

Zodd ★★★★★ ()
Ответ на: комментарий от vga

Но сеть все равно нужна.

Нужен только работающий драйвер сетевой карты. Модуль netconsole может работать сразу после того, как инициализируется драйвер нужной сетевой карты и сетевой стек ядра.

Все подробности есть в $KERNELSRC/Documentation/networking/netconsole.txt

Кстати говоря, лог можно направить и в RS232 (который COM-порт): $KERNELSRC/Documentation/serial-console.txt

Deleted ()
Ответ на: комментарий от Deleted

Но сеть все равно нужна.

Нужен только работающий драйвер сетевой карты.

Ну да, я это и имел ввиду, непонятно выразился.

Кстати говоря, лог можно направить и в RS232 (который COM-порт): $KERNELSRC/Documentation/serial-console.txt

это я уже сказал, там его нет скорее всего, ноут же, поэтому в теории переходник нужен и юсбконсоль.

vga ★★ ()
Ответ на: комментарий от vga

1. Убрал splash.

2. В следующий раз попробую понять в какой момента происходит бага. Теперь уже проблематично в логах искать.

3. Попробую поотключать некоторые модули.

Еще как можно обнаружить?

Zodd ★★★★★ ()
Ответ на: комментарий от Zodd

В убунте еще можно verbose включить в опциях ядра, кажется, тогда она может еще больше писать будет. Больше у меня идей нет.

vga ★★ ()
Ответ на: комментарий от ptah_alexs

Вот обнаружил багу, происходящая при:

running /script/local-premount

А почему это происходит не понятно. Ведь редковоспроизводимая бага.
В какую сторону копать?

Zodd ★★★★★ ()
Ответ на: комментарий от Zodd

Копай в сторону багрепорта майнтейнерам дистриба и/или ядра. Приложить вывод dmesg и описание что за баг.

ptah_alexs ★★★★★ ()
Ответ на: комментарий от Zodd

Ага, это инитрд. Он просто набор шеловских скриптов, поэтому его тоже можно затрейсить, вписав куда-нибудь в начало скрипта что-то типа set -x и пересобрав initrd. Таким образом ты cможешь добраться до конкретной сбойной команды.

vga ★★ ()

В /var/log/messages можно посмотреть, если оно туда успевает попасть и сохраниться. Ну или можно отладочный вывод куда-нибудь сбрасывать, на принтер или на serial console.

dn2010 ★★★★★ ()
Ответ на: комментарий от Deleted

>Модуль netconsole может работать сразу после того, как инициализируется драйвер нужной сетевой карты и сетевой стек ядра.

как правило на этот момент уже точно что-то примонтировано (хотяб initrd)

xydo ★★ ()
Ответ на: комментарий от Zodd

Нет, не из-за того, а из-за того что init-premount - то есть до монтирования. Поэтому файловой системы нет еще, писать логи некуда. Сделай set -x в инитрд и лови дальше.

vga ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.