raspi-config
Configure Raspberry Pi system settings
TLDR
Start raspi-config
SYNOPSIS
sudo raspi-config
sudo raspi-config nonint [sub-command]
PARAMETERS
nonint
Runs raspi-config in a non-interactive mode, primarily used for scripting and automated setup. This mode bypasses the interactive menu and executes a specific sub-command directly. Examples of sub-commands include: do_expand_rootfs (expands the filesystem), do_camera [0|1] (enables/disables camera), do_ssh [0|1] (enables/disables SSH), get_hostname (retrieves hostname), set_hostname <name> (sets hostname), do_i2c [0|1] (enables/disables I2C), do_spi [0|1] (enables/disables SPI), and many others. It allows programmatic control over the same settings available in the interactive menu.
DESCRIPTION
The raspi-config command is a powerful, interactive utility designed specifically for Raspberry Pi OS (formerly Raspbian) to simplify system configuration. It provides a user-friendly, ncurses-based text interface (TUI) that allows users to manage various essential settings without needing to directly edit configuration files or use complex command-line arguments. Key functionalities include changing the user password, configuring network options (like Wi-Fi), enabling or disabling interfaces such as SSH, I2C, SPI, and Camera, setting locale and timezone, expanding the root filesystem to utilize the full SD card, and updating the tool itself. It plays a crucial role in the initial setup and ongoing maintenance of a Raspberry Pi, making it accessible for users of all technical levels to customize their device's behavior and hardware interactions.
CAVEATS
Requires sudo to execute most functions.
Primarily designed for Raspberry Pi OS; functionality and availability may vary on other Linux distributions.
Many configuration changes require a system reboot to take full effect.
Directly modifies critical system files and settings; caution is advised.
INTERACTIVE MENU INTERFACE
When run without the nonint parameter, raspi-config presents a menu-driven interface, allowing users to navigate through various configuration options using keyboard arrows and the Enter key. This intuitive TUI makes it accessible for users who may not be familiar with Linux command-line intricacies.
CONFIGURATION PERSISTENCE
Changes made via raspi-config are typically persistent across reboots, as the utility modifies underlying system configuration files and settings directly. This ensures that your chosen settings (e.g., enabled interfaces, password changes) remain active until explicitly changed again.
HISTORY
raspi-config was developed by the Raspberry Pi Foundation as an essential tool to simplify the initial setup and ongoing management of Raspberry Pi devices running Raspberry Pi OS. It emerged as a user-friendly alternative to manually editing various system configuration files (e.g., /boot/config.txt, /etc/default/locale) and command-line interactions for common tasks. Its evolution has mirrored the development of the Raspberry Pi hardware and operating system, continually adding support for new features, interfaces, and models, solidifying its role as a fundamental utility for all Raspberry Pi users.
SEE ALSO
apt(8), hostnamectl(1), systemctl(1), timedatectl(1), vcgencmd(1)