Quando possível, prefiro sempre comentar (#) uma linha
que não desejo executada do que suprimí-la.
E faço backup dos arquivos originais.
Todos os arquivos modificados ou criados em /etc/rc.d
devem ter permissão de execução (chmod +x nome) para
funcionarem.
Cada "if" requer um "fi" para terminá-lo, com
espaçamento correspondente.
Não sei se a formatação do VOL manterá os espaços
corretos no início das linhas dos scripts, se não, pois ela
tende a colocar todo caractere de começo de linha na primeira
coluna, deve-se saber que o if na linha de baixo deve ser
colocado *após* a coluna do if precedente, e cada fi deve ficar
na mesma coluna de seu if. Para maior clareza é só verificar os
arquivos originais da distribuição.
No rc.S modifiquei as seções correspondentes, que ficaram:
# Initialize udev to manage /dev entries for 2.6.x kernels:
# Only load if this is a 2.6.x kernel:
if [ "`uname -r | cut -f 1,2 -d .`" = "2.6" ]; then
if [ -x /etc/rc.d/rc.udev ]; then
# if ! grep -w nohotplug /proc/cmdline 1> /dev/null 2> /dev/null ; then
/bin/sh /etc/rc.d/rc.udev start
fi
fi
# This loads any kernel modules that are needed. These might
# be required to use your ethernet card, sound card, or other
# optional hardware.
# Only load if this is a 2.6.x kernel:
if [ "`uname -r | cut -f 1,2 -d .`" = "2.6" ]; then
if [ -x /etc/rc.d/rc.modules -a -r /proc/modules ]; then
. /etc/rc.d/rc.modules
fi
fi
# Only load if this is a 2.4.x kernel:
if [ "`uname -r | cut -f 1,2 -d .`" = "2.4" ]; then
if [ -x /etc/rc.d/rc.modules-2.4.31 -a -r /proc/modules ];
then
. /etc/rc.d/rc.modules-2.4.31
fi
fi
Em rc.M, carregamento do rc.hotplug, rc.alsa e do
rc.local. Desativei o ALSA para o kernel 2.4.31 porque as
versões para 2.4 e 2.6 são diferentes. Coloquei o rc.hotplug e
rc.alsa para serem carregados em segundo plano (&), não pode ser
feito o mesmo com rc.udev.
# Initialize the hotplugging subsystem for Cardbus, IEEE1394, PCI, and USB devices:
if [ "`uname -r | cut -f 1,2 -d .`" = "2.4" ]; then
if [ -x /etc/rc.d/rc.hotplug -a -r /proc/modules ]; then
# Don't run hotplug if 'nohotplug' was given at boot.
if ! grep nohotplug /proc/cmdline 1> /dev/null 2> /dev/null ; then
echo "Activating hardware detection: /etc/rc.d/rc.hotplug
start"
. /etc/rc.d/rc.hotplug start &
fi
fi
fi
# Load ALSA (sound) defaults:
if [ "`uname -r | cut -f 1,2 -d .`" = "2.6" ]; then
if [ -x /etc/rc.d/rc.alsa ]; then
. /etc/rc.d/rc.alsa &
fi
fi
# Start the local setup procedure.
# Only load if this is a 2.6 kernel:
if [ "`uname -r | cut -f 1,2 -d .`" = "2.6" ]; then
if [ -x /etc/rc.d/rc.local ]; then
. /etc/rc.d/rc.local
fi
fi
# Only load if this is a 2.4 kernel:
if [ "`uname -r | cut -f 1,2 -d .`" = "2.4" ]; then
if [ -x /etc/rc.d/rc.local-2.4 ]; then
. /etc/rc.d/rc.local-2.4
fi
fi
Poderia, ao invés, usar as variáveis RELEASE e SHORTREL,
quase da mesma forma no rc.S e rc.M. Os resultados foram os
mesmos.
# Initialize udev to manage /dev entries for 2.6.x kernels:
# Only load if this is a 2.6.x kernel:
# Determine the version of the running kernel:
RELEASE=$(uname -r)
# Also determine a "short release" such as 2.4, 2.6, etc.
SHORTREL=$(echo $RELEASE | cut -f 1,2 -d .)
if echo $SHORTREL | grep -qw 2.6 ; then
if [ -x /etc/rc.d/rc.udev ]; then
# if ! grep -w nohotplug /proc/cmdline 1> /dev/null 2> /dev/null ; then
/bin/sh /etc/rc.d/rc.udev start
fi
fi
# This loads any kernel modules that are needed. These might be
# required to use your ethernet card, sound card, or
# other optional hardware.
# Only load if this is a 2.6.x kernel:
if echo $SHORTREL | grep -qw 2.6 ; then
if [ -x /etc/rc.d/rc.modules -a -r /proc/modules ]; then
. /etc/rc.d/rc.modules
fi
fi
# Only load if this is a 2.4.x kernel:
if echo $SHORTREL | grep -qw 2.4 ; then
if [ -x /etc/rc.d/rc.modules-2.4.31 -a -r /proc/modules ];
then
. /etc/rc.d/rc.modules-2.4.31
fi
fi
Colocar em rc.M, imediatamente antes do carregamento de rc.hotplug e depois nas partes referentes ao rc.alsa e rc.local:
# Determine the version of the running kernel:
RELEASE=$(uname -r)
# Also determine a "short release" such as 2.4, 2.6, etc.
SHORTREL=$(echo $RELEASE | cut -f 1,2 -d .)
# Only load if this is a 2.6 kernel:
if echo $SHORTREL | grep -qw 2.6 ; then
/bin/chmod -x /etc/rc.d/rc.hotplug &
fi
# Only load if this is a 2.4 kernel:
if echo $SHORTREL | grep -qw 2.4 ; then
/bin/chmod +x /etc/rc.d/rc.hotplug
fi
# Load ALSA (sound) defaults:
if echo $SHORTREL | grep -qw 2.6 ; then
if [ -x /etc/rc.d/rc.alsa ]; then
. /etc/rc.d/rc.alsa &
fi
fi
# Start the local setup procedure.
# Only load if this is a 2.6 kernel:
if echo $SHORTREL | grep -qw 2.6 ; then
if [ -x /etc/rc.d/rc.local ]; then
. /etc/rc.d/rc.local
fi
fi
# Only load if this is a 2.4 kernel:
if echo $SHORTREL | grep -qw 2.4 ; then
if [ -x /etc/rc.d/rc.local-2.4 ]; then
. /etc/rc.d/rc.local-2.4
fi
fi