is there a way to use the raspi-config utility in an non-interactive mode? For example with command line parameters to set / enable some parameters.
I like to use the raspi-config in installation scripts.

Borner
1) "raspi-config" is a shell script, so it is inspectable. I took a brief look through, and found...Borner wrote:Hi,
is there a way to use the raspi-config utility in an non-interactive mode? For example with command line parameters to set / enable some parameters.
I like to use the raspi-config in installation scripts.
Borner
Code: Select all
$ . raspi-config nonint
Code: Select all
$ do_i2c 0
Code: Select all
/* Command strings */
#define GET_CAN_EXPAND "sudo raspi-config nonint get_can_expand"
#define EXPAND_FS "sudo raspi-config nonint do_expand_rootfs"
#define GET_HOSTNAME "sudo raspi-config nonint get_hostname"
#define SET_HOSTNAME "sudo raspi-config nonint do_hostname %s"
#define GET_BOOT_CLI "sudo raspi-config nonint get_boot_cli"
#define GET_AUTOLOGIN "sudo raspi-config nonint get_autologin"
#define SET_BOOT_CLI "sudo raspi-config nonint do_boot_behaviour B1"
#define SET_BOOT_CLIA "sudo raspi-config nonint do_boot_behaviour B2"
#define SET_BOOT_GUI "sudo raspi-config nonint do_boot_behaviour B3"
#define SET_BOOT_GUIA "sudo raspi-config nonint do_boot_behaviour B4"
#define GET_BOOT_WAIT "sudo raspi-config nonint get_boot_wait"
#define SET_BOOT_WAIT "sudo raspi-config nonint do_boot_wait %d"
#define GET_SPLASH "sudo raspi-config nonint get_boot_splash"
#define SET_SPLASH "sudo raspi-config nonint do_boot_splash %d"
#define GET_OVERSCAN "sudo raspi-config nonint get_overscan"
#define SET_OVERSCAN "sudo raspi-config nonint do_overscan %d"
#define GET_CAMERA "sudo raspi-config nonint get_camera"
#define SET_CAMERA "sudo raspi-config nonint do_camera %d"
#define GET_SSH "sudo raspi-config nonint get_ssh"
#define SET_SSH "sudo raspi-config nonint do_ssh %d"
#define GET_VNC "sudo raspi-config nonint get_vnc"
#define SET_VNC "sudo raspi-config nonint do_vnc %d"
#define GET_SPI "sudo raspi-config nonint get_spi"
#define SET_SPI "sudo raspi-config nonint do_spi %d"
#define GET_I2C "sudo raspi-config nonint get_i2c"
#define SET_I2C "sudo raspi-config nonint do_i2c %d"
#define GET_SERIAL "sudo raspi-config nonint get_serial"
#define GET_SERIALHW "sudo raspi-config nonint get_serial_hw"
#define SET_SERIAL "sudo raspi-config nonint do_serial %d"
#define GET_1WIRE "sudo raspi-config nonint get_onewire"
#define SET_1WIRE "sudo raspi-config nonint do_onewire %d"
#define GET_RGPIO "sudo raspi-config nonint get_rgpio"
#define SET_RGPIO "sudo raspi-config nonint do_rgpio %d"
#define GET_PI_TYPE "sudo raspi-config nonint get_pi_type"
#define GET_OVERCLOCK "sudo raspi-config nonint get_config_var arm_freq /boot/config.txt"
#define SET_OVERCLOCK "sudo raspi-config nonint do_overclock %s"
#define GET_GPU_MEM "sudo raspi-config nonint get_config_var gpu_mem /boot/config.txt"
#define GET_GPU_MEM_256 "sudo raspi-config nonint get_config_var gpu_mem_256 /boot/config.txt"
#define GET_GPU_MEM_512 "sudo raspi-config nonint get_config_var gpu_mem_512 /boot/config.txt"
#define GET_GPU_MEM_1K "sudo raspi-config nonint get_config_var gpu_mem_1024 /boot/config.txt"
#define SET_GPU_MEM "sudo raspi-config nonint do_memory_split %d"
#define GET_HDMI_GROUP "sudo raspi-config nonint get_config_var hdmi_group /boot/config.txt"
#define GET_HDMI_MODE "sudo raspi-config nonint get_config_var hdmi_mode /boot/config.txt"
#define SET_HDMI_GP_MOD "sudo raspi-config nonint do_resolution %d %d"
#define GET_WIFI_CTRY "sudo raspi-config nonint get_wifi_country"
#define SET_WIFI_CTRY "sudo raspi-config nonint do_wifi_country %s"
#define CHANGE_PASSWD "(echo \"%s\" ; echo \"%s\" ; echo \"%s\") | passwd"
Code: Select all
# 1|0 -> 1=false/off 0=true/on
raspi-config nonint get_can_expand
raspi-config nonint do_expand_rootfs
raspi-config nonint get_hostname
raspi-config nonint do_hostname "yourhostname"
raspi-config nonint get_boot_cli
raspi-config nonint get_autologin
raspi-config nonint do_boot_behaviour B1
raspi-config nonint do_boot_behaviour B2
raspi-config nonint do_boot_behaviour B3
raspi-config nonint do_boot_behaviour B4
raspi-config nonint get_boot_wait
raspi-config nonint do_boot_wait 1|0
raspi-config nonint get_boot_splash
raspi-config nonint do_boot_splash 1|0
raspi-config nonint get_overscan
raspi-config nonint do_overscan 1|0
raspi-config nonint get_pixdub
raspi-config nonint do_pixdub 1|0
raspi-config nonint get_camera
raspi-config nonint do_camera 1|0
raspi-config nonint get_ssh
raspi-config nonint do_ssh 1|0
raspi-config nonint get_vnc
raspi-config nonint do_vnc 1|0
raspi-config nonint get_spi
raspi-config nonint do_spi 1|0
raspi-config nonint get_i2c
raspi-config nonint do_i2c 1|0
raspi-config nonint get_serial
raspi-config nonint get_serial_hw
raspi-config nonint do_serial 1|0
raspi-config nonint get_onewire
raspi-config nonint do_onewire 1|0
raspi-config nonint get_rgpio
raspi-config nonint do_rgpio 1|0
raspi-config nonint get_blanking
raspi-config nonint do_blanking 1|0
raspi-config nonint get_pi_type
raspi-config nonint is_pi
raspi-config nonint is_pifour
raspi-config nonint is_fkms
raspi-config nonint get_config_var arm_freq /boot/config.txt
raspi-config nonint do_overclock None|Modest|Medium|High|Turbo
raspi-config nonint get_config_var gpu_mem /boot/config.txt
raspi-config nonint get_config_var gpu_mem_256 /boot/config.txt
raspi-config nonint get_config_var gpu_mem_512 /boot/config.txt
raspi-config nonint get_config_var gpu_mem_1024 /boot/config.txt
raspi-config nonint do_memory_split 16|32|64|128|256
raspi-config nonint get_config_var hdmi_group /boot/config.txt
raspi-config nonint get_config_var hdmi_mode /boot/config.txt
raspi-config nonint get_wifi_country
# find wifi countries here /usr/share/zoneinfo/iso3166.tab
raspi-config nonint do_wifi_country "yourcountry"
raspi-config nonint do_pi4video V1
raspi-config nonint do_pi4video V2
raspi-config nonint do_pi4video V3
raspi-config nonint get_pi4video
raspi-config nonint get_overlay_now
raspi-config nonint get_overlay_conf
raspi-config nonint get_bootro_conf
raspi-config nonint enable_overlayfs
raspi-config nonint disable_overlayfs
raspi-config nonint enable_bootro
raspi-config nonint disable_bootro
raspi-config nonint is_uname_current
raspi-config nonint list_wlan_interfaces
raspi-config nonint is_installed realvnc-vnc-server
raspi-config nonint is_installed xscreensaver
vcgencmd get_mem gpu | cut -d = -f 2 | cut -d M -f 1
echo \"$SUDO_USER:%s\" | chpasswd
Like it. Thank you.bamartin125 wrote: ↑Wed Apr 05, 2017 2:46 amI realize this is an old thread, but I wanted to share my recent success with calling particular routines out of raspi-config from the command line.
Essentially, I found that I could source the raspi-config script like so:
The 'nonint' argument there tells the script to run in non-interactive mode which looks like it allows the script to define all of its internal functions, but not actually run anything.Code: Select all
$ . raspi-config nonint
At this point, I can then call functions from inside the script. For example, to enable i2c I can run:
Code: Select all
$ do_i2c 0