Desenvolvimento do kernel
Esta página está em construção.
O KDE Linux oferece um ambiente de desenvolvimento de kernel completo e pré-configurado, pronto para uso. Não são necessários pacotes, contêineres, máquinas virtuais ou chroots adicionais. O desenvolvimento do kernel segue os fluxos de trabalho padrão do Linux, com algumas etapas de integração específicas do KDE Linux, explicadas abaixo.
Documentação oficial
O desenvolvimento do kernel no KDE Linux segue as práticas oficiais do Linux. Antes de prosseguir, é altamente recomendável familiarizar-se com a documentação oficial do kernel Linux:
- https://docs.kernel.org/
- https://docs.kernel.org/process/
- https://docs.kernel.org/kbuild/
- https://docs.kernel.org/rust/
Esses documentos descrevem o processo de desenvolvimento, o estilo de codificação, o sistema de compilação e (opcionalmente) o suporte a Rust usado pelo kernel.
Pré-requisitos
O KDE Linux usa um sistema de arquivos /usr somente leitura. Qualquer kernel personalizado, módulos de kernel ou artefatos relacionados devem ser instalados por meio de uma sobreposição gravável.
Antes de continuar, você deve configurar uma extensão de sistema systemd (sysext) para permitir a sobrescrita de conteúdo em /usr.
Esta etapa é obrigatória. Todas as imagens e módulos do kernel criados neste guia são instalados no diretório sysext e, em seguida, integrados ao sistema em execução.
Clonar o kernel do Linux
Clone o repositório upstream do kernel Linux usando o Git:
git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git cd linux
Você também pode clonar uma ramificação estável ou de desenvolvimento específica, se necessário.
Configuração do Kernel
Você pode começar com a configuração padrão para sua arquitetura:
make defconfig
Para personalizar a configuração, utilize uma das interfaces de configuração padrão do kernel:
make menuconfig make nconfig make xconfig
Todas as etapas de configuração são idênticas às do desenvolvimento do kernel Linux oficial.
Compilar o kernel
Compile o kernel usando o sistema de compilação padrão:
make -j$(nproc)
Isso gera a imagem do kernel e os módulos na árvore de compilação.
Instalar no sysext
Instale os módulos do kernel na camada sysext:
make INSTALL_MOD_PATH="$HOME/kde/usr" modules_install
Determine a versão do kernel e instale a imagem do kernel:
version=$(make -s kernelrelease) install -Dm644 "$(make -s image_name)" \ "$HOME/kde/usr/lib/modules/$version/vmlinuz"
Atualize a extensão do sistema systemd para que o sistema reconheça o novo kernel e os módulos:
run0 systemd-sysext refresh
Reconstruir as imagens EFI
Após instalar o kernel no sysext, reconstrua os artefatos EFI com base no conteúdo atualizado de /usr:
run0 /usr/lib/rebuild-efi
Esta etapa gera uma nova Imagem Unificada do Kernel (UKI).
Instalar a Imagem Unificada do Kernel
Instale o arquivo UKI gerado na partição do sistema EFI:
run0 cp kde-linux.efi /boot/EFI/Linux/
O novo kernel aparecerá como uma entrada sem versão no systemd-boot e poderá ser selecionado na próxima inicialização.
Artigo contribuído por Andrew Gigena sob a licença CC-BY-4.0.