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

- Jun 1, 2020
- 2 min read
This article is at https://forum.clockworkpi.com/t/os-minimal-debian-u-boot-kernel-and-debian-from-scratch/5707
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.
Functionalities
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.
I don’t consider it an overclock. It is inside CPU specs, you can always use the governor settings to limit the frequency and increase battery life. The default governor is performance.
Standby mode (freeze) by pressing quickly the power key.
Power off by long-press (~2 seconds) the power key.
500 MB of space occupied in the disk.
The system uses the minimum necessary to have a full Debian distribution with all the functionalities such as:
Package management (apt-get).
Wifi management with wpa-supplicant.
Bluetooth with bluez server.
DHCP server for USB ethernet functionality. I’m using network 192.168.11.x because some routers use the 192.168.10.x and using it will cause network problems.
SSH server.
Retroarch as a menu, and starting at boot. Takes around ~20 seconds from power on to get RetroArch running.
RAM usage of only 29MB, and 51MB with RetroArch running.
Cedrus support enabled in the kernel.
This is for video encoding/decoding in hardware. The libva driver still not complete, but we should have it soon. This will be good if you want to record your game with retroarch and ffmpeg driver.
Charging LED is now in userspace (next release 0.2).
I Patched the kernel. Now you have the charging LED (Orange LED) in the userspace at (/sys/class/leds/axp20x\:chgled/). You can control it manually (to use it for what you want like a normal led), or automatic (controlled by the charger).
Enabled status LED (green LED) to monitor (next release 0.2):
Activity (CPU usage) [default mode], you can change it in the userspace.
Heartbeat. (I will use it later to signalize standby mode)
Known Issues
HDMI doesn’t work.
LED’s doesn’t work. FIXED (next release 0.2).



We have seen people jumping in and out of regular cabins to premium suites without thinking or out of benefits of loyalty. One of the travelers had to use reward points and money to reserve a balcony on the day they sailed. You can upgrade or not depending on the number of vacancies, the magnitude of increase in price, and your status as a loyalist. How much the upgrade would cost can be obtained by calling the Azamara Cruise Lines Customer Support Phone Number at San Juan port where they have updated pricing and qualification info.
Hainan Airlines Sacramento office contact number is linked with reporting cabin safety concerns, seat issues, air quality problems, and onboard incident feedback from passengers.
The Swiss rep office in New York is equipped with an educational play alcove that has puzzles and multilingual picture books. Flight workers might provide child-sized headphones and in-flight activity kits on demand. It has a quiet nursing corner and intelligent lockers of toys, which is strangely pleasing. The swiss international airlines new york office contact number is in the information board, and the friendly personalities will help explain the availability of child-bassinet and the customization of kid meals based on long-haul flights. It’s safe and welcoming.
The Swiss rep office in New York is equipped with an educational play alcove that has puzzles and multilingual picture books. Flight workers might provide child-sized headphones and in-flight activity kits on demand. It has a quiet nursing corner and intelligent lockers of toys, which is strangely pleasing. The swiss international airlines new york office contact number is in the information board, and the friendly personalities will help explain the availability of child-bassinet and the customization of kid meals based on long-haul flights. It’s safe and welcoming.
This article offers a very insightful breakdown of building a minimal Debian system from scratch, especially the way it explains U-Boot, kernel configuration, and system optimization. Detailed, well-structured content like this shows how much effort and personalization go into creating something truly efficient and meaningful. In many ways, the same principle applies beyond technology—whether it’s software or thoughtful custom anniversary gifts, value comes from understanding the foundation and tailoring it with care. Just as developers appreciate control and customization in embedded systems, people also look for personalized anniversary gifts that feel intentional and well-crafted rather than generic. Brands like Mematgo reflect this mindset by focusing on personalization and purpose, much like the approach highlighted in this post. Overall, this is a great…