top of page

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

Jun 1, 2020
2 min read

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).


Download:


Documentation, and patches can be found on:

528 Comments


baliyogshala6
12 hours ago

A 100 Hour Yoga TTC in Bali is a wonderful opportunity for yoga enthusiasts who want to deepen their practice and understand the traditional aspects of yoga. The training can introduce students to important areas such as yoga asanas, pranayama, meditation, yoga philosophy, anatomy, alignment, and basic teaching techniques. Bali's peaceful and inspiring environment provides a supportive setting for focused learning and personal growth. Through regular practice and guided sessions, participants can improve flexibility, strength, concentration, discipline, and confidence. Whether you are beginning your yoga journey or already have experience, a 100 Hour Yoga TTC in Bali can help you build a stronger foundation and develop a deeper connection with your body, breath, and mind.


Like

mark
2 days ago

Network settings can become confusing when similar IP addresses appear in search results. Information about 10.00.1 and other variations is useful because it encourages users to check the correct address format. I prefer guides that explain these differences clearly and help beginners understand basic router and network terminology.

Like

Sometimes, all you need is a little time to relax and recharge. Berry's Spa and Salon is a comfortable option for Full body massage in Vile Parle, with a calm environment and attentive service. It can be a nice way to step away from a busy routine and give yourself a refreshing break.

Like

Memat digi
Memat digi
4 days ago

This is a really useful walkthrough for anyone interested in building a lightweight Debian setup from scratch. I like how the post explains the u-boot, kernel, partitioning, and hardware considerations while keeping the system minimal. Detailed technical guides like this are valuable because they make complex setups easier to understand. In the same way, businesses need a strong technical foundation online, and choosing a SEO experts india can help improve website visibility and reach.

Like

baskow2014
6 days ago

For anyone comparing knowledge platforms, Hopewiki stands out by keeping its structure simple and its pages easy to scan. The site works best when you arrive with a specific question rather than browsing aimlessly, since the internal linking rewards curiosity but can also pull you in unexpected directions. If you want to see how it handles a topic you already know well, start at Hopewiki and judge the depth for yourself.

Like
bottom of page