LoginSignup
19
21

More than 5 years have passed since last update.

[メモ] Raspberry Pi: 初期設定

Last updated at Posted at 2016-08-02

概要

  • Raspberry Piの初期設定など、自分の記事で、いつもの...と省略してるが、自分でもよくわからなくなりそうなので、現状のをメモっとく。
  • 自分は、長期で運用は、あまり考えてなく、なにか試すたびにRaspbianイメージを焼いてる.
  • 2016-11-25-raspbian より、デフォルトで、ssh無効になっている。bootパーティションに、sshというファイルを作成することで、有効化.

環境

  • Raspberry Pi Zero/1/2/3
  • Windows 7 (64ビット)

手順

OSイメージ選択

Raspbian: https://www.raspberrypi.org/downloads/raspbian/

  • だいたい X-window使うか、使わないか、で判断。
X 用途 イメージサイズ ファイル名
Raspbian Xあり デスクトップ向け 4.04GB 2016-11-25-raspbian-jessie
2016-09-23-raspbian-jessie.img
2016-05-27-raspbian-jessie.img 3.74GB (1.29GB)
Raspbian Lite Xなし サーバ向け 1.29GB 2016-11-25-raspbian-jessie-lite
2016-09-23-raspbian-jessie-lite.img
2016-05-27-raspbian-jessie-lite.img 1.29GB (292MB)

SDに焼く。

  • ツール (Windows)
    • Rufus : ポータブル版、いいかも?
      Create a bootable disk using [DD Image]で、となりのディスクアイコンを押して、イメージファイル(.img)を選択
    • Win32DiskImager
    • DD for Windows
  • エクスプローラで、SDカードを開いて、右クリ>新規作成>テキスト文書、とでもして、sshというファイルを作成。(拡張子無し)

初回電源投入とログイン

  • ユーザ名: pi / パスワード: raspberry

  • 環境としては、

    1. キーボード・ディスプレイ接続
    2. UART接続(シリアル-USB変換ケーブル接続) : 115200bps
    3. 有線ネットワーク接続(イーサネット)
      ちなみに、MACアドレスは、"b8:27:eb" + CPUのシリアル番号の下6桁で、生成されてるらしい。

      pi@raspberrypi:~ $ cat /proc/cpuinfo | grep -i serial 
      Serial      : 000000002a6c0f31
      pi@raspberrypi:~ $ ifconfig eth0 | grep -i hwaddr
      eth0      Link encap:Ethernet  HWaddr b8:27:eb:6c:0f:31  
      pi@raspberrypi:~ $ 
      
    4. 無線ネットワーク接続接続(Wifi)
      (Liteじゃない方のみ)FATパーティションに設定済みwpa_supplicant.confを置いておくと、Wifiデバイス起動時(ifup)/etc/wpa_supplicant/にコピーしてくれる

      wpa_supplicant.confをコピーするところ
      pi@raspberrypi:~$ cat /etc/network/if-pre-up.d/01-wpa-config-copy
      #!/bin/sh
      if [ -e /boot/wpa_supplicant.conf ]; then
          /bin/mv /boot/wpa_supplicant.conf /etc/wpa_supplicant/wpa_supplicant.conf
          /bin/chmod 600 /etc/wpa_supplicant/wpa_supplicant.conf
      fi
      pi@raspberrypi:~$
      
      デフォルトのwpa_supplicant.conf
      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:~ $ 
      
      wpa_passphraseで、設定生成(grepの-vは、その文字を含まない行を表示=>生パスワードを含めない)
      pi@raspberrypi:~ $ wpa_passphrase wifi_ssid password_desuyo | grep -v \#psk
      network={
          ssid="wifi_ssid"
          psk=e42b6b0cada605c80ca3727df865ea5adddb8ca9fee2ed1e276233d393526c76
      }
      pi@raspberrypi:~ $ 
      
      (例)wpa_supplicant.conf
      country=GB
      ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
      update_config=1
      network={
          ssid="wifi_ssid"
          psk=e42b6b0cada605c80ca3727df865ea5adddb8ca9fee2ed1e276233d393526c76
      }
      
  • ツール
    • TeraTerm : zip版は解凍して、ttermpro.exe実行でいけるのでらくちん。何か設定したら、TERATERM.INIは、こまめにバックアップとっておくといいかも。
    • PuTTY: You can download PuTTYhere.hereあたりをクリックして、Windowsのバイナリをダウンロード...
      (わたしは、PuTTY Portableにお世話になっています。)

APTパッケージレポジトリのアップデート。

  • sudo apt-get update # 最初に一回やっとく。
  • sudo apt-get upgrade # パッケージの更新. 適当に設定がおわったあとでもよいかと。

  • upgradeする前に使わなそうなパッケージを削除しておくとよいかも。

    例)2017-01-11-raspbian-jessie
    pi@raspberrypi:~$ uname -a
    Linux raspberrypi 4.4.34+ #930 Wed Nov 23 15:12:30 GMT 2016 armv6l GNU/Linux
    pi@raspberrypi:~$ time sudo apt-get autoremove -y wolfram-engine  sonic-pi  scratch nodered  libreoffice-common --purge
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    The following packages will be REMOVED:
    libboost-atomic1.55.0* libboost-filesystem1.55.0* libboost-program-options1.55.0* libboost-regex1.55.0* libboost-thread1.55.0*
    libc-ares2* libcwiid1* libffi5* libjs-prettify* libqscintilla2-11* libqscintilla2-l10n* libqt4-network* libqt4-xmlpatterns*
    libqtwebkit4* libreoffice* libreoffice-avmedia-backend-gstreamer* libreoffice-base* libreoffice-base-core*
    libreoffice-base-drivers* libreoffice-calc* libreoffice-common* libreoffice-core* libreoffice-draw* libreoffice-gtk*
    libreoffice-impress* libreoffice-java-common* libreoffice-math* libreoffice-report-builder-bin* libreoffice-sdbc-hsqldb*
    libreoffice-writer* libruby1.9.1* libruby1.9.1-dbg* libruby2.1* libscsynth1* libtcl8.5* libtcltk-ruby1.9.1* libtk8.5*
    libv8-3.14.5* libyaml-0-2* nodejs* nodejs-legacy* nodered* nuscratch* python3-uno* ri1.9.1* ruby* ruby1.9.1* ruby1.9.1-dev*
    ruby1.9.1-examples* ruby1.9.1-full* ruby1.9.3* ruby2.1* rubygems-integration* scratch* sonic-pi* squeak-plugins-scratch*
    squeak-vm* supercollider* supercollider-common* supercollider-ide* supercollider-language* supercollider-server*
    supercollider-supernova* tcl8.5* tk8.5* wolfram-engine*
    0 upgraded, 0 newly installed, 66 to remove and 133 not upgraded.
    After this operation, 1,221 MB disk space will be freed.
    (Reading database ... 122284 files and directories currently installed.)
    Removing supercollider-supernova (1:3.6.6~repack-2-1) ...
    
  • aptキャッシュサーバある場合は、先に、設定をしておく
    => [メモ] aptのキャッシュサーバ(apt-cacher-ng)

    例-/etc/apt/apt.conf.d/02proxy
    Acquire::http::Proxy "http://192.168.123.222:3142";
    

らずぱいの初期設定 sudo raspi-config

  1. パーティションの拡張(1 Expand Filesystem):
    最近のRaspbianは初回起動時にスクリプトが実行されるので、やらなくてよい
    (df -hとやって、/dev/rootのサイズが(使ってるSDの割りに)小さければ、実行してみる、とか?)
  2. piのパスワード変更(2 Change User Password): 単にpasswdでもよいかと..
  3. ホスト名(9 Advanced Options > A2 Hostname):
    sudo raspi-config nonint do_hostname new_host_name でもいける。

    例)ホスト名をrpi-(eth0のMACアドレスの下6桁)にする=>rpi-6c0f31
    # CPUのシリアル番号から
    sudo raspi-config nonint do_hostname rpi-`cat /proc/cpuinfo | grep Serial | rev | cut -b 1-6 | rev`
    # MacAddressから
    #sudo raspi-config nonint do_hostname rpi-`cat /sys/class/net/eth0/address | sed -e 's/://g' | cut -b7-`
    sudo reboot
    
    • Windows10だったり、avahi(sudo apt-get install avahi-utils)とか、bonjourとか入ってると、
      • ping rpi-6c0f31.localとかで応答あったり、
      • ssh pi@rpi-6c0f31.localで SSHログインできたりするハズ。
  4. GPU Memory (9 Advanced Options > A3 Memory Split) : 16 (カメラとか、ディスプレイを使わないなら)。カメラ使うときは、最低128必要

  5. 国際化設定(5 Internationalisation Options)

    • I1 Change Locale:
      [*] ja_JP.UTF-8 UTF-8にチェックを入れて、Default localeで、ja_JP.UTF-8(日本語)またはC.UTF-8(英語)あたりを選択。
    • I2 Change Timezone : Asia > Tokyo
    • I3 Change Keyboard Layout: (本体につないだUSBキーボードから実行可能)
    • I4 Change Wi-fi Country: JP Japan (GB Britain (UK), US United States)
  6. VNC (2016-09-23より、RealVNC が使える)

    • 9 Advanced Options > A5 VNC より
  7. ネットワーク

    • IP固定(Static IP)

      1. ルータのDHCPの設定で、MACアドレスでIPアドレス固定割付、をやる。(自分のおうちなど、ルータの設定ができる場合)
      2. /etc/dhcpcd.conf で固定.

        (例)/etc/dhcpd.conf
        ...
        interface eth0
            static ip_address=192.168.0.62/24
            static routers=192.168.0.1
            static domain_name_servers=192.168.0.1
        

日本語関係

  • X用日本語フォント(インストールせず、Default Localeを日本語にて、Desktopで起動すると、豆腐になる)
    sudo apt-get install fonts-ipafont fonts-ipaexfont
  • ほかの日本語フォント
    sudo apt-cache search fonts | grep -i japanese # などで検索
  • 日本語入力
    sudo apt-get install fcitx-mozc fcitx-anthy
  • 日本語のマニュアル
    sudo apt-get install manpages-ja manpages-ja-dev

ソフトウェア設定

よく使うパッケージインストール

お好みで.
# いつも
sudo apt-get install -y htop byobu git
# まぁまぁ.
sudo apt-get install iotop bwm-ng lsof ccze fbcat
# カーネルビルド.
sudo apt-get install build-essential git ncurses-dev bc unzip 

Swapを切る

よくわからないひとはやらない方がいいかと。
# パッケージ削除
sudo apt-get purge dphys-swapfile
#
# /etc/fstab : いくつかのフォルダをtmpfsとする。
sudo sh -c 'echo "#### ramdisk" >> /etc/fstab'
sudo sh -c 'echo "tmpfs    /tmp        tmpfs    defaults,noatime,nosuid,size=128m              0 0" >> /etc/fstab'
sudo sh -c 'echo "tmpfs    /var/tmp    tmpfs    defaults,noatime,nosuid,size=32m               0 0" >> /etc/fstab'
sudo sh -c 'echo "tmpfs    /var/log    tmpfs    defaults,noatime,nosuid,mode=0755,size=32m     0 0" >> /etc/fstab'

Samba

Shell
#パッケージインストール
sudo apt-get install -y samba
# オリジナル設定のバックアップ
if [ ! -e /etc/samba/smb.conf.orig ] ; then sudo mv /etc/samba/smb.conf{,.orig}; sudo cp /etc/samba/smb.conf{.orig,}; echo "smb.conf: backup done" ;else echo "No need backup"; fi
#
# 設定の編集.
sudo vi /etc/samba/smb.conf
/etc/samba/smb.conf
...
...
[homes]
   browseable = no  # 好みにより yes
   read only = yes
...
...
# (お好みにより)最後の方に追加
# だれでも読み書き可能な共有フォルダ
[public_share]
path = /home/pi/pub    # フォルダを作っておく.
writable = yes
guest ok = yes
guest only = yes
Shell
# smb.confの [global]セクションで、passdb backend = tdbsam となっているので、ユーザ設定をする.
# 現在のユーザリスト
sudo pdbedit --list
# ユーザ追加 => パスワードを聞かれる
sudo pdbedit -a -u pi -h /home/pi -f "Raspberry Pi" -N "Raspberry Pi Default User"
#
#
# 設定確認
sudo pdbedit --list
#
# サービス再起動
sudo systemctl restart smbd nmbd
  • \\rpi.local\pi または、\\<らずぱいのIP>\pi にアクセスして、ユーザpi、パスワードを入力。

追加ハードウェアなどの設定

Wifi

wpa_passphrase SSID PASS | grep -v  PASS | tee -a /etc/wpa_supplicant/wpa_spplicant.conf

USBシリアルでコンソール(USBの方を挿す)

sudo sudo systemctl enable serial-getty@ttyUSB0.service
  • うちの環境だと、起動時9600bpsになる、stty -F /dev/ttyUSB0 115200とか、921600とかでボーレート変更する。

RTC(DS3231)

  • I2C接続のリアルタイムクロック (VCC, GND, SDA, SCLの4つをつなぐ)
# ntpとi2c関係のツール.
sudo apt-get install -y ntpdate i2c-tools
# i2cを有効
sudo raspi-config nonint do_i2c 0
# 確認 => dtparam=i2c_arm=on となってる
cat /boot/config.txt | grep i2c
#
# /boot/config.txtに dtoverlay=i2c-rtc,ds3231 を追加.
grep ^dtoverlay=i2c-rtc,ds3231 /boot/config.txt ; if [ $? != 0 ]; then sudo sh -c 'echo dtoverlay=i2c-rtc,ds3231 >> /boot/config.txt'; fi
#
# サービス設定
sudo update-rc.d fake-hwclock disable
sudo update-rc.d ntp disable
#
# 設定書き換え.
sudo vi /lib/udev/hwclock-set
/lib/udev/hwclock-set以下をコメントアウト
#if [ -e /run/systemd/system ] ; then
#    exit 0
#fi
#リブート.
sudo reboot
#
#
sudo i2cdetect -y 1
#こんなのがでてくる
#pi@raspberrypi:~ $ sudo i2cdetect -y 1
#     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
#00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
#10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
#20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
#30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
#40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
#50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
#60: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- -- 
#70: -- -- -- -- -- -- -- --                         
#
# リブート後、時刻補正、RTCへ時刻設定
sudo sh -c 'ntpdate pool.ntp.org ; hwclock -w'

ENC28J60 (SPI-Ethernet Port)

# spiを有効
sudo raspi-config nonint do_spi 0
# 確認 => dtparam=spi=on
grep spi /boot/config.txt 
#
# /boot/config.txtに dtoverlay=enc28j60,int_pin=25,speed=25000000 を追加.
grep ^dtoverlay=enc28j60,int_pin=25,speed=25000000 /boot/config.txt ; if [ $? != 0 ]; then sudo sh -c 'echo dtoverlay=enc28j60,int_pin=25,speed=25000000 >> /boot/config.txt'; fi

その他

  • 100記事目記念~ Q100_1.png Q100_2.png
19
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
21