Respostas:
Quando o carregador de inicialização chama o kernel, ele passa um parâmetro chamado root
. Assim que o kernel terminar de inicializar, ele continuará montando a partição raiz especificada /
e depois chamando /sbin/init
(a menos que isso tenha sido substituído por outros parâmetros).
Em seguida, o init
processo inicia o restante do sistema carregando todos os serviços definidos para serem iniciados no nível de execução padrão.
Dependendo da sua configuração e do sistema init que você usa, pode haver várias outras etapas entre as que eu mencionei. Atualmente, os sistemas init mais populares no Linux são o SysVInit (o tradicional), Upstart e Systemd. Você pode encontrar mais detalhes sobre o processo de inicialização neste artigo da wikipedia .
Aqui está um exemplo simplificado da minha configuração do Grub. A parte importante para responder sua pergunta está na penúltima linha, existe um root=/dev/sda3
:
menuentry 'Gentoo GNU/Linux' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-40864544-2d0f-471a-ab67-edd7e4754dae' {
set root='hd0,msdos1'
echo 'Loading Linux 3.12.6-gentoo-c2 ...'
linux /kernel-3.12.6-gentoo-c2 root=/dev/sda3 ro
}
Em muitas configurações, o kernel é montado /
no modo somente leitura e todas as demais opções são definidas nos padrões. Em /etc/fstab
que você pode especificar os parâmetros do sistema de arquivos, que passaria a ser aplicada uma vez o init remonta-lo.
É fstab
necessária uma entrada , se você desejar especificar algumas opções de montagem não padrão. No entanto, hoje em dia com systemd
, um dispositivo do kernel correto e o fstype in não fstab
são necessários. Você pode substituir a entrada raiz por algo como:
#UUID=8f74237d-b689-4beb-9d1f-f60b426c9969 / ext4 rw,relatime,data=ordered 0 1
dummy / auto rw,relatime,data=ordered,debug 0 1
e as opções de montagem ainda são respeitadas pelo systemd.
Você pode usar qualquer nome de dispositivo inválido, por exemplo /dev/sdz1
, exceto UUID inválido. Com um UUID inválido, a mensagem será impressa na inicialização:, Failed to start Remount Root and Kernel File Systems
mas o sistema é inicializado de qualquer maneira.
init
processo monta as coisas de/etc/fstab
acordo com os parâmetros existentes, o que geralmente significa remontar a leitura / gravação da partição raiz.