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.