Raspberry Pi 3, raspi-config

Configuration tool for the Raspberry Pi

github.com/RPi-Distro/raspi-config (new)
github.com/asb/raspi-config (old)

Manual

raspi-config, raspberrypi.org
RPi raspi-config, elinux.org

$ which raspi-config
/usr/bin/raspi-config

$ file /usr/bin/raspi-config
/usr/bin/raspi-config: POSIX shell script, ASCII text executable

$ sudo cat /proc/device-tree/model
Raspberry Pi 3 Model B Rev 1.2

$ whiptail \
  --title "abc" \
  --backtitle "xyz" \
  --menu "Setup Options" 20 30 10 \
  --cancel-button Finish \
  --ok-button Select \
  "1 abc" "A B C" \
  "2 xyz" "X Y Z" 

INTERACTIVE=True
ASK_TO_REBOOT=0
BLACKLIST=/etc/modprobe.d/raspi-blacklist.conf
CONFIG=/boot/config.txt

#
# Interactive use loop
#
if [ "$INTERACTIVE" = True ]; then
  [ -e $CONFIG ] || touch $CONFIG
  calc_wt_size
  while true; do
      FUN=$(whiptail --title "Raspberry Pi Software Configuration Tool (raspi-config)" --backtitle "$(cat /proc/device-tree/model)" --menu "Setup Options" $WT_HEIGHT $WT_WIDTH $WT_MENU_HEIGHT --cancel-button Finish --ok-button Select \
        "1 Change User Password" "Change password for the current user" \
        "2 Network Options" "Configure network settings" \
        "3 Boot Options" "Configure options for start-up" \
        "4 Localisation Options" "Set up language and regional settings to match your location" \
        "5 Interfacing Options" "Configure connections to peripherals" \
        "6 Overclock" "Configure overclocking for your Pi" \
        "7 Advanced Options" "Configure advanced settings" \
        "8 Update" "Update this tool to the latest version" \
        "9 About raspi-config" "Information about this configuration tool" \
        3>&1 1>&2 2>&3)
    RET=$?
    if [ $RET -eq 1 ]; then
      do_finish
    elif [ $RET -eq 0 ]; then
        case "$FUN" in
          1\ *) do_change_pass ;;
          2\ *) do_network_menu ;;
          3\ *) do_boot_menu ;;
          4\ *) do_internationalisation_menu ;;
          5\ *) do_interface_menu ;;
          6\ *) do_overclock ;;
          7\ *) do_advanced_menu ;;
          8\ *) do_update ;;
          9\ *) do_about ;;
          *) whiptail --msgbox "Programmer error: unrecognized option" 20 60 1 ;;
        esac || whiptail --msgbox "There was an error running option $FUN" 20 60 1
    else
      exit 1
    fi
  done
fi

do_interface_menu() {
  [...]
    "P1 Camera" "Enable/Disable connection to the Raspberry Pi Camera" \
    "P2 SSH" "Enable/Disable remote command line access to your Pi using SSH" \
    "P3 VNC" "Enable/Disable graphical remote access to your Pi using RealVNC" \
    "P4 SPI" "Enable/Disable automatic loading of SPI kernel module" \
    "P5 I2C" "Enable/Disable automatic loading of I2C kernel module" \
    "P6 Serial" "Enable/Disable shell and kernel messages on the serial connection" \
    "P7 1-Wire" "Enable/Disable one-wire interface" \
    "P8 Remote GPIO" "Enable/Disable remote access to GPIO pins" \
  [...]
  elif [ $RET -eq 0 ]; then
    case "$FUN" in
      P1\ *) do_camera ;;
      P2\ *) do_ssh ;;
      P3\ *) do_vnc ;;
      P4\ *) do_spi ;;
      P5\ *) do_i2c ;;
      P6\ *) do_serial ;;
      P7\ *) do_onewire ;;
      P8\ *) do_rgpio ;;
    [...]
  fi
}

Leave a Reply

Your email address will not be published. Required fields are marked *