Estou tentando criar um sistema de arquivos raiz temporário para atualizar o sistema de arquivos em execução.
Meu sistema é construído a partir do buildroot, usando o Busybox como meu sistema init e initrd. Meu kernel Linux é construído separadamente. Estou tentando fazer isso com pivot_root , mas parece que não consigo desmontar o sistema de arquivos raiz antigo.
Meus passos são:
/etc/init.d/S*
/proc , /sys , /dev (e /dev/pts /dev/shm ) /tmp/new-filesystem/tmp
Usando lsof, parece que meu processo final para fechar é /bin/busybox usando um PID de 1, que obviamente é o processo init do sistema de arquivos raiz antigo. Parece que, uma vez com sucesso, não consigo reiniciar o init. Eu tentei executar o comando init u , telinit não está instalado e chroot . /linuxrx < /dev/console > /dev/console 2>&1 para reiniciar o init.
Saída do lsof:
1 /bin/busybox /dev/console 3 # (x3)
/linuxrc é um link simbólico para /bin/busybox