Hacker do kernel autodidata aqui (e ainda mantém uma pequena parte dele).
Talvez não seja uma resposta definitiva, mas em primeiro lugar recomendo usar uma pequena placa incorporada como um framboesa pi, pois durante o desenvolvimento do kernel você precisará usar o hardware físico mais cedo ou mais tarde - emulação de software e VMs Não use os mesmos drivers e código que o hardware físico, ou adicione camadas extras de complexidade quando estiver tentando descobrir como algo funciona que já é complexo o suficiente.
No entanto, trabalhar em um sistema embarcado secundário envolverá o uso de um compilador cruzado que também pode causar problemas. Se você tem um sistema x86 mais antigo disponível, use-o - acostume-se a configurar o sistema a partir do zero, pois você o iniciará mais cedo ou mais tarde e o exercício de fazer isso não é uma coisa ruim, como o desenvolvimento real do kernel envolverá o desenvolvimento em sistemas menos estáveis (cera ligada / cera desligada ...).
Na ausência de qualquer sistema secundário para invadir, dual boot seu sistema principal e use o segundo sistema para trabalhar - mas certifique-se de fazer backup de tudo, apenas no caso.
Ah, e um pensamento final - não use o Ubuntu, o fedora ou qualquer distribuição onde o espaço do usuário possa mudar entre as atualizações - caso contrário, você acabará depurando problemas com fantasmas. Use Debian, centos ou outro espaço de usuário estável, pelo menos até que você consiga detectar instintivamente tais problemas.