проблемы во время инициализации ядра Linux - PullRequest
0 голосов
/ 20 мая 2009

Каковы возможные причины сбоев во время инициализации ядра?

Я использую ядро ​​с initramfs, inittab - это базовый rcS (как sysinit) и getty (респаун). Во время загрузки я не получаю никакого сообщения об ошибке, однако init выдает мне следующее сообщение: S0 респавнится слишком быстро: отключено на 5 минут, где S0 на самом деле является строкой respawn :: getty (похоже, что getty продолжает сбой), также ни одно из сообщений, генерируемых rcS, не отображается на консоли (я предполагаю, что команды rcS аварийное завершение).

Если я заставлю ядро ​​перейти в / bin / sh (вместо / init), я могу вызвать rcS вручную и не получу ошибок, то же самое случится и с getty (если я вызываю getty с теми же параметрами из inittab, это нормально работает ).

Мне интересно, в чем разница между способом инициации процессов init и способом / bin / sh.

Ответы [ 3 ]

0 голосов
/ 21 мая 2009

Акция / bin / sh не является статичной и не является getty. Вам нужно посмотреть на Зависимости разделяемых библиотек / bin / sh и getty, что присутствуют все библиотеки.

Вы можете использовать ldd или 'readelf -a', чтобы увидеть зависимости разделяемой библиотеки.

0 голосов
/ 10 декабря 2009

Возможно, ничего не настраивается /dev/tty1, /dev/tty2 и т. Д., Но на /dev/console все работает нормально (что не то же самое, что /dev/tty1) Если вы зависите от того, какой каталог / dev находится в вашей initramfs или корневой файловой системе, проверьте их.

Вероятно, основное различие между init = / bin / sh и разрешением инициации инициатора - это /dev/console против /dev/ttyx. Я не могу думать ни о чем другом, что было бы уместно. Имейте в виду, что initramfs запускается первым, я думаю.

И кстати, вы, очевидно, прошли стадию инициализации ядра, если init (8) или /bin/sh могут работать.

0 голосов
/ 20 мая 2009

Некоторые журналы инициализации ОС запускаются в wtmp, вы можете проверить их там. Включение вашего системного журнала также может помочь.

Когда вы запускаете getty через / bin / sh, он продолжает работать? AFAIK, уловка с init респаун заключается в том, что генерируемый им PID отслеживается, и если он падает, он запускает другой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...