É possível acessar o sistema de arquivos initrd após o boot?

0

Muitos sistemas Linux inicializam em um initrd / initramfs, em seguida, montam o sistema de arquivos raiz real, fazem chroot a ele e continuam a inicialização. Meu initrd ainda está tecnicamente montado, mas como posso chegar a ele? Se eu modificar o meu initrd para ligar-se à nova raiz, então eu posso vê-lo. Mas é possível acessá-lo sem tomar essas medidas? Existe um arquivo de dispositivo específico associado a initrds que eu poderia vincular a montagem?

Por que eu quero isso ...

Eu tenho um sistema embutido no qual o sistema de arquivos raiz é uma sobreposição de um tmpfs localizado em cima de uma imagem do squashfs. Eu gostaria de trabalhar em um sistema e, em seguida, olhar para o tmpfs para ver quais alterações do sistema de arquivos que fiz. Sob operação normal sem mim modificando a inicialização, as montagens para as camadas tmpfs e squashfs são ocultadas / perdidas quando o sistema alterna para a raiz de sobreposição.

    
por Harvey 16.02.2017 / 17:13

1 resposta

1

da documentação do kernel do linux no linux / Documentation / initrd.txt:

  noinitrd

    initrd data is preserved but it is not converted to a RAM disk and
    the "normal" root file system is mounted. initrd data can be read
    from /dev/initrd. Note that the data in initrd can have any structure
    in this case and doesn't necessarily have to be a file system image.
    This option is used mainly for debugging.

    Note: /dev/initrd is read-only and it can only be used once. As soon
    as the last process has closed it, all data is freed and /dev/initrd
    can't be opened anymore.

isto é, se você especificar o noinitrd em suas opções de inicialização, supostamente poderá acessar o initrd original no ponto de montagem /initrd depois que pivot_root mudar para a raiz "real", com as advertências mencionadas acima. Eu toquei com isso há duas décadas e não sei se ainda funciona.

    
por jcomeau_ictx 14.07.2017 / 21:31