2

Итак, у нас было несколько парней из Arch, которые взломали установку Debian для встроенной системы (которая больше не так встроена), и они отключили Sysvinit в пользу использования нескольких связанных файлов /etc/rc.* . К сожалению, я не могу сделать новую установку в данный момент, что было бы гораздо предпочтительнее, но я предполагаю, что будет меньше усилий для повторного включения Sysvinit.

Я вижу, что Sysvinit все еще установлен, но я не могу найти метод, с помощью которого загрузка будет передана ему. /boot/grub/grub.cfg предлагает никаких подсказок. Существует файл /boot/kexec.sh со следующим:

kexec vmlinuz --command-line="root=/dev/sda5 \
init=/sbin/init \
console=ttyS0,38400n8f elevator=deadline" -f

С закомментированной строкой:

# kexec vmlinuz --command-line="root=/dev/sda5 \
# loglevel=0 console=ttyS0,38400n8 init=/etc/rc.start irqpoll" -f

Но я даже не уверен, загружается ли kexec.sh или нет ...

Итак, как мне запустить Sysvinit снова, чтобы он загружался с использованием папок rc[0-6].d ?

Заранее спасибо.

РЕДАКТИРОВАТЬ inittab выглядит следующим образом: https://gist.github.com/hamstar/6161321

1 ответ1

1

Что находится в вашем /etc/inittab?

Так как ваше init= значение указывает на init, это программа, которая запускается при загрузке системы. Традиционный init использует /etc/inittab для настройки того, что будет дальше. Ваш inittab будет выглядеть примерно так на стандартной установке Debian.

# The default runlevel.
id:2:initdefault:
# Boot-time system configuration/initialization script.
# This is run first except when booting in emergency (-b) mode.
si::sysinit:/etc/init.d/rcS
# /etc/init.d executes the S and K scripts upon change
# of runlevel.
#
# Runlevel 0 is halt.
# Runlevel 1 is single-user.
# Runlevels 2-5 are multi-user.
l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2

Вывод /proc/cmdline также подтвердит, какие параметры загрузки передаются ядру.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .