Skip to content

System configuration

DietPi-Config

Configure various system settings, from display / audio / network to auto start options. To start the system configuration, use the following command:

dietpi-config

DietPi-Config screenshot

Software overview

The display options are used to

  • Set your screen resolution, or go headless to save additional resources.
  • Control your GPU memory splits.
  • Enable/disable the RPi camera.

The audio options are used to

  • Change sound cards with ease (e.g.: HiFiBerry / Odroid HiFi shield).

The performance options are used to

  • Overclock your system with a vast selection of overclocking profiles for your device.
  • Change the CPU governor and tweak your ARM temperature limits.

The advanced options are used to

  • Configure swap file size
  • Set APT cache handling
  • Configure time synchronization and real time clock source
  • Toggle serial console
  • Toggle Bluetooth

The security options are used to

  • Change password and hostname

The language/regional options are used to

  • Set timezone, locale and keyboard options. Everything you will need to make it feel like home

The network options are used to

  • Scan and connect to your WiFi router with ease
  • Change to a static IP address on your network
  • Configure your proxy settings
  • Test internet connection
  • Toggle IPv6 support

The miscellaneous network options options are used to

  • Select an APT mirror to connect to the Debian (or Raspbian) APT repository.
  • Select an NTP mirror to synchronise your system time.
  • Choose these options for the network and URL connection tests:
    • Set Network test connection timeout and number of connection test tries.
    • Set IPv4 and IPv6 addresses used for the connection test.
    • Set the domain used for the domain name resolution test.
  • Network Drives redirects you to the DietPi-Drive_Manager which allows you to mount Samba and NFS shares on your DietPi system.
  • Select one of several Dynamic DNS (DDNS) providers which allows you to access your home network/server with a static domain name. The client is required to inform the DDNS of your current dynamic external IP on a regular basis.

The autostart options are used to

  • Quickly and easily change what software runs after boot. Kodi, Desktop, console and many more

The tools options are used to

  • Perform CPU, RAM, filesystem and network benchmarks, optionally upload your results and review statistics at: https://dietpi.com/survey/#benchmark
  • Perform CPU/IO/RAM/DISK stress tests to test the stability of your system, e.g. after applying some overclocking.

DietPi-Config - Command line usage

Beside the interactive configuration via dietpi-config, there is the option of the shell command line:

Usage: dietpi-config [<targetmenu_id>]
Available values for <targetmenu_id>:
    1           Open menu "Display Options"
    2           Open menu "Display Options" -> "Display Resolution"
    3           Open menu "Advanced Options"
    4           Open menu "Performance Options"
    5           Open menu "Security Options"
    6           Open menu "Display Options" -> "GPU Memory Options xxx"
    7           Open menu "Language/Regional Options"
    8           Open menu "Network Options: Adapters"
    9           Open menu "Netword Options: Adapters" -> "Ethernet"
    10          Open menu "Netword Options: Adapters" -> "WiFi"
    11          Open menu "Tools"
    12          Open menu "Tools" -> "Benchmarks"
    13          Open menu "Advanced Options" -> Overclocking xxx"
    14          Open menu "Audio Options"
    15          Open menu "Tools" -> "Stress test"
    16          Open menu "Network Options: Misc"
    17          Open menu "Network Options: Adapters" -> "Proxy"
    18          Open menu "Advanced Options" -> "Serial/UART"
    19          Open menu "Advanced Options" -> "APT"
    20          Open menu "Network Options: Misc" -> "Test IPv4 address"
    21          Open menu "Network Options: Misc" -> "Test IPv6 address"
    22          Open menu "Network Options: Misc" -> "Test domain name"

DietPi drive manager

Feature-rich drive management utility. It is a lightweight program that allows you to:

  • Manage drives: Mount, format external drives
  • Maintenance drives: Check and repair drives, resize (expand) filesystem, change reserved blocks count
  • Set drive attributes: Set read only filesystems, set idle spindown time
  • Move DietPi User data
  • Transfer RootFS to external drive (Raspberry Pi and some ODROID boards only)
  • Disable swap file, change swap file size
  • Run benchmarks on drives
  • Mount network drives (NFS and Samba)

To start DietPi-Drive_Manager, use the following command:

dietpi-drive_manager

DietPi-Drive_Manager screenshot

Software overview

Setup a dedicated drive for DietPi

To use an additional drive (example USB drive) the following steps have to be done:

  1. Run dietpi-drive_manager to bring up the main menu.
  2. Plug in the drive you wish to use.
  3. Select Refresh from the menu (if it doesn’t show up straight away, give it a few seconds for system to update, then try again).
  4. Select the drive you wish to use from the list, then press Enter.

    DietPi-Drive_Manager screenshot

    If needed, format the drive before usage selecting the Format option (filesystem type description see below).
    Remark: Formatting drives can only be done unmounted.

    If needed, mount the drive via the Mount selection. If mounted, commands Unmount, Benchmark, User data, Swapfile and Read only are present.

    DietPi-Drive_Manager screenshot

Move the location of user data and swap file

You can move the location of the DietPi user data (default /mnt/dietpi_userdata) or the swap file to a different location on a target drive. This may be useful if your filesystem containing the DietPi user data resp. swap file has only little space left. Therefore execute the following steps (example user data, swap file is quite similar):

  1. Run dietpi-drive_manager to bring up the main menu.
  2. Have the target drive connected and mounted (see description above).
  3. Select the target drive and press Enter.
  4. In the drives menu select User data resp. Swapfile and follow the instructions.

  5. Move user data:

    DietPi-Drive_Manager screenshot

  6. Change swap file size:

    DietPi-Drive_Manager screenshot

Format filesystem types

Formatting filesystems lead you to these dialogues:

DietPi-Drive_Manager screenshotDietPi-Drive_Manager screenshot

In the latter dialog you have to choose the filesystem type. The following selections may be chosen:

Recommended for users who plan to use this drive solely on Linux systems (e.g. dedicated drive).
+ The standard for Linux filesystems
- Not compatible on a Windows system

Recommended for users who plan to use this drive on a Windows system.
+ Compatible on a Windows system
- Only emulated support for UNIX permissions
- Does support symbolic links (creation)
- High CPU usage during transfers (spawns a process)

Recommended for users who want high compatibility across multiples operating systems.
+ Highly compatible with all OS
- 4 GiB file size limit
- 2 TiB drive size limit
- Does not support UNIX permissions
- Does not support symbolic links

Windows filesystem, intended for external drives, e.g. USB flash drives or SD cards.
+ Flash-Friendly File System: https://en.m.wikipedia.org/wiki/ExFAT
+ Compatible on a Windows system
- Does not support UNIX permissions
- Does not support symbolic links

Recommended for users who plan to use this drive on a macOS system.
+ macOS filesystem
- Not compatible on a Windows system

A modern Linux filesystem.
+ Advantages were described in this DietPi issue
- Compatible with Windows only via additional windows driver WinBtrfs

Linux filesystem designed for flash/NAND based drives.
+ Flash-Friendly File System: https://en.wikipedia.org/wiki/F2FS
- Not compatible on a Windows system

A modern Linux filesystem.
+ Well accepted for large files (typically in a file server use)
- Not compatible on a Windows system

Move DietPi system to a larger SD card

If you want to extend your DietPi SD card space by moving the system to a larger memory card, this can be achieved by the following steps:

  1. Shutdown your system and put the SD card into a card reader of a different systems.
  2. Copy the SD card contents to the new (larger) SD card. This can e.g. be done using
    • the dd command (command line option)
    • balenaEtcher or Rufus (graphical user interface option)
    • gnome-disks (graphical user interface option)
  3. Boot the system with the copied memory card.
  4. Run dietpi-drive_manager to bring up the main menu.
  5. Select the disk containing the root (/) partition and press Enter.
  6. Select Resize and press Enter.

    DietPi-Drive_Manager screenshot

  7. Reboot your system to expand the root filesystem to use the whole space of the new memory card.

A similar procedure may be used when moving the SD card contents to a smaller SD card. During this procedure you typically need to shrink the partition size (e.g. with parted or gparted) before copying the partition image to a different memory card. Also, do the resize to use the full space on the new card.

Mount network drive

If you want to mount a NFS drive or a Samba share, you can do this by:

  1. Run dietpi-drive_manager to bring up the main menu.
  2. Select Add network drive.
  3. Select the type of network drive that you have.
  4. Follow the prompts.

Mounting a macOS Samba share

To mount a macOS Samba share enabled in Sharing, you need to (in the server) go to Sharing > File Sharing > Options > Windows File Sharing and select your username.

DietPi drive manager - Command line usage

Beside the interactive drive management via dietpi-drive_manager, there is the option of the shell command line:

Usage: dietpi-drive_manager [<command>]
Available commands:
  <empty>       Interactive menu
  1             Select an available drive mount which is then saved to: 
                /tmp/dietpi-drive_manager_selmnt
  3             Scan for new drives and re-create fstab non-interactively, 
                then exit
  4             Reset /etc/fstab with currently attached local drives 
                and /tmp + /var/log tmpfs mount 
                (command shall only used internally by DietPi-Installer)

DietPi file explorer

Lightweight file manager and explorer. To start DietPi-Explorer, use the following command:

dietpi-explorer

DietPi-Explorer screenshot

DietPi file explorer - Command line usage

Beside the interactive file management via dietpi-explorer, there is the option of the shell command line:

Usage: dietpi-explorer [<command>]
Available commands:
    <empty>     Interactive menu
    1           Select a file/dir mode
                - Return result for other applications to /tmp/.dietpi-explorer_selected_location
                - Return an error code when no selection is given
    1 <path>    Select a file/dir mode, start from <path>

DietPi autostart

Defines software packages to start when the DietPi OS boots up. Example, boot into the desktop with Kodi running. To start DietPi-Autostart, use the following command:

dietpi-autostart

DietPi-Autostart screenshot

DietPi autostart - Command line usage

Beside the interactive autostart selection via dietpi-autostart, there is the option of the shell command line:

Usage: dietpi-autostart [<index>]
Available values of <index>:
    <empty>     Interactive menu
    <not empty> Apply autostart <index> non-interactively

See the screenshot above for values of <index> left in the menu lines (0, 7, 16,…).

Autostart option in dietpi.txt (first initial boot)

When booting the DietPi system the first time, the autostart option can also be set via the file dietpi.txt. See option
AUTO_SETUP_AUTOSTART_TARGET_INDEX=
for further information.
The numbers shown on the left in the dietpi-autostart command correspond to the values in dietpi.txt.


DietPi services

Provides service control, priority level tweaks and status print. To start DietPi-Services, use the following command:

dietpi-services

Software overview

If DietPi services are called via the command line without arguments, an interactive menu to apply service modes and settings comes up:

DietPi-Services screenshot

The dialog to tweak a service is entered by highlighting the service (keys Up and Down) and pressing Enter. The configuration dialog (example: cron service) looks like this:

DietPi-Services tweaking screenshot

Be careful at tweaking the services.

DietPi services - Command line usage

Beside the interactive handling via dietpi-services, there is the option of the shell command line:

Usage: dietpi-services [<command> [<service_name>]]
Available commands:
    <empty>     Interactive menu
    status      Print service status info
    start       Start service <service_name>
    stop        Stop service <service_name>
    restart     Restart service <service_name>
    enable      Autostart service on boot <service_name>
    disable     Do not autostart service on boot <service_name>
    mask        Mask service to prevent its usage entirely <service_name>
    unmask      Unmask service to allow its usage <service_name>

Available service_names:
    <name>      Apply command to a single available systemd or sysvinit
                service <name> (e.g. "cron")
    <empty>     Apply command to all available services known to DietPi
                - Masked services are skipped unless command is "unmask".
                - Disabled services are skipped if command is "restart".
                - Services required for network or shell sessions are skipped.
                - You can include/exclude services by editing the following file:
                  /boot/dietpi/.dietpi-services_include_exclude

Example:

root@dietpi:~# dietpi-services status

 DietPi-Services
─────────────────────────────────────────────────────
 Mode: status 

[  OK  ] DietPi-Services | cron                 active (running) since Mon 2025-02-10 05:06:57 CET; 7h ago
[  OK  ] DietPi-Services | ssh                  active (running) since Fri 2025-01-17 15:03:59 CET; 3 weeks 2 days ago
[ INFO ] DietPi-Services | dietpi-vpn           inactive (dead)
[ INFO ] DietPi-Services | dietpi-cloudshell    inactive (dead)
[  OK  ] DietPi-Services | dietpi-ramlog        active (exited) since Fri 2025-01-17 15:04:00 CET; 3 weeks 2 days ago
[  OK  ] DietPi-Services | dietpi-preboot       active (exited) since Fri 2025-01-17 15:04:00 CET; 3 weeks 2 days ago
[  OK  ] DietPi-Services | dietpi-postboot      active (exited) since Fri 2025-01-17 15:03:59 CET; 3 weeks 2 days ago
[ INFO ] DietPi-Services | dietpi-wifi-monitor  inactive (dead)
root@dietpi:~#

DietPi LED control

Change triggers for the status LEDs on your SBC/motherboard. To start DietPi-LED_Control, use the following command:

dietpi-led_control

DietPi-LED_control screenshot

Depending on your used hardware, the number of entries in the dialog will change.


DietPi cron

Modify the start times of specific cron job groups. To start DietPi-Cron, use the following command:

dietpi-cron

DietPi-Cron screenshot


DietPi JustBoom

Change the audio settings. To start DietPi-JustBoom, use the following command:

dietpi-justboom

If the sound output is configured, the following dialog appears:

DietPi-JustBoom screenshot

If no sound output is configured, the following dialog appears:

DietPi-JustBoom screenshot

In this case you have to e.g. install a sound program package via dietpi-software or configure the sound output e.g. via dietpi-config.


DietPi display

DietPi Display allows the configuration of console display modes and rotation via KMS/DRM (Kernel Mode Setting, Direct Rendering Manager). This is e.g. valid for a local display of the Raspberry Pi and the NanoPi M6:

dietpi-display

DietPi Tools - Dietpi Display


DietPi survey

DietPi Survey allows the DietPi project to obtain general information regarding your system and installed software. To start DietPi-Survey, use the following command:

dietpi-survey
Privacy and goals

The following privacy rules and goals are considered:

  • No private data is sent. No one can identify you. No IP address is obtained.
  • DietPi Survey is an Opt-in system, which means that it won’t send any data without your explicit interactive permission.
  • On your first interactive login on a fresh DietPi system, you will be asked once for the Opt-in/Opt-out mode.
  • The transmitted data allows the DietPi project team to achieve the best future possible experience for everyone to
    • focus and improve especially popular areas,
    • ensure the most common devices and software titles will receive support and improvements,
    • keep up support for software and hardware that you use.

In short words: By selecting Opt IN, you are supporting the DietPi project with no impact to your system or private data.

DietPi Survey screenshot

Software overview

The DietPi Survey data file is sent when you install software with dietpi-software and update DietPi with dietpi-update.

The uploaded data is tiny (about 1 KB) and will not affect your internet bandwidth or system performance.

Within the command line program dietpi-survey the exact copy of the transmitted data can be viewed. The transmitted file is written in bash code to allow us faster report page creation (e.g. done for https://dietpi.com/survey).

Following is an example how this file may look like:

#!/bin/bash
((aDIETPI_VERSION[6.34]++))
((aGIT_BRANCH[MichaIng/master]++))
((aDEVICE_NAME[Virtual Machine (x86_64)]++))
((aCPU_ARCH[x86_64]++))
((aCPU_COUNT[2]++))
((aDISTRO_VERSION[buster]++))
((aAUTOSTART_OPTION[${aAUTOSTART_NAME[0]:=0}]++))
((aAUTO_SETUP_AUTOMATED[0]++))
((aNETWORK_INTERFACE[eth0]++))
# -------------------------
# DietPi-Software installs
# -------------------------
((aSOFTWARE[${aSOFTWARE_NAME6_34[103]:=103}]++))
((aSOFTWARE[${aSOFTWARE_NAME6_34[104]:=104}]++))

The tail of the file lists installed software packages by their IDs. The example above shows a very basic system, so only two software packages (#103: DietPi-RAMlog, #104: Dropbear) are installed. To find out the names of the installed software package IDs installed via dietpi-software you can execute

dietpi-software list | grep ' =2'

This gives the IDs, names and info of software. The above example would show

# dietpi-software list | grep ' =2'
id 103 | =2 | dietpi-ramlog: minimal, optimised logging | | https://dietpi.com/docs/software/log_system/#dietpi-ramlog
id 104 | =2 | dropbear: lightweight ssh server | | https://dietpi.com/docs/software/ssh/#dropbear

You can select Opt-in or Opt-out of DietPi Survey by running the following command and follow the instructions:

dietpi-survey

This may also be achieved by setting SURVEY_OPTED_IN=0 (Opt-out) or SURVEY_OPTED_IN=1 (Opt-in) in /boot/dietpi.txt before the first system boot.

To check the actual status, dietpi-survey may be called. The current mode will be pre-selected and highlighted.
Alternatively you can use

grep 'SURVEY_OPTED_IN' /boot/dietpi.txt

which displays the status like

# grep 'SURVEY_OPTED_IN' /boot/dietpi.txt
SURVEY_OPTED_IN=1

DietPi survey - Command line usage

Beside the interactive setting via dietpi-survey, there is the option of the shell command line:

Usage: dietpi-survey [<command>]
Available commands:
    <empty>     Interactive menu to opt in or out
    1           Send survey data or empty file, based on previous user choice