A lightweight Embedded Linux BSP based on Buildroot
Designing a custom Linux Board Support Package (BSP) for embedded systems.
Current Version: 0.2.0
EmbarkOS is a personal embedded Linux project built around Buildroot.
The objective is to design a lightweight, modular and reusable Linux Board Support Package while following professional embedded Linux development practices.
The project focuses on:
- 🐧 Linux Embedded Development
- ⚙️ Buildroot BSP Design
- 💻 Cross-compilation (ARM64 / AArch64)
- 📦 Custom Buildroot Packages
- 🔌 Hardware Interfaces (UART / GPIO)
- 🛠️ Embedded System Utilities
- 🧪 QEMU Virtual Platform
- 🤖 Continuous Integration (GitHub Actions)
| Package | Description | Status |
|---|---|---|
| ✅ embark-info | System information utility | ✔ |
| ✅ embark-uart | UART monitoring tool | ✔ |
| ✅ embark-monitor | System monitoring utility | ✔ |
| 🚧 embark-gpio | GPIO utility (libgpiod) | WIP |
| ⏳ embark-net | Network utilities | Planned |
| Tool | Description | Status |
|---|---|---|
| ✅ Package Generator | Automatic Buildroot package creation | ✔ |
| ✅ QEMU Support | ARM64 virtual platform | ✔ |
| ✅ Raspberry Pi 3 Support | Native target platform | ✔ |
| ✅ GitHub Actions | Automatic build pipeline | ✔ |
| 🚧 Automated QEMU Tests | Smoke tests | WIP |
EmbarkOS
├── .github/
│ └── workflows/
├── configs/
├── docs/
├── external/
│ └── embarkos/
│ └── package/
│ ├── embark-info/
│ ├── embark-uart/
│ ├── embark-gpio/
│ ├── embark-monitor/
│ └── embark-net/
├── releases/
├── scripts/
│ ├── build-qemu.sh
│ ├── build-rpi.sh
│ ├── run-qemu.sh
│ ├── test-qemu.sh
│ ├── gen-package.sh
│ └── release.sh
├── buildroot/
└── output/
- C17
- GNU Make
- Buildroot
- Linux Kernel
- BusyBox
- libgpiod
- QEMU
- Raspberry Pi 3
- ARM64 / AArch64
- Git
- GitHub Actions
./scripts/build-rpi.sh./scripts/build-qemu.sh./scripts/run-qemu.shCreate a new Buildroot package in a few seconds.
./scripts/gen-package.sh embark-exampleThe generator automatically creates:
- Package skeleton
- Buildroot integration
- Source tree
- Header files
- Makefile
- README
- LICENSE
Every push automatically triggers:
- ✅ QEMU Build
- ✅ Raspberry Pi Build
- ✅ Artifact generation
- 🚧 Automated smoke tests
- ✅ BSP initialization
- ✅ Buildroot integration
- ✅ ARM64 toolchain
- ✅ Root filesystem
- ✅ embark-info
- ✅ embark-uart
- ✅ embark-monitor
- ✅ Package Generator
- ✅ QEMU Support
- ✅ GitHub Actions
- 🚧 embark-gpio
- ⏳ embark-net
- ⏳ I²C utilities
- ⏳ SPI utilities
- ⏳ Automated QEMU tests
- Stable BSP
- Complete embedded utilities
- Full documentation
- Automated testing
- Continuous Integration
- Raspberry Pi validation
This project is intended to demonstrate practical skills in:
- Linux Embedded Development
- Buildroot
- Board Support Package Design
- Cross Compilation
- Embedded C Programming
- Linux Userspace Development
- Hardware Interfaces
- BSP Architecture
- Continuous Integration
- Embedded Software Engineering
MIT License