Como o bootstrap do BeagleBone Black Linux muda quando o System 5 init é substituído pelo systemd? [fechadas]

0

Temos uma placa Linux customizada baseada em BBB rodando Linux 3.12.

Estamos usando o init do SysV para inicialização. Eu entendo que a inicialização acontece na seguinte sequência:

  1. O código da ROM procura o dispositivo de inicialização com base na configuração do pino de inicialização.
  2. O código ROM carrega o carregador de inicialização de primeiro estágio (SPL / X-loader) para a SRAM interna e fornece controle a ele.
  3. O SPL faz algumas inicializações como DDR e continua carregando o U-Boot na RAM.
  4. O U-Boot executa outra inicialização periférica, ou seja, NAND / eMMC / ethernet e carrega o kernel + dtb.
  5. O Kernel executa inicializa configura diferentes hardwares / periféricos baseados em dtb e inicializa todos os drivers.
  6. O kernel executa o primeiro processo, por exemplo, init ( /sbin/init no nosso caso, mas pode ser definido nos parâmetros da linha de comando do Kernel).
  7. o aplicativo init baseado no inittab (arquivo de configuração) executa o script de inicialização especificado no arquivo inittab, por exemplo, %código%
  8. Este ::sysinit:/etc/init.d/rcS executa todos os scripts init colocados na pasta /etc/init.d/rcS .

Então é assim que a placa inicializa com o init do SysV. (Pelo menos, este é o meu entendimento. Corrija-me se estiver errado em alguns pontos.)

Agora, em algum momento, queremos avaliar como o bootstrap do systemd acontece. Teremos que fazer o POC e ver qualquer melhoria ou degradação da inicialização do sistema e da manutenção do processo.

Sabemos algumas noções básicas: o systemd funciona em cgroups e pode iniciar processos em paralelo, mas lida com processos como o que o monit faz.

No entanto, o que não sabemos é o processo de inicialização real com o systemd.

Qual é o processo de inicialização do BeagleBoneBlack Linux quando o systemd é usado em vez do System 5 init? Como isso difere do que descrevi acima para o nosso processo de inicialização existente?

    
por AnkurTank 21.07.2016 / 18:34

1 resposta

1

Funciona exatamente da mesma forma, exceto que o binário init do systemd não usa scripts inittab ou rcS; em vez disso, usa lógica diferente para decidir como iniciar um daemon.

A parte do kernel, no entanto, ainda é a mesma.

Se você quer mais do que isso, você terá que ser mais específico ...

    
por 22.07.2016 / 11:28