NightRun corre LLM num Raspberry Pi 5 sem sistema operativo
Projeto open-source arranca um modelo local directamente a partir do firmware UEFI, liberta RAM e fecha o disco a curiosos. É IA em modo bare metal para quem gosta de controlar tudo.
Projeto open-source arranca um modelo local directamente a partir do firmware UEFI, liberta RAM e fecha o disco a curiosos. É IA em modo bare metal para quem gosta de controlar tudo.
NightRun não é mais uma distro minimalista de Linux com IA. É uma aplicação UEFI que arranca directamente para um modelo de linguagem local a partir de uma pen USB ou microSD, sem sistema operativo pelo meio. Literalmente: ligas o PC ou o Raspberry Pi 5, o firmware carrega o NightRun, o NightRun carrega o modelo e ficas numa interface de chat em modo framebuffer. Nada de kernel, nada de scheduler, nada de rede.
A ideia é simples e pragmática. Se o objectivo é correr um LLM local e preservar dados, cada mega de RAM conta. Um OS tradicional come memória e largura de banda de forma invisível. O NightRun escreve o runtime em Rust, carrega um modelo quantizado de 1,3 GB a 2,4 GB directamente em RAM, verifica checksums CRC-32 e depois sela o armazenamento: qualquer tentativa posterior de ler do disco dispara um hard fault. Do ponto de vista de privacidade e de superfície de ataque, isto é mais agressivo do que qualquer modo privado de browser ou VPN de catálogo.
Em termos de suporte, o foco está em hardware realista, não em datacenters. Por agora funciona em PCs x86_64 com UEFI de 64 bits e Secure Boot desligado, e no Raspberry Pi 5 via USB ou microSD. Os modelos suportados incluem Llama 3.2 1B (pede 4 GB de RAM), Llama 3.2 3B e Granite 4.1 3B (6 GB), e Qwen3 4B Instruct 2507 (8 GB), todos convertidos para o formato .nrm da ferramenta. O runtime usa kernels AVX2/FMA/F16C em x86 e NEON no Pi, com um desenho zero-copy: modelos Q8_0, Q4_K e Q6_K correm directamente da RAM sem desquantização intermédia.
A interface é espartana mas focada. Um chat em framebuffer, com histórico, edição de prompt e estatísticas em tempo real: tokens por segundo, tempo de geração, uso de memória. Os próprios autores admitem que o limite está, sobretudo, na largura de banda da memória. Num VM x86 de 8 cores em QEMU, o Llama 3.2 1B quantizado em Q8_0 chega a cerca de 20 tokens por segundo. Num Raspberry Pi 5 com 8 GB, o Granite 4.1 3B em Q4_K_M anda pelos 3 tokens por segundo nos kernels NEON ainda em fase precoce. Não é para “substituir” o ChatGPT no dia-a-dia, é para quem quer um assistente offline, controlado e repetível.
O contraste com abordagens como a LLMStick de Binh Pham é claro. A LLMStick usa um Raspberry Pi Zero W com motores C/C++ tipo llama.cpp em cima de distros Linux leves como Alpine ou DietPi para poupar memória. NightRun vai mais longe e trata o OS como ruído a eliminar, posiciona-se como um appliance UEFI pronto para produção, com tokenização testada para paridade com os modelos de origem e um pipeline pensado para hardware de consumo. Menos camadas, menos dependências, mais previsibilidade. O preço é óbvio: sem rede, sem multitarefa, sem o conforto das ferramentas habituais.
Também é um bom estudo de caso de como a própria IA está a escrever o seu futuro. A maior parte do código foi gerada com Claude Code usando o modelo Fable 5, e o resultado está no GitHub sob licença MIT. A instalação faz-se com um script de shell em Linux que descarrega o modelo verificado e grava a imagem arrancável. Há salvaguardas explícitas, como obrigar a escrever FLASH /dev/sdX antes de tocar no disco, para evitar desastres em sistemas principais. Para quem em Portugal usa um Raspberry Pi 5 como servidor doméstico, bastam uns cartões microSD dedicados para ter, ao lado do Pi com Debian, um Pi que arranca directo para um LLM local. Não é o futuro da computação de IA de massas, mas é um lembrete útil de que ainda é possível ter máquinas que fazem uma só coisa e a fazem bem.
Fonte: CNX Software
Comentários · 0