Isto não pode ser feito pelo bootloader ou kernel. O parâmetro para a opção root
do kernel, como em root=/dev/sda1
, parece um nome de caminho padrão do Unix, mas esses nomes de caminho são interpretados de acordo com o sistema de arquivos atualmente montado. No momento em que a opção root
é interpretada, não há sistemas de arquivos montados. Bem, quase nenhum. No momento da inicialização do kernel, há uma instância de um sistema de arquivos ramfs
mínimo chamado rootfs
montado como a raiz para o processo inicial executando start_kernel()
. A interpretação real do parâmetro root
da opção é feita em uma rotina chamada name_to_dev_t()
. Uma das sintaxes suportadas é o formato /dev/name
, em que o nome é interpretado executando uma montagem temporária do sistema de arquivos sysfs
na raiz rootfs
e procurando uma correspondência de entrada de dispositivo de bloco nome em /sys/block
. Este processo é explicado em mais detalhes aqui .
A configuração descrita precisará ser feita primeiro pela inicialização em um ambiente mínimo, como aquele fornecido por um initrd
, montar o sistema de arquivos raiz real a partir de /dev/sda1
em um ponto de montagem temporário, por exemplo, /mnt/rootfs
e, em seguida, altere o diretório raiz para /mnt/rootfs/chroot
usando pivot_root(8)
.
Isso é um pouco semelhante a como os sistemas de arquivos raiz para LinuX Containers ( LXC ) são configurados. O LXC é uma implementação de virtualização no nível do sistema operacional para o Linux. A virtualização no nível do sistema operacional é comumente usada em ambientes de hospedagem virtual como uma alternativa leve à virtualização completa gerenciada por um hipervisor. Na virtualização no nível do sistema operacional, um único kernel do sistema operacional é compartilhado entre várias instâncias isoladas do espaço do usuário. Cada instância, freqüentemente chamada de container, jail, Virtual Private Server (VPE) ou Virtual Environment (VE), é essencialmente uma instalação separada do sistema operacional hospedada em um diretório próprio no sistema host.