NestShift OS is a specialized Linux distribution built using Buildroot, designed for high-performance kiosk applications on Raspberry Pi 3B+ hardware. It provides a lightweight, robust environment for running web-based dashboards and Python-powered automation services.
- Optimized Kiosk Mode: Uses WPE WebKit and Cog with a direct DRM/KMS backend for hardware-accelerated rendering without a window manager.
- Service Management: Powered by
systemdfor reliable service orchestration and recovery. - Python Runtime: Includes a full Python 3 stack optimized for data processing and REST APIs.
- IoT Ready: Built-in MQTT broker (Mosquitto) and support for Zigbee/Z-Wave peripherals.
- Networking: Automated network management via
systemd-networkdandwpa_supplicant. - Fast Boot: Minimalist configuration designed for rapid startup directly into the application.
This is a Buildroot external tree (BR2_EXTERNAL).
.
├── board/nestshift/ # Board-specific configurations and overlays
│ ├── rootfs-overlay/ # Files merged directly into the target filesystem
│ ├── post-build.sh # Customization script run after package installation
│ └── config.txt # RPi firmware configuration
├── configs/ # Buildroot defconfigs
│ └── nestshift_pi3_defconfig
├── package/ # Custom Buildroot packages for NestShift services
│ ├── nestshift-brain/ # Neural processing service
│ ├── nestshift-dashboard/ # React-based web interface
│ └── nestshift-system/ # Core system configurations
├── Config.in # Top-level configuration for external packages
├── external.desc # External tree description
└── external.mk # External tree makefile logic
- A Linux host system (Ubuntu 22.04+ recommended)
- Buildroot (version 2024.02 or later recommended)
- Dependencies:
bc,build-essential,cpio,git,python3,rsync,unzip,wget
-
Clone Buildroot:
git clone https://github.com/buildroot/buildroot.git cd buildroot -
Clone this External Tree:
git clone https://github.com/aryan597/buildroot-external-nestshift.git ../buildroot-external-nestshift
-
Configure the Project:
make BR2_EXTERNAL=../buildroot-external-nestshift nestshift_pi3_defconfig
-
Build the Image:
make
Note: The first build can take 30-60 minutes depending on your host machine.
The build process produces an sdcard.img in output/images/.
sudo dd if=output/images/sdcard.img of=/dev/sdX bs=4M status=progress
sync(Replace /dev/sdX with your SD card device)
- Networking: Edit
board/nestshift/rootfs-overlay/etc/systemd/network/to customize network settings. - Kiosk URL: The browser kiosk target can be modified in the
nestshift-kiosk.servicefile. - Packages: Additional packages can be enabled via
make menuconfig.
This project is licensed under the MIT License - see the LICENSE file for details.