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