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

Slackware 10.1 зависает при загрузке с ядром 3.x

Что происходит между rc.S и rc.M в Slackware 10.1 во время загрузки? Пытаюсь загрузить ядро ​​3.x (пробовали 3.4 и 3.10) на этом компьютере, и оно зависает сразу после завершения выполнения rc.S. Ядра 2.6 загружаются нормально.

rc.M не запускается, так как "Going multiuser" никогда не отображается на консоли.

#!/bin/sh
#
# rc.M          This file is executed by init(8) when the system is being
#               initialized for one of the "multi user" run levels (i.e.
#               levels 1 through 6).  It usually does mounting of file
#               systems et al.
#
# Version:      @(#)/etc/rc.d/rc.M      2.23    Wed Feb 26 19:20:58 PST 2003
#
# Author:       Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
#               Heavily modified by Patrick Volkerding <volkerdi@slackware.com>
#

# Tell the viewers what's going to happen.
echo "Going multiuser..."

Использование inittab Slackware по умолчанию (комментарии удалены):

id:3:initdefault:
si:S:sysinit:/etc/rc.d/rc.S
su:1S:wait:/etc/rc.d/rc.K
rc:2345:wait:/etc/rc.d/rc.M
ca::ctrlaltdel:/sbin/shutdown -t5 -r now
l0:0:wait:/etc/rc.d/rc.0
l6:6:wait:/etc/rc.d/rc.6
pf::powerfail:/sbin/genpowerfail start
pg::powerokwait:/sbin/genpowerfail stop
c1:1235:respawn:/sbin/agetty 38400 tty1 linux
c2:1235:respawn:/sbin/agetty 38400 tty2 linux
c3:1235:respawn:/sbin/agetty 38400 tty3 linux
c4:1235:respawn:/sbin/agetty 38400 tty4 linux
c5:1235:respawn:/sbin/agetty 38400 tty5 linux
c6:12345:respawn:/sbin/agetty 38400 tty6 linux
x1:4:wait:/etc/rc.d/rc.4

Зависает сразу после этого:

Using /etc/random-seed to initialize /dev/urandom.

Я закомментировал этот фрагмент кода в rc.S, и он все еще зависает, поэтому я предполагаю, что проблема в другом месте, но я понятия не имею, что происходит сразу после rc.S.

После rc.S, init запустит rc.M, если уровень запуска 2,3,4 или 5, и rc.K, если уровень запуска 1 ... вы можете попытаться запустить в одиночном режиме (например: уровень запуска 1), чтобы увидеть если он загружается

Slackware 10.1 устарела и может быть недостаточно готова для запуска ядра 3.0 ... но вы можете попробовать отладить его лучше, это может быть какая-то отсутствующая функция в ядре или какая-то утилита, которую вам нужно обновить

отредактируйте /etc/rc.d/rc.S и добавьте во вторую строку

       set -x

Это сделает скрипт подробным и расскажет, что он выполняет. Если дойдет до конца, попробуйте добавить это в другие скрипты. после этого вам нужно будет прочитать вывод и, возможно, добавить тестовый код перед неисправной частью и / или закомментировать его (в зависимости от того, что происходит)