O que significa quando o seu computador tem um "kernel panic" ?
Isso equivale ao BsoD do Windows ?
Além disso, quais métodos, dicas e truques estão disponíveis para o usuário quando ocorre um pânico no kernel ?
O que significa quando o seu computador tem um "kernel panic" ?
Isso equivale ao BsoD do Windows ?
Além disso, quais métodos, dicas e truques estão disponíveis para o usuário quando ocorre um pânico no kernel ?
Respostas:
O pânico do kernel é o mesmo que o BSOD e o IIRC não recuperável. No entanto, falha menor é OOPS, o que denota algum erro no kernel.
panic
parâmetro que reinicia o kernel após n segundos. Você pode instruir o GRUB a mudar para o kernel de fallback nesse casoemergency sync
descarga dos buffers (quando ainda possível).
Um pânico no kernel do Linux é uma chamada de sub-rotina que o kernel executa quando a lógica do kernel determina que existe uma condição que torna impossível ou irresponsável a execução contínua da lógica normal.
O kernel pode entrar em pânico quando:
Existem cerca de 950 condições distintas nas quais o pânico é chamado nos kernels 3.X. A sub-rotina de pânico primeiro imprime o despejo de pilha do kernel e os registros da CPU no console. Então, se um kernel kexec de falha foi configurado, ele inicializa o kexec. Caso contrário, a rotina de pânico interrompe todos os spinlocks e executa uma reinicialização de emergência.
Um oops é uma sub-rotina chamada de um manipulador de exceções de CPU para uma exceção de CPU que ocorre durante a execução no modo privilegiado (por exemplo, kernel). A exceção pode ocorrer como resultado de um erro no código do kernel, ou devido a uma falha de hardware ou como resultado de uma condição externa que causa uma exceção específica. O manipulador da exceção imprime um log do kernel com registros da CPU e lista de módulos. Diferentemente das chamadas de pânico, a própria lógica do kernel nunca chama um oops fora do contexto dos manipuladores de exceção da CPU.
Se o kernel estiver configurado para o kexec, um oops resultará na inicialização do kexec. Caso contrário, se a exceção ocorrer durante a execução de um manipulador de interrupção, oops resultará em uma chamada de pânico do kernel. Caso contrário, se o kernel estiver configurado com “panic on oops”, oops resultará em uma chamada de pânico. Caso contrário, o kernel sai do manipulador de exceções e retoma a execução. Quando o kernel sai do manipulador de exceções e retoma a execução, a integridade do kernel é suspeita.
Os manipuladores de exceção da CPU são específicos da arquitetura. Eles geralmente são implementados em arch / * / kernel / traps.c e configurados no código de entrada do kernel específico da arquitetura que configura a tabela de interrupção. Veja por exemplo arch/powerpc/kernel/traps.c
e arch/powerpc/kernel/head_fsl_booke.S
.
As condições de pânico e oops do kernel podem ser configuradas para chamar uma kmsg_dump
rotina que você pode usar para salvar informações de depuração de falha na RAM ou na memória flash, a menos que oops ocorram no contexto de interrupção. Nesse caso, a rotina "kmsg_dump" pode ser usada apenas para salve na RAM, não no MTD. Ao salvar na RAM, é de sua responsabilidade a) garantir que a área de RAM usada não seja substituída durante a inicialização do kexec ou a reinicialização de emergência eb) coletar a área de memória do kernel do kexec ou da lógica do carregador de inicialização.
É o comportamento inesperado do fluxo do programa (o kernel é um programa nesse caso). Em caso de pânico, o programa para de funcionar. É igual ao Windows BsoD. KP significa algo errado com o kernel ou módulos. Se é um kernel estável - veja os drivers. Se nada de especial e todos os drivers forem comuns, pode haver um problema de hardware.