top of page
  • Writer's pictureAlex

Minimal Debian (u-boot, kernel, and Debian from scratch)

This article is at

By Joao_Manoel

I created a clean Debian, and u-boot from scratch to be used in our device.

The menu is Retroarch. It boots directly to it in KMS mode (without X11). I have been working on an optimized version of retroarch with brightness control, more OSD options, power off, reboot on the menu, and other small features, but I decided to use the retroarch from the official repository. Maybe someone wants to use my build for other stuff, and it is very easy to uninstall retroarch now (apt uninstall retroarch). I’ll launch my retroarch in a dpkg file in the future to keep compatibility.

The OS only uses ~500MB of disk space, but I couldn’t shrink the partition I used, so you need at least a 2 GB SD card ( You will have 1.5GB of free space).

I documented as much as possible so someone else can recreate what I did. The skeleton (u-boot, kernel, partition procedure) can be the base for a Buildroot or another distribution.


  • Based on Debian Bullseye for the latest MESA driver with full lima support.

  • Clean OS with only Debian packages (no handmade compiled binaries) and small tweaks for hardware compatibility with gameshell.

  • No strange symbolic links nor duplicate files.

  • Max CPU frequency of 1.4GHz.