The kernel parses parameters from the kernel command line up to
--
; if it doesn't recognize a parameter and it doesn't contain a.
, the parameter gets passed to init: parameters with=
go into init's environment, others are passed as command line arguments to init. Everything after--
is passed as an argument to init.
Isso também se aplica a /init
em um initramfs. No código-fonte, tanto o /init
do initramfs quanto o /sbin/init
(ou outros locais) da raiz final são invocados via run_init_process
que usa os mesmos argumentos (além do argumento 0, que é o caminho para o executável). Não consigo encontrá-lo declarado na documentação, mas as interfaces do kernel são estáveis, então isso não mudará.
Observe que isso não se aplica a /linuxrc
em um initrd. Este é invocado sem argumentos, mas com o mesmo ambiente que /init
e /sbin/init
. Ele pode montar o sistema de arquivos proc e ler /proc/cmdline
para ver os argumentos da linha de comando do kernel.