Convert Figma logo to code with AI

MichaIng logoDietPi

Lightweight justice for your single-board computer!

5,131
510
5,131
540

Top Related Projects

2,213

NOOBS (New Out Of Box Software) - An easy Operating System install manager for the Raspberry Pi

:beginner: Home Assistant Operating System

4,522

Armbian Linux build framework generates custom Debian or Ubuntu image for x86, aarch64, riscv64 & armhf

2,322

Craft and deploy bulletproof embedded software in Elixir

22,214

This repository is a mirror of https://git.openwrt.org/openwrt/openwrt.git It is for reference only and is not active for check-ins. We will continue to accept Pull Requests here. They will be merged via staging trees then into openwrt.git.

Quick Overview

DietPi is a lightweight, highly optimized, and minimal Debian-based Linux distribution designed for single-board computers (SBCs) and other embedded devices. It aims to provide a streamlined, efficient operating system that consumes minimal resources while offering a wide range of software options through its custom installation tool.

Pros

  • Extremely lightweight, consuming fewer system resources compared to other distributions
  • Extensive software selection available through the DietPi-Software tool
  • Highly customizable and optimized for various SBCs and embedded devices
  • Active community and regular updates

Cons

  • May require some technical knowledge for advanced configurations
  • Limited graphical user interface options out of the box
  • Some users may find the minimal approach too stripped-down for their needs
  • Potential compatibility issues with certain hardware or software combinations

Getting Started

To get started with DietPi:

  1. Download the appropriate image for your device from the DietPi website.
  2. Flash the image to your SD card or storage device using a tool like Etcher or dd.
  3. Insert the SD card into your device and power it on.
  4. Connect to your device via SSH (default credentials: root/dietpi).
  5. Run dietpi-config to configure basic settings.
  6. Use dietpi-software to install additional software packages as needed.

For more detailed instructions, refer to the official DietPi documentation.

Competitor Comparisons

2,213

NOOBS (New Out Of Box Software) - An easy Operating System install manager for the Raspberry Pi

Pros of NOOBS

  • Official Raspberry Pi Foundation software, ensuring compatibility and support
  • User-friendly interface for beginners, simplifying OS installation
  • Includes multiple OS options out-of-the-box

Cons of NOOBS

  • Larger image size, requiring more storage space
  • Less customizable than DietPi for advanced users
  • Not as frequently updated as DietPi

Code Comparison

NOOBS (recovery.cmdline):

runinstaller quiet vt.cur_default=1 coherent_pool=6M smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 console=tty1 root=/dev/ram0 elevator=deadline

DietPi (dietpi-installer):

#!/bin/bash
{
    G_DIETPI-NOTIFY 0 "DietPi-Installer"
    G_DIETPI-NOTIFY 2 "Starting installation..."
    # ... (additional installation steps)
}

The NOOBS code snippet shows boot parameters, while DietPi's installer script demonstrates a more customizable approach to system installation and configuration.

:beginner: Home Assistant Operating System

Pros of Home Assistant Operating System

  • Purpose-built for running Home Assistant, providing a streamlined and optimized experience
  • Includes a web-based management interface for easy system administration
  • Regular, automated updates ensure the latest features and security patches

Cons of Home Assistant Operating System

  • Less flexible than DietPi, as it's primarily designed for running Home Assistant
  • Limited software options compared to DietPi's extensive package selection
  • May consume more resources due to its specialized nature and included features

Code Comparison

Home Assistant Operating System (build_all.sh):

#!/bin/bash
set -e

mkdir -p ../../release

all_boards=(
    "generic-x86-64"
    "khadas-vim3"
    "odroid-c2"
    "odroid-c4"
    "odroid-n2"
)

DietPi (.build/.build):

#!/bin/bash
{
    G_INTERACTIVE=0
    G_DIETPI_VERSION=$(sed -n '/^DEV_GITBRANCH=/{s/.*=//p}' dietpi-update)
    G_HW_MODEL=$1
    aSOFTWARE_WHIP_INCLUDE=()
    aAPT_DEPS=()

Both projects use shell scripts for their build processes, but Home Assistant Operating System focuses on specific board targets, while DietPi's script appears more generalized and includes version handling and dependency management.

4,522

Armbian Linux build framework generates custom Debian or Ubuntu image for x86, aarch64, riscv64 & armhf

Pros of Armbian

  • Supports a wider range of single-board computers and devices
  • More comprehensive build system for creating custom images
  • Offers a larger community and more frequent updates

Cons of Armbian

  • Higher resource requirements for running the full OS
  • Steeper learning curve for customization and configuration
  • Less focus on minimalism and lightweight operation

Code Comparison

Armbian (build script excerpt):

compile_uboot()
{
    if [[ $CLEAN_LEVEL == *make* ]]; then
        display_alert "Cleaning" "$BOOTSOURCEDIR" "info"
        (cd "${SRC}/cache/sources/${BOOTSOURCEDIR}"; make clean > /dev/null 2>&1)
    fi
    display_alert "Compiling u-boot" "$BOOTCONFIG" "info"
}

DietPi (install script excerpt):

Install_DietPi()
{
    G_DIETPI-NOTIFY 2 'Installing DietPi'
    G_RUN_CMD wget https://github.com/MichaIng/DietPi/archive/master.tar.gz -O DietPi.tar.gz
    G_RUN_CMD tar xvf DietPi.tar.gz
    G_RUN_CMD rm DietPi.tar.gz
}

Both projects aim to provide customized Linux distributions for single-board computers, but Armbian focuses on a broader range of devices with a more complex build system, while DietPi emphasizes simplicity and minimal resource usage.

2,322

Craft and deploy bulletproof embedded software in Elixir

Pros of Nerves

  • Specialized for embedded systems and IoT applications using Elixir
  • Provides a complete framework for building, deploying, and managing firmware
  • Offers OTA updates and fault-tolerant design for robust IoT devices

Cons of Nerves

  • Limited to Elixir ecosystem, less flexible than DietPi's multi-language support
  • Steeper learning curve for developers not familiar with Elixir or functional programming
  • May have higher resource requirements compared to DietPi's lightweight design

Code Comparison

Nerves (mix.exs):

def deps do
  [{:nerves, "~> 1.7", runtime: false},
   {:nerves_system_rpi3, "~> 1.13", runtime: false, targets: :rpi3}]
end

DietPi (dietpi-software):

G_EXEC curl -sSfL https://install.goreleaser.com/github.com/dietpi/dietpi.sh | sh -s
G_EXEC dietpi-software install 17  # Install Nextcloud

The code snippets highlight the different approaches:

  • Nerves uses Elixir's mix build tool and defines dependencies for the Nerves framework and target system.
  • DietPi employs shell scripts for software installation and configuration, showcasing its flexibility across various programming environments.
22,214

This repository is a mirror of https://git.openwrt.org/openwrt/openwrt.git It is for reference only and is not active for check-ins. We will continue to accept Pull Requests here. They will be merged via staging trees then into openwrt.git.

Pros of OpenWrt

  • Extensive hardware support for a wide range of routers and network devices
  • Advanced networking features and customization options
  • Large community and ecosystem of packages

Cons of OpenWrt

  • Steeper learning curve for beginners
  • Primarily focused on networking devices, less versatile for general-purpose computing
  • May require more manual configuration and tweaking

Code Comparison

DietPi configuration example:

AUTO_SETUP_AUTOMATED=1
AUTO_SETUP_GLOBAL_PASSWORD=dietpi
AUTO_SETUP_INSTALL_SOFTWARE_ID=23 # NextCloud

OpenWrt configuration example:

config interface 'lan'
    option type 'bridge'
    option ifname 'eth0'
    option proto 'static'
    option ipaddr '192.168.1.1'
    option netmask '255.255.255.0'

Summary

DietPi is a lightweight Debian-based OS optimized for single-board computers and embedded devices, focusing on ease of use and minimal resource usage. OpenWrt, on the other hand, is a Linux-based operating system specifically designed for routers and network devices, offering advanced networking capabilities and customization options. While DietPi is more versatile for general-purpose computing tasks, OpenWrt excels in networking applications and has broader hardware support for router devices.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

DietPi logo

Lightweight justice for your single-board computer!

optimised • simplified • for everyone

Website • Downloads • Documentation • Forum • Blog


Ready to run optimised software choices with dietpi-software
Feature-rich configuration tool for your device with dietpi-config.


Introduction

DietPi is an extremely lightweight Debian-based OS. It is highly optimised for minimal CPU and RAM resource usage, ensuring your SBC always runs at its maximum potential.

The dietpi programs use lightweight whiptail menus. You'll spend more time enjoying DietPi and applications you need and less time staring at the command line.

Use dietpi-software to quick and easy install Ready to Run & Optimised applications for your system. DietPi will do all the necessary configurations, including starting the services. Few highlights: Desktop Environments, Remote Desktop Access, Media Systems & Players, BitTorrent & Downloading, Cloud & Backup, Gaming & Emulation, Social & Search, Camera & Surveillance, Networking, System Stats & Management, Home Automation, Hardware & Voice Projects, Webserver Stacks, DNS Servers / Pi-hole, File Servers, Printing and much more.

Use dietpi-services to control which installed software has higher or lower priority levels (nice, affinity, policy scheduler).

dietpi-update automatically checks for updates and informs you when they are available. Update instantly, without having to write a new image. DietPi automation allows you to completely automate a DietPi installation with no user input, simply by configuring dietpi.txt before powering on.

The DietPi Project Team

The full list of code contributors can be viewed here.

Contributors

Micha

Joined Q3 2017

Project lead (20/02/2019 and onwards), source code contributor, bug fixes, software improvements, DietPi forum administrator.

Daniel Knight

Project founder and previous project lead (19/02/2019 and previous), source code contributor and tester.

JohnVick

Joined 2016-06-08

DietPi forum co-administrator, management, support, testing and valuable feedback.

sal666

Joined 2017-07-26

Creator and maintainer of the first Clonezilla based installer images for x86_64 UEFI systems.

Joulinar

Joined Q4 2019

DietPi forum moderator, support, testing, bug reports + investigation and valuable feedback.

StephanStS

Joined Q4 2019

NanoPi image creator, tester and bug reports.

Petru

Joined 2020-05-31

DietPi documentation author, product manager, SEO and DietPi visibility recommendations.

ravenclaw900

Joined 2020-10-11

Source code contributor, creator of the DietPi-Dashboard and many software implementations.

yumiris

Joined 2018-04-16

Creator and maintainer of the first DietPi Hyper-V images.


Collaborations

DietPi + Amiberry

Since 2016-09-02

Joint venture to bring you the ultimate Amiga experience on your SBC, running lightweight and optimised DietPi at its core: https://github.com/MichaIng/DietPi/issues/474


Hall of Fame

K-Plan

Joined 2016-01-01

Contributions to the DietPi in general, in-depth testing, bug finding and valuable feedback, forum moderator.

ZombieVirus

Joined 2016-03-20

DietPi forum moderator and version history maintainer on forums.

Rhkean

Joined 2018-03-01

Contributions to the DietPi in general, including source code, testing, new devices, forum moderator.

Pilovali

Joined 2015-10-10

Provided dietpi.com web hosting for 1 year until April 17th 2016. Additionally: forum moderator, testing, bug reporting.

Xenfomation

Joined 2016-04-01

Contributions to the DietPi in general, including source code and VirtualBox image creation/conversion.

AWL29

Joined 2016-10-01

Created the first DietPi image for NanoPi M3/T3.


Contributing

Git coders, please use the active development branch: dev

Are you able to:

  • Provide feedback and/or test areas of DietPi, to improve the user experience?
  • Report bugs?
  • Improve/add more features to the DietPi website or documentation?
  • Compile software for our supported SBCs?
  • Contribute to DietPi with programming on GitHub?
  • Suggest new software that we can add to the dietpi-software install system?

If so, let us know! We are always looking for talented people who believe in the DietPi project, and, wish to contribute in any way you can.

Also read our contribute page for an overview of way to support DietPi.

License

DietPi Copyright (C) 2023 Contributors

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/

Links

DietPi Source

DietPi Files

  • All files located in (recursively):
    • /var/lib/dietpi/
    • /var/tmp/dietpi/
    • /boot/dietpi/
  • /boot/dietpi.txt
  • /boot/config.txt (RPi)
  • /boot/boot.ini (Odroid)
  • All files prefixed with: dietpi-

The above GPLv2 documentation also applies to all mentioned files!

3rd Party Sources/Credits

Links to hardware and software manufacturers, sources and build instructions used in DietPi:


myVirtualserver logo
DietPi's web hosting is powered by myVirtualserver.