Construindo um kernel Linux nativamente no macOS: Uma jornada pelo inferno da compilação

2025-07-03
Construindo um kernel Linux nativamente no macOS: Uma jornada pelo inferno da compilação

Este artigo detalha a experiência do autor ao construir um kernel Linux (arquitetura RISC-V) nativamente no macOS. A jornada foi repleta de desafios: uma versão desatualizada do make, o ld do macOS sendo incompatível com as expectativas do Linux, falta dos headers elf.h e byteswap.h, e conflitos de versão com uuid_t e sed. O autor superou esses problemas usando o Homebrew para instalar toolchains atualizadas (make, llvm, lld, libelf, gnu-sed) e criando patches para resolver discrepâncias de arquivos de header e conflitos de definição de tipo. O kernel foi construído com sucesso, com o macOS mostrando tempos de construção mais rápidos que o Docker para construções limpas, mas construções incrementais mais lentas. O autor conclui que corrigir problemas de construção é um processo contínuo e iterativo, semelhante à integração contínua.

Desenvolvimento