2月Raspberry Pi 2が発売され、MicrosoftもWindows 10を無償提供すると発表し、賑わったRaspberry Piネタ。
1年前にRaspberry Piをネットでポチったフットサル仲間との数ヶ月前のこなんやりとり

確か、◯◯さん警子ちゃん作って遊んでましたよ。



( ・`ω・´)ドヤ



えっ!??
まぁ〜付き合い長いからそんなとこだろうってわかっちゃいたけど。。。
いちおう、あんたも基盤SEだよね〜
翌週のフットサル時


と、Raspberry PiのModel B+が我が家に来ることに。
我が家にはMacBookPro以外のPCやサーバはないため、モニターやキーボード、マウスなどの入出力デバイスを使わずに、Rasbianをインストールしてみました。
インストル作業に用意するもの(HELPより)
本家サイトのHELPサイトにあるQuick Start Guideを参考。こちら
・用意するもの | |
SDメモリーカード | スピードクラスがClass4(4MB/sec)以上で容量が8GB以上 |
ディスプレとケーブル | HDMIもしくはDVI入力に対応したモニターかTV |
キーボードとマウス | 標準的なUSB接続タイプ |
電源 | Raspberry Piにmicro USB端子を使用して5V以上の電力供給ができる電源 |
・あったらいいもの | |
インターネット接続 | Ethernetか無線LAN。 |
イヤフォン | 3.5mmイヤフォンジャックの標準的なもの。 |
インストル作業に用意したもの
作業端末 | MacBook Pro ’15 Early 2013 |
SDメモリカード | Transcend microSDHC 32GB(TS32GUSDHC10) |
電源アダプタ | BUFFALO 2A対応USB充電器 2ポート(BSIPA08BK) |
マイクロUSBケーブル | |
LANアダプター | BUFFALO Giga対応 USB2.0用 LANアダプター(LUA3-U2-AGT) |
作業した項目
- 起動ディスクの作成
- RASPBIAN のダウンロード
- チェックサムの確認
- ダウンロードしたイメージファイルの解凍
- microSDのフォーマット
- microSDへOSイメージを書き込み
- RASPBIAN のダウンロード
- Raspberry Piへのログイン
- インターネット共有の設定
- Raspberry pi のIPアドレスの確認
- Raspberry pi へのSSHログイン
- 番外)XセッションでのSSHログイン
- RASPBIANの環境設定
- 初期設定
- アップデート
では、RASPBIANの起動ディスクを作成していきます。
1. 起動ディスクの作成
Raspberry PiのオフィシャルサイトからRASPBIANのイメージファイルをダウンロードして、microSDに書き込んで起動ディスクを作成します。
1.1. RASPBIANのダウンロード
オフィシャルサイトのダウンロードページ(こちら)からインストールするOSのイメージファイルをダウンロードします。
こんかいは持ち主の強い希望からRASPBIANを選択しました。
1.1.1 チェックサムの確認
ダウンロードしたインストールイメージのZIPファイルにたいして念のためチェックサムを確認します。
SHA-1のチェックサム値が提供されているので、shsumコマンドで確認を行います。
1 2 3 |
MacBookPro $ shasum 2014-09-09-wheezy-raspbian.zip 951a9092dd160ea06195963d1afb47220588ed84 2014-09-09-wheezy-raspbian.zip MacBookPro $ |
1.1.2 ダウンロードしたイメージファイルの解凍
ダウンロードしたファイルのチェックサム値が提供されている値と同じであれば、zipファイルを解凍します。
回答すると、yyyy-mm-dd-wheezy-raspbian.imgが作成されます。
1 2 3 4 |
MacBookPro $ unzip 2014-09-09-wheezy-raspbian.zip Archive: 2014-09-09-wheezy-raspbian.zip inflating: 2014-09-09-wheezy-raspbian.img MacBookPro $ |
1.2. microSDのフォーマット
microSDカードをMacに挿入して、SDカードのフォーマットを行います。 SDカードのデバイスファイル名(/dev/diskX)を事前に確認しておきましょう。
MacOSの起動ディスクを消してしまっては元も子もないので。。
フォーマットが完了したらアンマウントします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
MacBookPro $ diskutil eraseDisk FAT32 RASPBIAN MBRFormat /dev/disk2 Started erase on disk2 Unmounting disk Creating the partition map Waiting for the disks to reappear Formatting disk2s1 as MS-DOS (FAT32) with name RASPBIAN 512 bytes per physical sector /dev/rdisk2s1: 61137728 sectors in 1910554 FAT32 clusters (16384 bytes/cluster) bps=512 spc=32 res=32 nft=2 mid=0xf8 spt=32 hds=255 hid=8192 drv=0x80 bsec=61167616 bspf=14927 rdcl=2 infs=1 bkbs=6 Mounting disk Finished erase on disk2 MacBookPro $ diskutil list /dev/disk2 /dev/disk2 #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *31.3 GB disk2 1: DOS_FAT_32 RASPBIAN 31.3 GB disk2s1 MacBookPro $ diskutil unmountDisk /dev/disk2 Unmount of all volumes on disk2 was successful MacBookPro $ |
1.3. microSDへOSイメージを書き込み
RASPBIANのイメージファイルをmicroSDコードにddコマンドを使用して書き込みます。この方法はRASPBIANバックアップを行うときにも使えますね。
ddコマンドでSDカードに書き込む際にデバイスファイル名(/dev/diskX)のdiskの前にrををつけ/dev/rdiskXを使います。
この作業が完了すれば、Raspberry Pi用の起動ディスクの作成は完了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
MacBookPro $ sudo dd if=2014-09-09-wheezy-raspbian.img of=/dev/rdisk2 bs=1m WARNING: Improper use of the sudo command could lead to data loss or the deletion of important system files. Please double-check your typing when using sudo. Type "man sudo" for more information. To proceed, enter your password, or type Ctrl-C to abort. Password: 3125+0 records in 3125+0 records out 3276800000 bytes transferred in 233.592253 secs (14027862 bytes/sec) MacBookPro $ diskutil list /dev/disk2 /dev/disk2 #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *31.3 GB disk2 1: Windows_FAT_32 boot 58.7 MB disk2s1 2: Linux 3.2 GB disk2s2 MacBookPro $ diskutil unmountDisk /dev/disk2 Unmount of all volumes on disk2 was successful MacBookPro $ |
2.Raspberry Piへのログイン
Raspberry Piを起動し、キーボードやマウス、ディスプレイを使用せずMacBook飲みを使用してログインと初期設定をしていきます。
まずは、MacBookの設定です。
インターネット共有の設定
Raspberry PiをネットワークにIPアドレスを付与するために、MacBookのインターネット共有を有効にします。
MacBookのインターネット共有を有効にすると、MacBookにLANやWiFiで接続している端末のネットワークとインターネットに接続しているMacBookの異なるネットワークを同一のネットワークとして結合してくれます。
要は、MacBookが簡易的なネットワークルータになってくれます。それでは設定していきましょう。
Dockまたは、アップルメニュー(左上のマーク)から「システム環境設定」を選択します。
「システム環境設定」画面に切り替わったら、中段の「共有」を選択します。
「共有」画面の左側で「インターネット共有」にチェックを入れます。
次に画面の右側「相手のコンピュータが使用するポート:」の項目で、Raspberry PiがMacBookと接続しているポートを選択します。
このMacBookはEthernetポートを内蔵していないタイプのため、USB接続のLANアダプターを使用してMacBookとRaspberry Piを接続します。MacBookはWiFiでインターネット接続ができている状況です。
(Raspberry PiにIPアドレスが付与されMacBookと接続できればよいので、インターネット接続については、特に必要はないかと思います。)
インターネット共有の開始許可の確認画面が表示され「開始」を選択すると、赤ポチだった「インターネット共有:切」から緑ポチの「インターネット共有:入」へ変更されます。
MacBookにBridgeアダプタが作成され、192.168.2.0/24の新しいネットワークが作成されます。参考までにBridgeアダプタのステータスです。
ここまで来たらRaspberry Piの電源を入れます。Raspberry Piに電源ボタンが無いのでmicroSDケーブルを電源につなぐだけですがwww
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
MacBookPro $ ifconfig bridge100 bridge100: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 options=3<RXCSUM,TXCSUM> ether 2a:cf:e9:41:4f:64 inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255 inet6 fe80::28cf:e9ff:fe41:4f64%bridge100 prefixlen 64 scopeid 0xc Configuration: id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0 maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200 root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0 ipfilter disabled flags 0x2 member: en3 flags=3<LEARNING,DISCOVER> ifmaxaddr 0 port 4 priority 0 path cost 0 Address cache: b8:27:eb:ff:6e:a5 Vlan1 en3 1179 flags=0<> nd6 options=1<PERFORMNUD> media: autoselect status: active MacBookPro $ |
Raspberry pi のIPアドレスの確認
Raspberry PiにSSH接続するためにMacBookからRaspberry Piに割当てられたIPを確認します。
確認方法としては、「MacBookのSyslogを確認する方法」と「MacBookからarpコマンドを実行してARPテーブルを確認する方法」があります。
ARPプロトコルはIPアドレスからそのIPアドレスを持っているMACアドレス(ネットワーク上で端末を識別するためにLANアダプタに一意に割り当てられるアドレス)をARPプロトコルで収集したMACアドレスの情報をAPRテーブルで管理しております。ARPテーブルを参照することで、通信相手が存在しているのか?それが誰なのかなどを確認することができます。
Syslogでの確認
MacBookのsyslogであるsystem.logを新しいブリッジ接続用のネットワークアドレスで抽出すると、6行目に以下のメッセージが有ります。
ACK sent raspberrypi 192.168.2.2 pktsize 300
これは、クライアント(Raspberry Pi) から提示されたIPアドレスを選択し、Raspberry Piによって使用中になったことをDHCPサーバ(MacBook)が認識したといるメッセージです。
ネットワーク屋さんではないので、間違っているかも。。。
メッセージにRaspberry Piと表示されているので、Raspberry PiのIPアドレスが192.168.2.2だと言うことがわかりますね。
1 2 3 4 5 6 7 |
MacBookPro $ grep "192.168.2" /var/log/system.log Nov 20 00:09:33 Hiroshis-MacBook-Pro.local acvpnagent[25]: Function: logInterfaces File: ../../vpn/AgentUtilities/Routing/InterfaceRouteMonitorCommon.cpp Line: 477 IP Address Interface List: FE80:0:0:0:2ACF:E9FF:FE14:AAE5 192.168.1.23 FE80:0:0:0:B0C6:8AFF:FEC1:20FB FE80:0:0:0:126F:3FFF:FEA6:34A8 192.168.2.1 FE80:0:0:0:28CF:E9FF:FE41:4F64 Nov 20 00:09:47 Hiroshis-MacBook-Pro.local acvpnagent[25]: Function: logInterfaces File: ../../vpn/AgentUtilities/Routing/InterfaceRouteMonitorCommon.cpp Line: 477 IP Address Interface List: FE80:0:0:0:2ACF:E9FF:FE14:AAE5 192.168.1.23 FE80:0:0:0:B0C6:8AFF:FEC1:20FB 192.168.2.1 FE80:0:0:0:28CF:E9FF:FE41:4F64 Nov 20 00:09:49 Hiroshis-MacBook-Pro.local acvpnagent[25]: Function: logInterfaces File: ../../vpn/AgentUtilities/Routing/InterfaceRouteMonitorCommon.cpp Line: 477 IP Address Interface List: FE80:0:0:0:2ACF:E9FF:FE14:AAE5 192.168.1.23 FE80:0:0:0:B0C6:8AFF:FEC1:20FB FE80:0:0:0:126F:3FFF:FEA6:34A8 192.168.2.1 FE80:0:0:0:28CF:E9FF:FE41:4F64 Nov 20 00:09:50 Hiroshis-MacBook-Pro.local bootpd[1041]: interface bridge100: ip 192.168.2.1 mask 255.255.255.0 Nov 20 00:09:50 Hiroshis-MacBook-Pro.local bootpd[1041]: ACK sent raspberrypi 192.168.2.2 pktsize 300 MacBookPro $ |
arpコマンドでの確認
こちらはちょっとコツと言うか知識が必要です。
ARPテーブルを参照すると、新しいブリッジ接続用のネットワークアドレスで使用されているIPアドレスは、3つでそれぞれの意味は以下のとおりです。
192.168.2.1 | デフォルトゲートウェイ(ルーターとしてのMacBook) |
192.168.2.2 | これがもしやRaspberry Pi!?? |
192.168.2.255 | ブロードキャストアドレス |
Raspberry PiのIPアドレスが、192.168.2.2ではないかと判断がつきます。そして、ARPテーブルに表示されているMACアドレスのVendor識別子(先頭の3オクテット)を確認すると、「b8:27:eb」は「Raspberry Pi Foundation」とわかります。
Google先生に「MAC Address Vendor」と聞くと、検索サイトを教えてもらえます。
1 2 3 4 5 6 7 8 |
MacBookPro $ arp -a corega.home (192.168.1.1) at 0:a:79:ac:76:40 on en0 ifscope [ethernet] ? (192.168.1.23) at 28:cf:e9:14:aa:e5 on en0 ifscope permanent [ethernet] ? (192.168.1.255) at ff:ff:ff:ff:ff:ff on en0 ifscope [ethernet] ? (192.168.2.1) at 2a:cf:e9:41:4f:64 on bridge100 ifscope permanent [bridge] ? (192.168.2.2) at b8:27:eb:ff:6e:a5 on bridge100 ifscope [bridge] ? (192.168.2.255) at ff:ff:ff:ff:ff:ff on bridge100 ifscope [bridge] MacBookPro $ |
Raspberry pi へのSSHログイン
ここまできたら、あとはRaspberry PiへSSH接続してログインするだけです。
ユーザ名、パスワードはRaspberry Piのサイトに掲載されている初期値を使用します。
ユーザ名 | パスワード |
pi | raspberry |
「pi@raspberrypi ~ $」のプロンプトが帰ってくればログイン完了です!
あとは、RASPBIANの初期設定をしましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
MacBookPro $ ssh pi@192.168.2.2 The authenticity of host '192.168.2.2 (192.168.2.2)' can't be established. RSA key fingerprint is 04:2d:4f:d7:36:b8:5f:8d:44:88:b0:7d:47:0b:af:35. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.2.2' (RSA) to the list of known hosts. pi@192.168.2.2's password: Linux raspberrypi 3.12.28+ #709 PREEMPT Mon Sep 8 15:28:00 BST 2014 armv6l 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. NOTICE: the software on this Raspberry Pi has not been fully configured. Please run 'sudo raspi-config' pi@raspberrypi ~ $ uname -a Linux raspberrypi 3.12.28+ #709 PREEMPT Mon Sep 8 15:28:00 BST 2014 armv6l GNU/Linux pi@raspberrypi ~ $ cat /etc/debian_version 7.6 pi@raspberrypi ~ $ cat /etc/os-release PRETTY_NAME="Raspbian GNU/Linux 7 (wheezy)" NAME="Raspbian GNU/Linux" VERSION_ID="7" VERSION="7 (wheezy)" ID=raspbian ID_LIKE=debian ANSI_COLOR="1;31" HOME_URL="http://www.raspbian.org/" SUPPORT_URL="http://www.raspbian.org/RaspbianForums" BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs" pi@raspberrypi ~ $ |
番外)XセッションでのSSHログイン
ちょっと寄り道で、せっかくSSHログインが出来たのでグラフィックモードで使用できるようXセッションでSSHログインをしてみます。
SSHコマンドのYオプションを使用してRaspberry Piにログインをします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
MacBookPro $ ssh -Y pi@192.168.2.2 pi@192.168.2.2's password: Linux raspberrypi 3.12.28+ #709 PREEMPT Mon Sep 8 15:28:00 BST 2014 armv6l 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: Wed Nov 19 15:45:19 2014 from 192.168.2.1 NOTICE: the software on this Raspberry Pi has not been fully configured. Please run 'sudo raspi-config' pi@raspberrypi ~ $ lxsession & pi@raspberrypi ~ $Openbox-Message: A window manager is already running on screen 0 Has notifications support True Loading... Connecting to daemon... Connected. displaytray True Done loading. |
RASPBIANの環境設定
それではRASBIANの初期設定について超ぉ〜簡単にメモをしていきます。いろいろなサイトで初期設定については触れているので、詳細を知りたい場合はそちらを参考にされた方が良いと思います。
初期設定
SSHログインする度に求められたいた「sudo raspi-config」を実行して、フットサル仲間で使用できる最低限の状況にするためLocaleとタイムゾーンだけ設定してあげました。
アップデート
通常のDebian系Linuxと同じで「apt-get」でアップデートを実行します。MacBookがインターネットに接続していないとRaspberry Piはシャバにはでれないのでアップデートが必要な場合WiFiで接続する環境で作業することをおすすめします。
こんなかんじで途中で書くのがあれになってしまいましたが、MacBookだけでマウスやキーボード、ディスプレイがなくても設定して遊びはじめれます。
そもそも、フットサル仲間はすべて揃っているので自分でやる方がハードルが物凄く低いってことは、ここだけ話!??
固定IPの設定をしてルータに接続するればれっきとした簡易サーバですよね。勉強環境や分散型クラスタの試験環境(パラレル処理のコードとかかけませんが。。。。)には持ってこいですね。