Stacks

技術関連のメモ書きです

Raspberry Pi 3 Model B セットアップ

Raspberry Pi 3 を買って、セットアップするまでのメモです。やったことは以下です。

  • SDカードにRaspbian をインストール
  • 鍵認証でSSH ログインできるようにする
  • OS の設定色々
  • 有線LANと無線LANIPアドレス固定化
  • 無線LAN設定

バイスRaspberry Pi 3 Model B - Raspberry Pi です。

セットアップは自宅のiMac で行いました。

OS イメージのダウンロード

GUI は特に不要なのでLITE を入れます。バージョンはSTRECHでした。

www.raspberrypi.org

SDカードにOS をインストール 〜 SSHログインまで

こちらのドキュメントに従っていきます。 www.raspberrypi.org

SDカードをMac に差したら、どこに認識されたか確認し、アンマウントする(この場合はdisk2 でUntitled という名前でマウント)

% diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            499.2 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3

/dev/disk1 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *2.0 TB     disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:                  Apple_HFS BACKUP                  2.0 TB     disk1s2

/dev/disk2 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *16.1 GB    disk2
   1:             Windows_FAT_32                         16.1 GB    disk2s1

% df
Filesystem    512-blocks       Used  Available Capacity  iused      ifree %iused  Mounted on
/dev/disk0s2   975093952  491880216  482701736    51%  2834820 4292132459    0%   /
devfs                373        373          0   100%      646          0  100%   /dev
map -hosts             0          0          0   100%        0          0  100%   /net
map auto_home          0          0          0   100%        0          0  100%   /home
/dev/disk1s2  3906357344 1461789224 2444568120    38% 17511180 4277456099    0%   /Volumes/BACKUP
/dev/disk2s1    31440896       5760   31435136     1%        0          0  100%   /Volumes/Untitled

% sudo diskutil unmount "/Volumes/Untitled/"

先程、ダウンロードしたRaspbian のイメージをSDカードにコピーします。

% sudo dd bs=1m if=`pwd`/2017-09-07-raspbian-stretch-lite.img of=/dev/disk2 conv=sync

最初からSSH でログインしたかったので、ルートディレクトリにsshファイルを作成します。

% touch /Volumes/boot/ssh

SDカードをiMac から取り出します。

% sudo diskutil unmount "/Volumes/boot/"
% diskutil eject /dev/disk2

Raspberry Pi にLANケーブルを差し込み、電源をプラグを指して起動し、arp -a とかで追加されたIPアドレスを見つけます。

IPアドレスが分かったら、SSH でログインします。pi ユーザーの初期パスワードはraspberry です。後で適宜変えておきましょう。また、piユーザーは色々な権限と紐付いているので、別のユーザーを作ってもよいでしょう。

% ssh pi@<IPアドレス>

後で鍵認証でSSHログインできるようにしたいので、Raspbian 側のホームディレクトリに.ssh ディレクトリを作成します。

$ mkdir ~/.ssh

鍵認証でSSH できるようにする

Mac側での作業

Mac 側で鍵を作成します。鍵名やパスフレーズは適宜設定してください。秘密鍵と公開鍵が出力されます。 ここでは、id_rsa_pi とします。

% cd ~/.ssh
% ssh-keygen -t rsa -b 4096

~/.ssh/config にエイリアスを記述します。ユーザーは、ここでは便宜上pi ユーザーとします。

Host pi
  HostName <ラズパイのIPアドレス>
  User pi
  IdentityFile ~/.ssh/id_rsa_pi

公開鍵をRaspbian 側にコピー

% scp id_rsa_pi.pub pi@<IPアドレス>:~/.ssh/authorized_keys

Raspbian 側での作業

各種権限を変更しておきます。

$ sudo chmod 700 .ssh
$ sudo chmod 600 authorized_keys

これで、鍵認証でSSHログインできるようになるはずです。

% ssh pi

OS の設定色々

raspi-config でOS の設定

sudo raspi-config

で、諸々の設定ができます。自分が設定したのは次のあたり

項目 設定内容
Change User Password Change Password for the current user pi ユーザーのパスワード
Localisation Options
 Change Locale ja.UTF-8.UTF-8 追加
 Change Timezone Tokyo
 Change Wi-fi Country Japan
Advanced Options
 Expand Filesystem Ensures that all of the SD card storage is available to the OS ディスク領域拡大

設定後はリブートが必要です。

apt のリポジトリサーバー変更

$ sudoedit /etc/apt/sources.list

http://ftp.jaist.ac.jp/raspbian に変更

NTPD 設定

Raspbian STRECH の途中からNTPD がなくなってるので設定します。 参照:NTPD missing on latest Raspian? - Raspberry Pi Forums

$ sudo apt-get -y install ntp
$ sudo systemctl enable ntp

$ sudoedit /etc/ntp.conf
デフォルトのpool 指定をコメントアウトし、
#pool 0.debian.pool.ntp.org iburst
#pool 1.debian.pool.ntp.org iburst
#pool 2.debian.pool.ntp.org iburst
#pool 3.debian.pool.ntp.org iburst
これを追加
pool ntp.jst.mfeed.ad.jp iburst
restrict 192.168.0.0 mask 255.255.255.0 noquery nomodify nopeer notrust notrap 

$ sudo systemctl restart ntp
$ sudo ntpd -p

有線LANと無線LANIPアドレス固定化

$ sudoedit /etc/dhcpcd.conf
以下の行を追記 ※DNS の8.8.8.8 はお好みで
# 有線LAN
interface eth0
static ip_address=<任意のIPアドレス>/24
static routers=<ルーターのIPアドレス>
static domain_name_servers=<ルーターのIPアドレス> 8.8.8.8

# 無線LAN
interface wlan0
static ip_address=<任意のIPアドレス>/24
static routers=<ルーターのIPアドレス>
static domain_name_servers=<ルーターのIPアドレス> 8.8.8.8

無線LAN 設定

こちらに書いてあることをそのままやりました。 www.raspberrypi.org

$ wpa_passphrase <SSID> <Passphrase>

の出力結果を /etc/wpa_supplicant/wpa_supplicant.conf に反映します。 802.11a は非対応です。また、ステルスモードのSSID にはscan_ssid=1 を追記します。 生のパスフレーズがコメントされているので消しておきます。

network={
    scan_ssid=1
    ssid="hoge"
    # psk="生のパスフレーズ" … これは消す
    psk=<暗号化されたパスフレーズ>
}

設定後に

wpa_cli -i wlan0 reconfigure

の結果にOK が返れば成功です。

ip addr

IPアドレスを確認しておきましょう。