proc
e sys
filesystems são fornecidos pelo kernel em execução - quando o kernel não está em execução, eles deixam de existir. Isso significa que, quando você faz o chroot em outro sistema operacional, esses sistemas de arquivos não estão presentes. Muitos programas esperam que eles existam para que possam funcionar, por exemplo, eles podem requerer informações sobre o sistema em execução ou modificar a maneira como o kernel manipula algo. Geralmente, é suficiente simplesmente fornecer /proc
e /sys
do kernel atual para que esses programas funcionem como esperado.
Um link simbólico não seria suficiente, pois o ato de chrooting invalidaria os caminhos de arquivo usados. No Linux, você também não pode criar diretórios de link físico (além de .
e ..
, conforme fornecido por mkdir
). Isso significa que uma terceira opção deve ser usada para espelhar esses sistemas de arquivos para o ambiente chrooted - vincular a montagem. Uma montagem de ligação é fornecida diretamente pelo kernel e funciona como esperado dentro de um chroot.