El autor se propuso crear un diminuto kernel de sistema operativo escrito totalmente en Swift que pudiera ejecutarse en el emulador QEMU sin ningún sistema operativo subyacente. Usando Embedded Swift — un subconjunto experimental del lenguaje destinado a entornos bare‑metal — el proyecto apuntó al triple aarch64‑none‑none‑elf, que representa una CPU ARM de 64 bits sin sistema operativo ni tiempo de ejecución C proporcionado. El objetivo inicial era simplemente imprimir un mensaje y detenerse, sirviendo como ejercicio de aprendizaje para comprender qué se requiere para que un programa arranque cuando no hay biblioteca estándar ni servicios de kernel disponibles.
Para hacer que el código Swift se ejecute en bare metal, el autor proporcionó un archivo toolset.json personalizado que deshabilita la biblioteca estándar, habilita las características experimentales Embedded y Volatile, desactiva la protección de pila e indica al compilador Swift que use el enlazador LLD con ‑nostdlib, ‑static y un script de enlazado escrito a mano. El script de enlazado coloca el punto de entrada del ejecutable en 0x40080000, define una pila y mantiene explícitamente las secciones de metadatos ELF para evitar errores de sección huérfana. Un archivo de ensamblado boot.S configura la pila para el núcleo 0, salta a una función Swift marcada con el atributo @c (kernel_main) y luego se detiene. Dentro de kernel_main, el autor proporciona las funciones C faltantes putchar y memmove: putchar escribe un byte en el registro UART PL011 mapeado en memoria en 0x09000000, mientras memmove copia bytes hacia adelante o hacia atrás para manejar regiones solapadas, ambas escritas en Swift con los atributos @c y @unsafe.
Al construirlo con `swift build --triple aarch64-none-none-elf --toolset toolset.json --build-system native` y ejecutarlo mediante `qemu-system-aarch64 -machine virt -cpu cortex-a57 -nographic -kernel .build/aarch64-none-none-elf/debug/kernel`, el emulador imprime «Hello, Embedded Swift 😊» y luego permanece en un bucle infinito. Una revisión posterior añadió un bucle de sondeo que lee el registro de bandera de la UART para eco de los caracteres tecleados, proporcionando un prompt tipo REPL simple. El kernel sigue siendo un ejercicio de aprendizaje: no borra la sección .BSS, utiliza una pila deliberadamente grande de 128 kB, depende del sondeo en lugar de interrupciones para E/S y carece de cualquier planificador o gestión de memoria, pero demuestra que Swift puede usarse para firmware de bajo nivel cuando se proporciona el código de pegamento necesario.
