Table of Contents

Scripts de Inicialização

Os scripts de inicialização e finalização com seus arquivos de configuração.

SliTaz e a Inicialização

O SliTaz não usa um nível de execução (runlevel) - o sistema é inicializado por meio de um script primário e seu arquivo de configuração principal. O script por si só executa outros scripts menores que lidam, por exemplo, com a internacionalização ou os comandos necessários ao início do sistema.

/etc/init.d/* - Diretório de Scripts e Daemons

O diretório /etc/init.d contem todos os scripts rc, que são simples scripts shell com a extensão “.sh”, e daemons como o “dropbear” ou o “lighttpd”, que são scripts que executam um serviço. Os scripts de daemons podem iniciar, parar ou reiniciar por meio do comando:

# /etc/init.d/daemon [start|stop|restart]

No SliTaz você encontra o arquivo /etc/init.d/README que descreve as funções básicas dos scripts rc. Note que todos os scripts de inicialização e daemons podem executar o arquivo /etc/init.d/rc.functions. Este arquivo possibilita incluir várias funções nos scripts rc. O SliTaz usa a função status para checar se o comando anterior foi executado com sucesso (0) ou não.

/etc/init.d/rcS - Scripts de Inicialização Primários

O script /etc/init.d/rcS configura todos os serviços básicos e inicializa o sistema. Ele começa montando o sistema de arquivos e iniciando serviços como o syslogd, klogd, mdev, limpa o sistema e etc. Utiliza o arquivo de configuração /etc/rcS.conf para verificar quais daemons e scripts executar na inicialização. Você pode ler o arquivo para saber quais comandos são executados:

# nano rootfs/etc/init.d/rcS

Scripts e Daemons Específicos

bootopts.sh - Opções do modo LiveCD

Este script é usado para configurar as opções de LiveCD passadas no momento da inicialização e pode ser lido por meio do arquivo /proc/cmdline. Este é o script que permite a utilização de um Pendrive ou de um disco rígido externo - montados na partição /home com a opção home=usb ou home=sda[1-9] - ou a especificação da linguagem e parâmetros de teclado.

network.sh - Inicialização de Rede

Este script procura pelo arquivo de configuração /etc/network.conf para sua utilização pela interface de rede: pode-se desejar executar o cliente DHCP (ou não) ou usar um IP estático. No SliTaz o script /etc/init.d/network.sh configura as interfaces de rede para iniciarem usando as informações contidas em /etc/network.conf. Se a variável $DHCP é igual a “yes”, então o script /etc/init.d/network.sh executa o cliente DHCP na interface $INTERFACE.

i18n.sh - Internacionalização

O SliTaz armazena a configuração do locale padrão em /etc/locale.conf que é lido pelo arquivo /etc/profile a cada login. O /etc/locale.conf é gerado durante a inicialização do sistema graças ao script /etc/i18n.sh. Este script executa o aplicativo “tazlocale” se o arquivo /etc/locale.conf não existir. O mesmo processo é utilizado para o layout de teclado usando o aplicativo “tazkmap” e o arquivo de configuração /etc/kmap.conf. Ambos os aplicativos são instalados e localizados em /sbin e usam dialog e a biblioteca ncurses. O script também checa se o arquivo /etc/TZ (Time Zone) existe: se este não existe ele cria um baseado nas configurações de teclado.

local.sh - Comandos locais

O script /etc/init.d/local.sh permite ao administrador do sistema adicionar comandos locais a serem utilizados no momento da inicialização. Exemplo:

#!/bin/sh
# /etc/init.d/local.sh: Comandos de inicialização locais.
# Todos os comandos aqui devem ser executados no momento da inicialização.
#
. /etc/init.d/rc.functions

echo "Starting local startup commands... "

rc.shutdown

Este script é invocado pelo /etc/inittab durante a finalização do sistema. Também para todos os daemons especificados pela variável $RUN_DAEMONS no arquivo de configuração primário /etc/rcS.conf.

/etc/inittab - Arquivo de Configuração init

O primeiro arquivo lido pelo Kernel no momento da inicialização. Define o script de inicialização (/etc/init.d/rcS), shells (ttys) e ações no caso de uma re-inicialização ou interferência. Exemplo:

# /etc/inittab: init configuration for SliTaz GNU/Linux.
# Boot-time system configuration/initialization script.
#
::sysinit:/etc/init.d/rcS

# /sbin/getty respawn shell invocations for selected ttys.
tty1::respawn:/sbin/getty 38400 tty1
tty2::respawn:/sbin/getty 38400 tty2
tty3::respawn:/sbin/getty 38400 tty3
tty4::respawn:/sbin/getty 38400 tty4
tty5::respawn:/sbin/getty 38400 tty5
tty6::respawn:/sbin/getty 38400 tty6

# Stuff to do when restarting the init 
# process, or before rebooting.
::restart:/etc/init.d/rc.shutdown
::restart:/sbin/init
::ctrlaltdel:/sbin/reboot
::shutdown:/etc/init.d/rc.shutdown