はじめに
所用で常時特定URLのサイト画面を表示するキオスク端末を作りたくなり、余っていたRaspberry Piの中から Raspberry Pi 3 Model B
を引っ張り出してきて初期セットアップした備忘録です。
- 本記事は2017/03/04記載時点の情報です。
本手順で使用するもの
-
Raspberry Pi 3 Model B 本体
- RSコンポーネンツで3月末までセールやってる 2017/03/04現在
- 本手順は、昔大量に購入した際の余りの1台を使用
-
microSDカード
- Raspberry Pi 3の Raspbian Jessie with PIXEL インストール用
- 本手順は、Transcend microSD Card 64GB Class10 TS64GUSDU1E を使用
- 8GB程度以上のサイズが望ましい
-
HDMIディスプレイ
- Raspberry Pi 3画面表示用
- 本手順は、plus one HDMI(LCD-10000VH3)を使用
-
USB電源
- Raspberry Pi 3起動用
- 本手順は、 Aukey PA-U32 を使用
-
USBキーボード
- Raspberry Pi 3操作用
- 本手順は Lenovo ThinkPad Trackpoint Keyboard を使用
- マウスも一体化されていて超便利
-
macOS搭載マシン
- OSイメージセットアップおよびRaspberry Pi 3リモート操作用
- 本手順は、MacBook 12 Early 2016を使用
- SDカードリーダーはALMIGHTY DOCK C1を使用
Raspbian Jessie with PIXEL の入手
インストールするOSイメージを入手しないとはじまらないのでOSイメージを入手する
-
Raspbian Jessie with PIXEL
の現時点の最新バージョンMarch 2017
を確認
- ついでに SHA-1 のハッシュ値が
b4c0dedd56c2cfb7913322cadb9ba81e19b6daee
である事を確認(ダウンロード後のファイルが壊れていないか確認する際に使います)
- ついでに SHA-1 のハッシュ値が
-
ZIP圧縮されたOSイメージのダウンロード
-
Download ZIP
の場合 -
Download Torrent
の場合- ZIPファイルを BiTtorrent のネットワークを使ってダウンロード出来ます
- ZIPファイルを直接ダウンロードするよりも、こちらの方が平均的に速いです
-
Download Torrent
を押下して2017-03-02-raspbian-jessie.zip.torrent
ファイルを入手 - BiTtorrent クライアントは何でも良いですが、自分は Transmission を利用
- Transmission がインストール済みなら、ダウンロードした
.torrent
ファイルをダブルクリックすればDownloads
フォルダへダウンロードが始まります
- 20分程度でダウンロード完了
-
-
ダウンロードしたZIP圧縮されたOSイメージファイルの確認
- ここからはターミナル操作によるコマンド入力
- 本手順は、iTerm2を使用
- ダウンロードファイルを確認
コマンド% cd ~/Downloads % ls -lth total 3075960 -rw-r--r--@ 1 ysaotome staff 1.5G 3 4 16:10 2017-03-02-raspbian-jessie.zip -rw-r--r--@ 1 ysaotome staff 30K 3 4 14:40 2017-03-02-raspbian-jessie.zip.torrent
- ダウンロードしたZIPファイルのハッシュ値を確認
コマンド% openssl sha1 2017-03-02-raspbian-jessie.zip SHA1(2017-03-02-raspbian-jessie.zip)= b4c0dedd56c2cfb7913322cadb9ba81e19b6daee
- ダウンロード画面で確認した SHA-1 のハッシュ値
b4c0dedd56c2cfb7913322cadb9ba81e19b6daee
と上記出力が同じならダウンロードが正常に完了
- ここからはターミナル操作によるコマンド入力
-
zipファイルの解凍
-
unzip
コマンドでZIPファイルを解凍してOSイメージを入手
コマンド% unzip 2017-03-02-raspbian-jessie.zip Archive: 2017-03-02-raspbian-jessie.zip inflating: 2017-03-02-raspbian-jessie.img % ls -lth total 11657080 -rw-r--r--@ 1 ysaotome staff 1.5G 3 4 16:10 2017-03-02-raspbian-jessie.zip -rw-r--r--@ 1 ysaotome staff 30K 3 4 14:40 2017-03-02-raspbian-jessie.zip.torrent -rw-r--r--@ 1 ysaotome staff 4.1G 3 4 01:24 2017-03-02-raspbian-jessie.img
- ZIPファイルを解凍してOSイメージ
2017-03-02-raspbian-jessie.img
を入手
-
Raspbian Jessie with PIXEL のインストール(microSDカードへのOSイメージ書き込み)
-
microSDカード接続後にパスが分かる様に接続前の状態を記録
-
ls
コマンドでディバイスの状態を確認
コマンド% ls -lt /dev/rdisk* crw-r----- 1 root operator 1, 0 2 19 22:08 /dev/rdisk0 crw-r----- 1 root operator 1, 1 2 19 22:08 /dev/rdisk0s1 crw-r----- 1 root operator 1, 3 2 19 22:08 /dev/rdisk0s2 crw-r----- 1 root operator 1, 2 2 19 22:08 /dev/rdisk0s3 crw-r----- 1 root operator 1, 4 2 19 22:08 /dev/rdisk1
-
-
microSDカードをmacOSへ接続
-
microSDカード接続後のディバイスの状態を確認
-
ls
コマンドでディバイスの状態を確認
コマンド% ls -lt /dev/rdisk* crw-r----- 1 root operator 1, 5 3 4 17:59 /dev/rdisk2 crw-r----- 1 root operator 1, 7 3 4 17:59 /dev/rdisk2s1 crw-r----- 1 root operator 1, 6 3 4 17:59 /dev/rdisk2s2 crw-r----- 1 root operator 1, 0 2 19 22:08 /dev/rdisk0 crw-r----- 1 root operator 1, 1 2 19 22:08 /dev/rdisk0s1 crw-r----- 1 root operator 1, 3 2 19 22:08 /dev/rdisk0s2 crw-r----- 1 root operator 1, 2 2 19 22:08 /dev/rdisk0s3 crw-r----- 1 root operator 1, 4 2 19 22:08 /dev/rdisk1
- microSDカード接続前後の状態確認から
/dev/rdisk2
が増えている事を確認(これが接続したmicroSDカードのディバイス名) - もしくは
diskutil list
コマンドで確認しても良い
コマンド/dev/disk0 (internal): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme 251.0 GB disk0 1: EFI EFI 314.6 MB disk0s1 2: Apple_CoreStorage Mac 250.0 GB disk0s2 3: Apple_Boot Recovery HD 650.0 MB disk0s3 /dev/disk1 (internal, virtual): #: TYPE NAME SIZE IDENTIFIER 0: Mac +249.7 GB disk1 Logical Volume on disk0s2 AAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA Unlocked Encrypted /dev/disk2 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *64.2 GB disk2 1: Windows_FAT_32 boot 66.1 MB disk2s1 2: Linux 64.2 GB disk2s2
-
-
microSDカードのフォーマット
-
diskutil eraseDisk
コマンドでmicroSDカードをフォーマット
コマンド% sudo diskutil eraseDisk FAT32 RASPBIAN MBRFormat /dev/rdisk2 Started erase on disk2 Unmounting disk Creating the partition map Waiting for partitions to activate Formatting disk2s1 as MS-DOS (FAT32) with name RASPBIAN
-
512 bytes per physical sector
/dev/rdisk2s1: 125403200 sectors in 1959425 FAT32 clusters (32768 bytes/cluster)
bps=512 spc=64 res=32 nft=2 mid=0xf8 spt=32 hds=255 hid=2 drv=0x80 bsec=125433854 bspf=15309 rdcl=2 infs=1 bkbs=6
Mounting disk
Finished erase on disk2
```
* diskutil list
コマンドでフォーマット後の状態を確認
```zsh:コマンド
% diskutil list
/dev/disk2 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *64.2 GB disk2
1: DOS_FAT_32 RASPBIAN 64.2 GB disk2s1
```
-
micorSDカードのアンマウント
-
diskutil unmountDisk
コマンドでmicroSDカードをアンマウント
コマンド% sudo diskutil unmountDisk /dev/rdisk2 Unmount of all volumes on disk2 was successful
-
-
microSDカードへOSイメージの書き込み
-
dd
コマンドを使ってmicroSDカードへOSイメージを書き込む
コマンド% sudo time dd bs=1m if=2017-03-02-raspbian-jessie.img of=/dev/rdisk2 load: 2.23 cmd: dd 73453 uninterruptible 0.01u 3.93s 4190+0 records in 4190+0 records out 4393533440 bytes transferred in 216.803254 secs (20265071 bytes/sec) 217.24 real 0.01 user 4.56 sys
-
dd
コマンド実行中にCtrl + Shift + t
を押下する事で進捗を確認出来ます
コマンド3843031040 bytes transferred in 189.724750 secs (20255823 bytes/sec)
-
time
コマンドを入れる事でOSイメージ書き込みかかった時間を計っています-
217.24 real
なので、217.24秒=約3.6分で書き込みました
-
-
-
micorSDカードのアンマウント
-
diskutil unmountDisk
コマンドでmicroSDカードをアンマウント
コマンド% sudo diskutil unmountDisk /dev/rdisk2 Unmount of all volumes on disk2 was successful
-
Raspberry Pi 3 Model B を Raspbian Jessie with PIXEL で起動
- Raspbian Jessie with PIXEL のOSイメージ書き込み済みmicroSDカードを Raspberry Pi 3 Model B のmicroSDカードスロットに差してUSB電源を接続(この時点で起動が始まる)
- 自動的に初期化が実行される
- 自動ログインしてGUIが表示されれば起動完了
初期設定
-
ネットワークへ接続
- 有線LANへ接続する場合は、LANケーブルへ接続すればDHCPでアドレスを取得します
- 無線LANへ接続する場合は、GUI右上のメニューからWiFiアクセスポイントを見つけて接続すればDHCPでアドレスを取得します
- 注意)オンボードチップでは2.4GHz帯のアクセスポイントのみ利用可能
-
sshサーバの起動
- GUI左上のメニューから
Terminal
アイコンをクリックして起動 - Terminal上で
service
コマンドを使ってsshサーバを起動する
コマンドpi@raspberrypi: $ sudo service ssh start pi@raspberrypi: $ sudo service ssh status ● ssh.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; disabled) Active: active (running) since Sat 2017-03-04 09:57:35 UTC; 14min ago
- GUI左上のメニューから
Main PID: 1398 (sshd)
CGroup: /system.slice/ssh.service
└─1398 /usr/sbin/sshd -D
Mar 04 09:57:35 raspberrypi systemd[1]: Started OpenBSD Secure Shell server.
Mar 04 09:57:35 raspberrypi sshd[1398]: Server listening on 0.0.0.0 port 22.
Mar 04 09:57:35 raspberrypi sshd[1398]: Server listening on :: port 22.
```
-
SSHサーバのfingerprint(フィンガープリント)を確認
- Terminal上でsshサーバのフィンガープリントを確認
コマンドpi@raspberrypi: $ awk '{print $2}' /etc/ssh/ssh_host_ecdsa_key.pub | base64 -d | sha256sum -b | awk '{print $1}' | xxd -r -p | base64 Kc9SJO0eId9JITuoIul4hY1iCZCL3XXXXXXXXXXXXXX
- SSH接続時に接続先が合っているか確認出来る
- 出力されたフィンガープリント
Kc9SJO0eId9JITuoIul4hY1iCZCL3XXXXXXXXXXXXXX
を覚えておく - 参考:SHA256 ssh fingerprint given by the client but only md5 fingerprint known for server
-
Raspberry Pi 3 Model B へ割り当てられたIPアドレスを確認
-
Terminal上で
ifconfig
コマンドを使ってインターフェースのIPアドレスを確認- 有線LAN接続の場合
コマンドpi@raspberrypi: $ ifconfig eth0 eth0 Link encap:Ethernet HWaddr b8:27:eb:aa:bb:cc inet addr:10.10.10.10 Bcast:10.10.10.255 Mask:255.255.255.0 inet6 addr: fe80::9858:d9ee:6ccf:cccc/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:3654 errors:0 dropped:0 overruns:0 frame:0 TX packets:1433 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:432665 (422.5 KiB) TX bytes:198914 (194.2 KiB)
- 無線LAN接続の場合
コマンドpi@raspberrypi: $ ifconfig wlan0 wlan0 Link encap:Ethernet HWaddr b8:27:eb:aa:bb:cc inet addr:10.10.10.11 Bcast:10.10.10.255 Mask:255.255.255.0 inet6 addr: fe80::a77c:c3a7:a4bb:bbbb/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:7101 errors:0 dropped:2585 overruns:0 frame:0 TX packets:1516 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3552642 (3.3 MiB) TX bytes:160748 (156.9 KiB)
-
-
macOSからsshを経由して Raspberry Pi 3 Model B へ接続
- macOS のターミナル上で
ssh
コマンドを使って接続する
コマンドtachikoma% ssh -p 22 pi@10.10.10.10 The authenticity of host '10.10.10.10 (10.10.10.10)' can't be established. ECDSA key fingerprint is SHA256:Kc9SJO0eId9JITuoIul4hY1iCZCL3XXXXXXXXXXXXXX. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '10.10.10.10' (ECDSA) to the list of known hosts. pi@10.10.10.10's password: The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the
- macOS のターミナル上で
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Mar 3 16:24:38 2017
SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.
pi@raspberrypi:~ $
```
* 接続コマンドは `ssh -p 22 pi@[確認した有線LANもしくは無線LANに割り当てられたIPアドレス]`
* 上記では `10.10.10.10` としている
* 最初の接続なので、フィンガープリントの確認がある確認出来たら `yes` を押下
* ユーザー pi のパスワードデフォルト値は `raspberry`
まとめ
以上でセットアップ完了。
Raspberry Pi を久しぶりにセットアップしようとしたら、 Raspbian Jessie with PIXEL
なるものがリリースされていたので備忘録として手順を確認しながらセットアップしてみました。
ご存じの通り、この状態だとパスワードがデフォルト値のままだったり、そもそもユーザー名が推測しやすい状況なので、新しくユーザーを作成しsshkey認証へ変更を行い、デフォルトユーザーの pi
はログイン出来なくすると良いんじゃないでしょうか。
自分はここから、フルスクリーンでブラウザ表示し、タブで複数URL先を表示したものをラウンドロビンで表示するキオスク端末的なモノを作ろうと思います。