Por exemplo, se eu definir oops=panic
o comando grub e também definir kernel.panic_on_oops=0
a configuração do sysctl? ex: em /etc/sysctl.d/
O que aconteceria?
Esses dois parâmetros estão mapeados para a mesma função/recurso no kernel?
Por que não usar o mesmo nome de variável?
sysctl
as configurações são aplicadas após a inicialização, portanto, na maioria dos casos, elas substituem as configurações equivalentes fornecidas na linha de comando do kernel (as exceções são valores que só podem ser definidos uma vez).Tanto o
oops
argumento do kernel quanto okernel.panic_on_oops
sysctl são mapeados para a mesma variável,panic_on_oops
. Isso é definidooops_setup
se um valor for especificado na linha de comando e for exportado via sysctl nakernel
tabela .A definição da variável mostra uma terceira maneira de defini-la: seu valor padrão é controlado por uma configuração de compilação,
CONFIG_PANIC_ON_OOPS
.Quanto ao motivo pelo qual o mesmo nome não é usado, provavelmente existem razões históricas, e permanece uma diferença significativa:
panic_on_oops
espera 0 ou 1, enquantooops
procura um valor correspondente a “pânico”; portanto, embora ambas as configurações sejam mapeadas para a mesma variável subjacente,oops
adiciona um nível de indireção.