Você tem certeza de que arch-root
está em um sistema de arquivos separado que pode ser montado e desmontado?
pivot_root
, bem como o mais atual switch_root
, funciona manipulando informações sobre sistemas de arquivos montados no kernel.
O novo sistema de arquivos raiz deve ser "a raiz" de um sistema de arquivos, você não pode passar "." como a nova raiz, a menos que "." é o diretório raiz de um sistema de arquivos montado.
Eu acredito que a maneira mais fácil se você quiser tentar pivot_root
de sua configuração atual (supondo que arch-root é um subdiretório e não um diretório raiz) é criar um sistema de arquivos tmpfs
para mudar e copiar o requerido coisas lá.
Algo nesse sentido pode ajudar você: (ajuste 500M para caber du -sh arch-root
)
mkdir /ramroot mount -n -t tmpfs -o size=500M none /ramroot cd arch-root # (containing the root filesystem contents) find . -depth -xdev -print | cpio -pd --quiet /ramroot cd /ramroot mkdir oldroot pivot_root . oldroot exec chroot . bin/sh