Edited at

RaspberryPi: raspi-config コマンドラインから設定(ノンイタラクティブ)

More than 1 year has passed since last update.


概要



  • raspi-configに、nonintをつけると、Non-Interactiveモードになって、スクリプト中の関数が呼べる.

  • 主にget_xxx系(現在の設定取得)とdo_xxx系(設定・実行)

  • 自動設定とかするのに、いいんじゃない?



  • 再起動の要求をされないので、設定後は、再起動したほうがいいかも。



  1. GPUメモリ、カメラの設定


    • カメラを使用の設定をすると、gpu_memが128に増やされる。


    実行例1-カメラ0=On/1=Off

    pi@raspberrypi:~$ sudo raspi-config nonint do_memory_split 16
    
    pi@raspberrypi:~$ cat /boot/config.txt | grep -i gpu
    gpu_mem=16
    pi@raspberrypi:~$ sudo raspi-config nonint do_camera 0
    pi@raspberrypi:~$ cat /boot/config.txt | grep -i gpu
    gpu_mem=128
    pi@raspberrypi:~$




  2. I2Cの設定


    実行例2-I2c__0=On/1=Off

    pi@raspberrypi:~$ sudo raspi-config nonint do_i2c 0
    
    pi@raspberrypi:~$ cat /boot/config.txt | grep i2c
    dtparam=i2c_arm=on
    pi@raspberrypi:~$ sudo raspi-config nonint do_i2c 1
    pi@raspberrypi:~$ cat /boot/config.txt | grep i2c
    dtparam=i2c_arm=off
    pi@raspberrypi:~$




  3. ホスト名の変更: sudo raspi-config nonint do_hostname <新しいhostname>


    実行例3

    pi@raspberrypi:~$ sudo raspi-config nonint do_hostname raspberrypi
    
    pi@raspberrypi:~$ cat /etc/hostname
    raspberrypi
    pi@raspberrypi:~$ cat /etc/hosts | grep raspberrypi
    127.0.1.1 raspberrypi
    pi@raspberrypi:~$ sudo raspi-config nonint do_hostname rpi_new_hostname
    pi@raspberrypi:~$ cat /etc/hostname
    rpi_new_hostname
    pi@raspberrypi:~$ cat /etc/hosts | grep rpi_
    127.0.1.1 rpi_new_hostname
    pi@raspberrypi:~$




  4. wifiの国設定


    GB=>JP=>US=>GBとやってみる。

    pi@raspberrypi:~$ sudo cat /etc/wpa_supplicant/wpa_supplicant.conf
    
    country=GB
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    pi@raspberrypi:~$ sudo raspi-config nonint do_wifi_country JP
    pi@raspberrypi:~$ sudo cat /etc/wpa_supplicant/wpa_supplicant.conf
    country=JP
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    pi@raspberrypi:~$ sudo raspi-config nonint do_wifi_country US
    pi@raspberrypi:~$ sudo cat /etc/wpa_supplicant/wpa_supplicant.conf
    country=US
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    pi@raspberrypi:~$ sudo raspi-config nonint do_wifi_country GB
    pi@raspberrypi:~$ sudo cat /etc/wpa_supplicant/wpa_supplicant.conf
    country=GB
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    pi@raspberrypi:~$




  5. タイムゾーンの設定 (追記:2018-0420) @miminashiさんより


    タイムゾーンをEurope/Amsterdamに設定してみる

    pi@raspberrypi:~ $ ls /usr/share/zoneinfo/          # タイムゾーンの一覧はここ
    
    Africa CET Etc Greenwich Japan Navajo PST8PDT US
    America Chile Europe Hongkong Kwajalein NZ right UTC
    Antarctica CST6CDT Factory HST leap-seconds.list NZ-CHAT ROC WET
    Arctic Cuba GB Iceland Libya Pacific ROK W-SU
    Asia EET GB-Eire Indian localtime Poland Singapore zone1970.tab
    Atlantic Egypt GMT Iran MET Portugal SystemV zone.tab
    Australia Eire GMT0 iso3166.tab Mexico posix Turkey Zulu
    Brazil EST GMT-0 Israel MST posixrules UCT
    Canada EST5EDT GMT+0 Jamaica MST7MDT PRC Universal
    pi@raspberrypi:~ $ sudo raspi-config nonint do_change_timezone Europe/Amsterdam
    Current default time zone: 'Europe/Amsterdam'
    Local time is now: Fri Apr 20 11:41:33 CEST 2018.
    Universal Time is now: Fri Apr 20 09:41:33 UTC 2018.




一覧


  • 2016年7月29日のraspi-config

項目1
項目2
エントリー名
get_系
do_系
オプションなど

1

Expand Filesystem

do_expand_rootfs

2

Change User Password

do_change_pass
インタラクティブに聞かれる

3

Boot Options

下記を使用

B1
Console

do_boot_behaviour B1

B2
Console Autologin

do_boot_behaviour B2

B3
Desktop

do_boot_behaviour B3

B4
Desktop Autologin

do_boot_behaviour B4

4

Wait for Network at Boot

do_boot_wait
0:Yes/1:No

5

Internationalisation Options

I1
Change Locale

do_change_locale

dpkg-reconfigure localesが実行される

I2
Change Timezone

do_change_timezone

dpkg-reconfigure tzdataが実行される

I3
Change Keyboard Layout

do_configure_keyboard

dpkg-reconfigure keyboard-configurationが実行される

I4
Change Wi-fi Country
get_wifi_country
do_wifi_country
GB(default)/JP(日本)/US(米国)など

6

Enable Camera
get_camera
do_camera
0:Yes/1:No

7

Add to Rastrack

do_rastrack
Menuが出てくる

8

Overclock

do_overclock
None/Modest/Medium/High/Turbo
nonintだとチェックがスキップされるので注意

9

Advanced Options

Configure advanced settings

A1
Overscan
get_overscan
do_overscan
0:Yes/1:No

A2
Hostname
get_hostname
do_hostname
<ホスト名>

A3
Memory Split

do_memory_split
16/32/64/128/256

A4
SSH
get_ssh
do_ssh
?? 1:Yes/0:No

A5
SPI
get_spi
do_spi
0:Yes/1:No

A6
I2C
get_i2c
do_i2c
0:Yes/1:No

A7
Serial
get_serial
do_serial
0:Yes/1:No

A8
Audio

do_audio
Menuが出てくる

A9
1-Wire
get_onewire
do_onewire
0:Yes/1:No

AA
GPIO Server
get_rgpio
do_rgpio
0:Yes/1:No

AB
GL Driver
get_gldriver
do_gldriver
0:Yes/1:No

A0
Update

do_update

0

About raspi-config

do_about


  • (確認)


    • Yes/Noが 0/1, 1/0があるっぽい? (sshは1/0, カメラとか0/1)

    • インターナショナル設定は、インタラクティブになってしまう。が、NOOBSでは、/boot/os_config.jsonというファイルで自動に設定している?