Você conhece kernel.org
e é aqui que você pode obter kernels de baunilha antigos ou novos. Para os kernels mais recentes, você também pode usar o git.
Uma vez que você tenha um kernel, para criar uma "árvore de fontes", você apenas descompactá-lo. Por exemplo, se você baixou um arquivo .bz2
, poderá descompactá-lo com o comando tar -jxvf <kernel version>.bz2
. Tradicionalmente esta árvore está localizada em /usr/src
e o symlink /usr/src/linux
é feito para apontar para o diretório específico do kernel que você está usando.
Depois de descompactar a árvore de origem, para criá-la você precisa primeiro configurá-la. make menuconfig
(baseado em ncurses) ou make xconfig
(baseado em X). Existem alguns outros config make targets se você estiver migrando um .config de uma versão de kernel diferente. Finalmente, para construir o kernel e seus módulos, use make
. Para instalar e inicializar o kernel, use make modules_install
para os módulos e copie arch/<your arch>/boot/bzImage
para onde quer que seu bootloader espere que os kernels estejam e configure-o para inicializar aquele kernel. Você precisará inicializar no kernel se você espera carregar qualquer módulo que você construir contra ele.
Com isso dito, se você quiser apenas experimentar módulos de construção, simplesmente pegue o código fonte do seu kernel atual (haverá um pacote) e construa módulos com o kernel em vez de passar pelo processo acima. Não é difícil, mas se você é novo no kernel, pode ser um pouco avassalador.