Como posso verificar o primeiro processo que é executado? Eu posso ver o init e linuxrc na pasta raiz

1

Eu recebo uma instalação Linux modificada no NAS baseado em QNAP x86. No arquivo de imagem initrd, notei que há um script de inicialização /init e um link simbólico que aponta para um programa diferente (busybox): linuxrc ->/bin/busybox .

Como posso descobrir qual é o processo init que é executado toda vez que o sistema é inicializado?

    
por NathaneilCapital 22.02.2016 / 21:03

1 resposta

0

/linuxrc é lançado em um initrd antigo, /sbin/init é lançado em um initrd de estilo mais recente, /init é lançado em um initramfs . Initrd e initramfs são dois mecanismos com o mesmo propósito: montar um sistema de arquivos na RAM a partir do qual os drivers de armazenamento podem ser carregados. O initrd é mais antigo, o initramfs é o método recomendado atualmente.

Algumas distribuições mantiveram uma configuração dos dias anteriores ao initramfs e chamaram a imagem initrd mesmo quando é uma imagem initramfs. Portanto, o fato de você ter um arquivo chamado initrd não significa que ele é carregado como um. Algumas distribuições, incluindo evidentemente a sua, mantiveram uma estrutura de arquivos no initrd / initramfs que permite que a mesma árvore de diretórios seja usada em ambos. O formato do arquivo de imagem é diferente, no entanto.

Para descobrir se você tem um initrd ou initramfs, a maneira mais fácil é executar

file /path/to/initrd

Se você tem um arquivo cpio, é um initramfs. Se você tem um initrd, é < rummage > "Dados do Sistema de Arquivos ROM Compressed Linux".

    
por 23.02.2016 / 01:41