TUI/CLI tool for managing device tree overlays at runtime. Built with Go + Bubble Tea, single static binary, zero runtime dependencies.
Compatible with any Linux distribution (Ubuntu, Debian, Buildroot, etc.) as long as U-Boot supports overlay loading.
How It Works
┌───────────────────────────────────────────────────────┐
│ User executes: sudo ovtree │
│ ↓ │
│ overlays.ini ←──(read/write)──→ TUI / CLI │
│ ↓ │
│ .ubootenv ←──(auto-generated on save)──→ │
│ ↓ │
│ U-Boot boot ←──(reads .ubootenv)──→ loads *.dtbo │
└───────────────────────────────────────────────────────┘2
3
4
5
6
7
8
9
All files are located in /boot/overlays/
overlays.ini Format
# Mutually exclusive group — only one overlay in the same group can be enabled at a time
[group:dsi-display]
type = group
name_zh = DSI Display
name_en = DSI Display
desc_zh = Only one DSI display can be active at a time
desc_en = Only one DSI display can be active at a time
# Overlay entry — section name must match the .dtbo filename
[your-board-dsi-screen.dtbo]
enabled = false
name_zh = 10.1" MIPI Display
name_en = 10.1" MIPI Display
desc_zh = 800x1280, 4-lane MIPI, GT9xx Touch
desc_en = 800x1280, 4-lane MIPI, GT9xx Touch
group = dsi-display2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| Field | Required | Description |
|---|---|---|
enabled | Yes | true or false |
name_zh | Yes | Chinese display name |
name_en | Yes | English display name |
desc_zh | No | Chinese description |
desc_en | No | English description |
group | No | Mutually exclusive group name (empty = no constraint) |
Usage
TUI Mode (Recommended)
Execute in the development board terminal:
sudo ovtree # Select language first
sudo ovtree --lang=zh # Enter Chinese directly
sudo ovtree --lang=en # Enter English directly2
3
CLI Mode
Execute in the development board terminal:
sudo ovtree list # List all overlays in JSON
sudo ovtree status # View enabled overlays
sudo ovtree enable your-overlay.dtbo # Enable
sudo ovtree disable your-overlay.dtbo # Disable
sudo ovtree disable-all # Disable all2
3
4
5
Adding New Overlays at Runtime
1. Place the new .dtbo file into /boot/overlays/
2. Add the corresponding configuration section in overlays.ini:
Method 1: Directly edit the
overlays.inifile, add the new overlay configuration section according to the format, save and exit, then you can see the newly added overlay in TUI.Method 2: Enter TUI mode, select "Add New Plugin", it will automatically open the
overlays.inifile and write the relevant information. Add the new overlay configuration section according to the format, save and exit, then you can see the newly added overlay in TUI.