Grub (ou outro) envia argumentos de linha de comando para o kernel linux, para modificar certos parâmetros.
Se eu quisesse entrar e ver essas informações, antes que o kernel estivesse ativo (e potencialmente modificá-lo), onde procurar? Isso está armazenado em um local específico na memória que o kernel sabe procurar?
Eu entendo que é colocado em uma entrada /proc quando o kernel está ativo, mas estou procurando informações pré-SO sobre como isso funciona (talvez este seja o lugar errado?)
Esta é uma pergunta sobre o método pelo qual um bootloader passa informações para o próximo elfo na sequência (geralmente, mas não exclusivamente, um kernel). Isso não tem nada a ver com as configurações do grub
O Grub implementa a especificação de inicialização múltipla . Quando ele carrega o kernel e entrega o controle a ele, ele passa um ponteiro para uma estrutura de informação na memória. Um dos campos nessa estrutura é a linha de comando.
O kernel do Linux tem seu próprio protocolo de inicialização , mas a linha de comando é tratada de maneira semelhante: o carregador de inicialização o deixa na memória e preenche vários campos em uma estrutura de dados do kernel que permite que o kernel o encontre.
Depois que o bootloader faz a manutenção do bootloading, ele inicia um ambiente de SO mínimo, geralmente baseado no initrd.img ou initramfs. Os parâmetros do kernel que você vê em um arquivo grub são direcionados ao kernel que inicializa após esse ambiente mínimo. Normalmente, para todos os efeitos, quando você executa o mkinitrd, as configurações sãs escolhidas em /etc são usadas para configurar esta imagem initrd.
No momento em que a sequência de inicialização usual acontece, o ambiente inicial foi dinamizado e o kernel usual é usado. Uma coisa a notar, os drivers que são iniciados no initrd podem permanecer residentes na execução normal, o que pode ser uma fonte de grandes problemas.