É possível montar um subdiretório como o sistema de arquivos raiz na inicialização do kernel?

2

Eu estou tentando instalar um Linux a partir de fontes dentro do meu diretório home (como opto para criar uma partição dedicada). O sistema básico (glibc, kernel e init) é instalado em $ HOME / lfs / root. Eu estou inicializando este sistema usando o grub instalado dentro do meu drive USB, aqui está a parte relevante no grub.cfg (eu tenho que mudar o grub root para hd1, já que o hd0 é meu stick usb):

menuentry "Custom linux HD" {     conjunto root = '(hd1,1)'     linux / home / thiago / lfs / raiz / boot / bzImage root = / dev / sda1 / home / thiago / lfs / root ro }

Parece que apenas os dispositivos são parâmetros válidos para 'root ='. Existe alguma maneira de trabalhar em torno disso? Eu não quero mexer com minhas partições atuais.

    
por Thiago de Arruda 25.08.2010 / 15:43

2 respostas

2

Eu não testei, mas em teoria (com uma distribuição recente e kernel) você pode optar por usar um initramfs ou initrd. O kernel será executado primeiro com o initramfs como root e executará seu script de inicialização. A última coisa que o script de inicialização deve fazer é chamar pivot_root na raiz "real" montada e, em seguida, executar o% real/sbin/init.

Se você conseguir que um initramfs ou initrd funcione, talvez você possa ajustar o script de inicialização para fazer o pivot_root no subdiretório que você quer?

    
por 25.08.2010 / 16:07
0

Eu não acho que você possa fazer isso. Mas talvez seja hora de ver a virtualização? Você terá um arquivo para o seu disco e iniciará uma máquina virtual neste disco.

    
por 25.08.2010 / 15:49