Primeiro, você precisa avaliar exatamente o que precisa que seu kernel faça. Isso significa criar uma lista de:
- Cada peça de hardware no seu sistema
- Funções relacionadas a hardware, como LVM e RAID
- Funções de rede, como roteamento, VPNs, suporte sem fio, etc.
- Sistemas de arquivos, especialmente seu sistema de arquivos raiz
- Outras necessidades especiais no nível do kernel
Em seguida, você deve tentar descobrir como o seu kernel atual está lidando com eles e depois tentar traduzi-lo para um kernel mais novo. Para isso, você pode ver:
- As saídas de
lspci
edmesg
- isso ajudará você a catalogar o hardware e o que o kernel atual faz na inicialização - Quais módulos são carregados - veja em
lsmod
- A configuração do kernel, se disponível - às vezes, isso existe em
/proc/config.gz
ou em/boot
Uma vez que você conhece seu hardware, e como o kernel atual está lidando com ele, você pode fazer um novo kernel a partir dos fontes Debian. Concentre-se em obter um kernel que inicialize primeiro. Uma vez que você pode entrar em um shell com seu novo kernel, você pode adotar uma abordagem incremental para o resto de seus recursos. Recompile, adicionando recursos ou drivers conforme necessário (talvez como módulos para acelerar esse processo) e teste cada novo kernel.
Uma última palavra sobre o RAID. Você deve ter cuidado com sua configuração RAID atual, se for um RAID por software - os novos kernels e sistemas usarão mdadm para gerenciar esse tipo de coisas, enquanto sistemas mais antigos tendem a usar a abordagem raidtab . Sua abordagem mudará como você lida com o RAID in-kernel, especialmente os bits de autodetecção. Dê uma olhada no excelente Software RAID Howto para obter mais informações.