Raspbian Jessie with PIXELをRaspberry Pi 3 Model Bへセットアップ with macOS Sierra 10.12

More than 1 year has passed since last update.


はじめに

所用で常時特定URLのサイト画面を表示するキオスク端末を作りたくなり、余っていたRaspberry Piの中から Raspberry Pi 3 Model B を引っ張り出してきて初期セットアップした備忘録です。

image


  • 本記事は2017/03/04記載時点の情報です。


本手順で使用するもの



  • Raspberry Pi 3 Model B 本体




  • microSDカード


    • Raspberry Pi 3の Raspbian Jessie with PIXEL インストール用

    • 本手順は、Transcend microSD Card 64GB Class10 TS64GUSDU1E を使用

    • 8GB程度以上のサイズが望ましい




  • HDMIディスプレイ




  • USB電源


    • Raspberry Pi 3起動用

    • 本手順は、 Aukey PA-U32 を使用




  • USBキーボード


    • Raspberry Pi 3操作用

    • 本手順は Lenovo ThinkPad Trackpoint Keyboard を使用

    • マウスも一体化されていて超便利




  • macOS搭載マシン




Raspbian Jessie with PIXEL の入手

インストールするOSイメージを入手しないとはじまらないのでOSイメージを入手する


  1. 公式サイトのダウンロードページへ移動


  2. Raspbian Jessie with PIXEL の現時点の最新バージョン March 2017 を確認
    image


    • ついでに SHA-1 のハッシュ値が b4c0dedd56c2cfb7913322cadb9ba81e19b6daee である事を確認(ダウンロード後のファイルが壊れていないか確認する際に使います)



  3. ZIP圧縮されたOSイメージのダウンロード



    • Download ZIP の場合


      • Download ZIP` を押下してダウンロード

      • 下記の様にとても時間がかかるのでお勧めしません

        image

      • ダウンロード元URLの downloads.raspberrypi.org は見た感じCDNやミラー等を使って無いのでイギリス(UK)から直接ダウンロードしてるっぽい




    • Download Torrent の場合


      • ZIPファイルを BiTtorrent のネットワークを使ってダウンロード出来ます

      • ZIPファイルを直接ダウンロードするよりも、こちらの方が平均的に速いです


      • Download Torrent を押下して 2017-03-02-raspbian-jessie.zip.torrent ファイルを入手

      • BiTtorrent クライアントは何でも良いですが、自分は Transmission を利用

      • Transmission がインストール済みなら、ダウンロードした .torrent ファイルをダブルクリックすれば Downloads フォルダへダウンロードが始まります
        image

      • 20分程度でダウンロード完了






  4. ダウンロードしたZIP圧縮されたOSイメージファイルの確認


    • ここからはターミナル操作によるコマンド入力
      image


      • 本手順は、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 と上記出力が同じならダウンロードが正常に完了




  5. 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イメージ書き込み)



  1. 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



  2. microSDカードをmacOSへ接続



  3. 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





  4. 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 コマンドでフォーマット後の状態を確認


    コマンド

    % 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




  5. micorSDカードのアンマウント



    • diskutil unmountDisk コマンドでmicroSDカードをアンマウント


    コマンド

    % sudo diskutil unmountDisk /dev/rdisk2
    
    Unmount of all volumes on disk2 was successful




  6. 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分で書き込みました






  7. 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 で起動


  1. Raspbian Jessie with PIXEL のOSイメージ書き込み済みmicroSDカードを Raspberry Pi 3 Model B のmicroSDカードスロットに差してUSB電源を接続(この時点で起動が始まる)
    image

  2. 自動的に初期化が実行される
    image

  3. 自動ログインしてGUIが表示されれば起動完了
    image


初期設定


  • ネットワークへ接続


    • 有線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
    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




  • 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
    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先を表示したものをラウンドロビンで表示するキオスク端末的なモノを作ろうと思います。