Eu acho que o kernel panic ocorreu devido a uma das seguintes razões ou pode ser mais
1. Compilar o kernel é basicamente instalar o kernel, então ao invés de substituir o kernel antigo, ele fica preso em um impasse onde nenhum dos kernels são capazes de usar a memória, portanto, o pânico.
-
O novo kernel entrou em algum tipo de loop, pense assim: "ele tentou se chamar" ou simplesmente se tornou um tipo de fork fork, assim, o erro de falta de memória e o pânico.
-
A partição alocada para o novo kernel não foi suficiente. Tente fazer uma partição diferente, monte-a, associe-a para que outros programas possam executá-la. Agora compilar novamente usando o gcc e chains (linker)
-
Em vez de substituir o kernel, ele se matou.
-
Se você extrair um tarball do kernel que tenha inicialmente 300 mb de tamanho, após a extração, ou seja, "tar -xvf kernel.zip", ele se tornará um gigante de 900 mb de tamanho. Após a instalação de pacotes como o gcc, g ++, gnu-make, etc e compilando-o, o kernel compilado pode se tornar um espaço de 2 GB de espaço. Portanto, se a partição não tiver muito espaço livre de memória, poderá ocorrer.
-
Você não forneceu uma área de troca. Como construir um kernel é um recurso intensivo, ele precisa de uma boa quantidade de espaço, uma troca e uma ram.
-
Durante a instalação, ele cria subpasta como / mount, / proc, / boot, / dev etc. Para que cada parte receba a respetiva localização, a qual algumas falhou devido a falta de memória.
-
Normalmente, um kernel é compilado no ambiente chroot like, mas se o chroot não estiver configurado corretamente, ele pode falhar em obter um recurso como proc, mnt, dev e, assim, o pânico.
Se você ainda precisar de ajuda, dê uma olhada nesses dois lugares # 1 equipe do kernel para o ubuntu , # 2 equipe de depuração do kernel para o Ubuntu
Nova atualização:
Como sua atualização parece implicar em compilar o kernel funcionou.
Isso só poderia significar que você compilou todo o kernel.
Normalmente, um kernel tem tudo o que pode ser importante para um, mas um desperdício de espaço e tempo para outro.
Então, você pode usar os novos kernels do kernel do ubuntu . No meu caso, sua v4.14-rc1.Download do kernel que corresponde ao seu arco. Eu tenho x86_64, então eu escolheria 64 bits um. Eu faria o download desses
- linux-headers-4.14.0-041400rc1_4.14.0-041400rc1.201709162031_all.deb
- linux-headers-4.14.0-041400rc1-generic_4.14.0-041400rc1.201709162031_amd64.deb
- linux-image-4.14.0-041400rc1-generic_4.14.0-041400rc1.201709162031_amd64.deb
e, em seguida, emitiria "sudo dpkg -i * .deb" para compilar tudo.
Agora parece que o kernel que você compilou é de mais de 1GB, portanto, está usando mais recursos.
O kernel do ubuntu tem muitas partes separadas por seu tamanho reduzido e usa compressão pesada.
Seu kernel pode ter tudo nele e pode ser usado por IOT, servidores, desktop e pode ser compatível com o braço 64, amd64, etc, pois ele pode ter todos os módulos presentes para executá-los.
Para reduzi-lo, você precisa remover todas as partes inúteis do seu caso, como drivers de hardware de que nunca ouviu falar. Removendo as partes do servidor sempre que possível.
Ótimo trabalho, já que a compilação do kernel é uma dor de cabeça, pois usa recursos intensivos, tempo e paciência
Atualização 2:
Como você mencionou que o seu arquivo initrd.img era enorme. Você poderia pelo menos postar uma captura de tela do seu / boot / ou no terminal usar "ls -l" para listar o tamanho de tudo.
O kernel é o coração de qualquer distribuição Linux. É muito complexo, então, sem saber de nada, é possível adivinhar qual é o problema.
Eu ainda sugiro que você remova os módulos indesejados do seu kernel e compile-o.