Como fazer chroot na instalação persistente?

3

Para chroot na instalação 'normal', é necessário apenas montar o common /, / proc, / sys e / dev para executar tarefas normais de administração.

Mas como proceder com a chamada instalação 'persistente' (veja aqui )? Como simular o parâmetro 'persistent' no processo de boot (como o sistema lida com este problema)?

Esta questão talvez esteja relacionada com Como recupero meu nome de usuário e senha em um LiveUSB persistente?

(Eu não tenho um problema específico para resolver, estou interessado apenas em.)

    
por Lasall 11.11.2011 / 01:09

1 resposta

5

A unidade usb persistente usa um sistema de arquivos compactado somente para leitura (squashfs) e sobrepõe uma camada do sistema de arquivos gravável na parte superior que armazena os arquivos alterados. O sistema de arquivos gravável é armazenado em um único arquivo (como um arquivo zip, mas sem a compactação - na verdade é ext3, mas isso não é importante)

Para refazer tudo:

  1. Crie os locais onde as coisas vão.
  2. Faça com que os sistemas de arquivos pareçam sistemas de arquivos inteiros e não arquivos (como fazem no momento.
  3. Junte-se aos sistemas de arquivos juntos.
  4. Brinque com o sistema de arquivos, como chrooting
  5. Limpeza

Estou supondo que o drive usb esteja montado em

 /media/usb/

Altere isso para o diretório que contém sua instalação persistente ao seguir estas instruções.

Você precisa ser root ou preceder sudo a todos os comandos

1. Criando coisas

Alguns diretórios precisam ser criados:

  • /media/rootfs - Local onde colocaremos o sistema de arquivos somente leitura
  • /media/cow - A localização da sobreposição gravável
  • /media/persist_usb - O local onde os dois sistemas de arquivos serão unidos

    isso pode ser feito com

    mkdir / media / {rootfs, vaca, persist_usb}

2. Faça com que os arquivos pareçam sistemas de arquivos

Primeiro o sistema de arquivos compactado

mount -t squashfs -o loop,ro /media/usb/casper/filesystem.squashfs /media/rootfs

(Descrição: monte o arquivo filesystem.squashfs em /media/rootfs usando squashfs)

Em seguida, o sistema de arquivos gravável

mount -o loop,rw /media/usb/casper-rw /media/cow

(Descrição: monte o arquivo casper-rw' on '/media/cow usando um dispositivo de loop )

3. Junte-se aos sistemas de arquivos juntos

Agora estamos prontos para juntar os dois diretórios juntos

mount -t aufs -o dirs=/media/cow=rw:/media/rootfs=ro unionfs /media/persist_usb

(Descrição: monte a união dos dois diretórios usando aufs (veja unionfs ) em /media/persist_usb com /media/cow como gravável e /media/rootfs como somente leitura)

4. Brinque

Vou deixar esse passo até você.

5. Limpeza

Assim que terminar de se divertir com a instalação (como chrooting ), você precisa obter livrar das coisas que foram criadas.

Primeiro, desfaça a etapa 3:

 umount /media/persist_usb

Próximo a desfazer a etapa 2. Podemos fazer os dois sistemas de arquivos juntos:

 umount /media/{rootfs,cow}

(Descrição: desmontar /media/rootfs e /media/cow )

Por fim, para desfazer a etapa 1:

 rmdir /media/{rootfs,cow,persist_usb}

As alterações que você fez no sistema de arquivos foram mantidas e agora você pode desmontar a unidade USB (se quiser).

    
por Portablejim 13.11.2011 / 07:55

Tags