Fuzix on a Raspberry Pi Pico Because your $5 microcontroller needed to run UNIX I recently discovered Fuzix while falling down a rabbit hole of reading about people’s hobby operating systems. Since I had some supported hardware (a Raspberry Pi Pico) laying around, I figured I’d try it out for myself. Fuzix is a descendant of UZI (with some other forks merged in), which itself is effectively a port of UNIX to the Zilog Z80. I thought this was particularly interesting because I’ve long been on a quest to find a way to get an extremely stripped-down build of Linux (or perhaps a BSD) to run on one of my microcontrollers. Compiling I found that the most sensible OS to use as a host for compiling Fuzix is Debian Bookworm due to requirements on old-ish versions of various dependencies. Since I do not have any systems running Bookworm, I opted to throw together this little Dockerfile to set up my build environment: FROM debian:bookworm RUN apt-get update RUN apt-get install -y \ git make cmake build-essential \ gcc-arm-none-eabi libnewlib-arm-none-eabi \ binutils-arm-none-eabi byacc python3 I then checked out Git tag v0.4, and patched out the “2048” game from the default applications directory, as this game cannot compile for the Pi Pico. git clone https://github.com/EtchedPixels/FUZIX git reset --hard tags/v0.4 git submodule update --init --recursive echo "all::" > ./Applications/games/2048/Makefile.armm0 Finally, I compiled Fuzix with the following command: make TARGET=rpipico SUBTARGET=pico diskimage Installation Compilation produces fuzix.uf2 and filesystem.uf2, the first of which being the Fuxiz kernel. This file can be “flashed” onto a Pi Pico like any other uf2 file. For the uninitiated, this means holding the “BOOTSEL” button while plugging a Pi Pico into your computer, and copying the file onto the virtual storage device that appears in your file explorer. Fuzix supports external flash for storage, but since I have none, I opted to flash the additional filesystem.u...
First seen: 2025-12-20 05:23
Last seen: 2025-12-20 17:29