Construyendo un kernel de Linux de forma nativa en macOS: Un viaje al infierno de la compilación
Esta publicación detalla la experiencia del autor al construir un kernel de Linux (arquitectura RISC-V) de forma nativa en macOS. El viaje estuvo lleno de desafíos: una versión desactualizada de make, el ld de macOS siendo incompatible con las expectativas de Linux, la falta de los encabezados elf.h y byteswap.h, y conflictos de versión con uuid_t y sed. El autor superó estos problemas usando Homebrew para instalar cadenas de herramientas actualizadas (make, llvm, lld, libelf, gnu-sed) y creando parches para solucionar discrepancias en los encabezados y conflictos de definición de tipo. El kernel se construyó con éxito, con macOS mostrando tiempos de construcción más rápidos que Docker para construcciones limpias, pero construcciones incrementales más lentas. El autor concluye que solucionar problemas de construcción es un proceso continuo e iterativo, similar a la integración continua.
Leer más