LlizardOS

"cold blooded efficiency"

custom void linux firmware built specifically for the spotify car thing. musl-based, minimal footprint, boots in seconds. the foundation that everything else runs on.

<10s
boot time
~200MB
disk usage
ARMv7
architecture
musl
libc

technical specifications

Base OSVoid Linux (musl)
ArchitectureARMv7 (32-bit ARM)
Graphics Stackraylib + DRM/KMS (no Wayland/X11)
Init Systemrunit
Package Managerxbps
KernelLinux 5.15 (custom patches)
Servicesredis-server, mercury, llizard (managed by runit)

why void linux

minimal footprint

musl libc is smaller and faster than glibc. no systemd bloat. runit is simple and reliable. the entire OS fits in ~200MB.

rolling release

always up-to-date packages. no need to wait for major version bumps. xbps is fast and predictable.

embedded-friendly

perfect for ARM devices. cross-compilation is straightforward. no unnecessary dependencies dragged in.

building llizardos

the build process uses docker with qemu for cross-compilation. just is used as the command runner. the entire rootfs is built from scratch.

bashbuild-rootfs.sh
just docker-qemu

this creates a docker image with qemu-user-static for ARMv7 emulation. then run the build:

bashrun-build.sh
just docker-run
the build process takes 15-30 minutes depending on your machine. it will download void packages, compile custom components, and generate a flashable image for the car thing.

SSH access

after flashing llizardos to your car thing, connect via USB. the device creates a network interface at 172.16.42.2.

bash
ssh root@172.16.42.2

password: llizardos

(change this immediately after first login via passwd)

the default password is intentionally simple for initial setup. change it before exposing the device to any network beyond your development machine.
view on githubinstallation guide