Raspberry Piを購入して初期設定

参考サイト

この記事に触発されました。


以下購入に関して。

  • 持っていた物
    • micro USBケーブル(端子はType A、Micro-B)
    • USB出力電源アダプター(端子はType A)
    • microSDカードアダプター(microSDをUSBで包む)

ELECOM カードリーダライタ USB2.0対応 シングルタイプ microSD用 小型 FACE MR-SMC07WHF1

    • モニター(端子はDVI-I)
  • 組み立て

参考ページの通りに組み立てる。
本体に電源、SDカード、LANケーブルさえ繋げば他は要らない。
モニター表示とキーボードは何かあった時のために用意した。
でもある方が良いよ。
キーボードがUSB英語キーボードなのは最初に入れるOSが日本語化されていないかもしれない場合を見込んで。記号の入力でハマると嫌だし。

  • 作業
    • イメージを用意する。

Raspberryの公式サイトからイメージをダウンロードする。
NOOBSではなくRaspbianを選んだ。
ダウンローされたファイル名は2014-01-07-wheezy-raspbian.zip。
以下でzipの中身を展開する。

$ unzip 2014-01-07-wheezy-raspbian.zip
    • イメージ書き込み

microSDHCをmicroSDカードアダプターでMacへ挿す。
自動でマウントされるのでアンマウントする。
そしてイメージを焼く。

$ sudo diskutil unmount /dev/disk1s1
$ sudo dd bs=1m if=2014-01-07-wheezy-raspbian.img of=/dev/rdisk1

5分位かかった。
途中で失敗したり中止したらdiskutilを立ち上げてパーティションを消去してMacを再起動してからやり直す。

    • 本体を起動

上で焼き込んだmicroSDHCをSDカードのアダプターに入れてRaspberry Piへ挿す。
そして電源のUSBケーブルを通電する。
LEDの全部(ACT:桃色?、PWR:赤、FDX:緑、LINK:緑、100:緑)が光ったら起動が始まってる。
PWRしか光っていなかったらイメージの焼き込みに失敗している。色々見直す必用がある。

    • ログイン

IPアドレスを確認する。
どのIPアドレスが割り当てられたかはルーターの管理画面で確認するかtcpdumpでを見てDHCP経由でRaspberry Piに配布されたのを見る。
そのIPアドレスへユーザーpiでログインする。
パスワードはraspberry。

$ ssh pi@192.168.0.100

32GiBのSDカードを使っているのに最初は焼いたイメージの大きさのままになっているのでパーティションを広げる。

$ sudo raspi-config

これで表示されたメニューの1を選んで容量限界まで拡張する。
大容量のSDカードを使うとバックアップの時に困るかもしれないのでそこは購入前に検討すべし。

言語→米国英語
タイムゾーン→Asia/Tokyo

システム標準を日本語にするとログや設定ファイルに日本語が出てきてターミナル作業の邪魔になることが多いので米国英語にする。
ユーザー用の言語は日本日本語でも可。その場合はLANGの変更だけで良いはず。

sudo update-locale LANG=en_US.UTF-8
sudo echo "Asia/Tokyo" > /etc/timezone
sudo dpkg-reconfigure -f noninteractive tzdata

確認

$ locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
$ date
Sat Feb 1 15:46:21 JST 2014
    • 新規ユーザーを作成

普段使うユーザーを作成する。
ついでにsudoの許可とグループadmへ登録する。admはredhat系でいうところのwheel。

$ sudo passwd root
$ sudo useradd kappa -m
$ sudo passwd kappa
$ sudo usermod kappa -G adm
$ sudo visudo
(ファイル末尾に以下を追記する)
%adm ALL=(ALL) ALL
$ exit
    • 新規ユーザーのログイン確認

作成したユーザーでログインできるか、sudoできるか確認する。

$ ssh kappa@192.168.0.100
kappa@192.168.0.100's password: 
Linux raspberry 3.10.25+ #622 Fri Jan 3 18:41:00 GMT 2014 armv6l
(略)

$ sudo ls -l /root
[sudo] password for kappa:
total 0
    • ユーザーpiを無効化(ロック)

これからはkappaを使うのでpiは無効にする。自動化の時に復活させるかもしれないので削除はしない。

$ sudo usermod -L pi
$ exit
    • ユーザーpiが無効化されたか確認
$ ssh pi@192.168.0.100
Permission denied, please try again.
    • 有線LAN設定
$ sudo cp /etc/network/interfaces /etc/network/interfaces.1.bak
$ sudo vi /etc/network/interfaces
(以下へ変更)
auto lo

iface lo inet loopback

iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
gateway 192.168.0.1

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

iface default inet dhcp
(保存)

再起動する

$ sudo reboot

指定のIPアドレスへ接続する

$ ssh kappa@192.168.0.100

現状確認

$ sudo ifconfig -a
(略)
wlan0     Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:6 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

$ sudo dmesg  | less
(略)
[    3.359457] usb 1-1.3: new high-speed USB device number 4 using dwc_otg
[    3.471583] usb 1-1.3: New USB device found, idVendor=2019, idProduct=ab2a
[    3.482733] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    3.494129] usb 1-1.3: Product: GW-USNANO2
[    3.502288] usb 1-1.3: Manufacturer: Planex Communications Inc.
[    3.512299] usb 1-1.3: SerialNumber: xxxxxxxxxxxx
(略)

$ sudo lsusb | grep -i PLANEX
Bus 001 Device 004: ID 2019:ab2a PLANEX GW-USNano2 802.11n Wireless Adapter [Realtek RTL8188CUS]

何もしなくても認識されている。

SSIDパスフレーズを作成する

$ sudo wpa_passphrase 親機のSSID パスワード > ~/passphrase.tmp

SSIDとPSKを設定する

$ sudo cat ~/passphrase.tmp >> /etc/wpa_supplicant/wpa_supplicant.conf
$ sudo vi /etc/wpa_supplicant/wpa_supplicant.conf
(以下変更内後)
trl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
  ssid="親機のSSID"
  psk=生成された値
  key_mgmt=WPA-PSK
  proto=WPA2
  pairwise=CCMP
  priority=2
}
(変更して保存)

ネットワークの設定

$ sudo cp /etc/network/interfaces /etc/network/interfaces.2.bak
$ sudo vi /etc/network/interfaces
(以下変更後内容)
auto lo

iface lo inet loopback

iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
gateway 192.168.0.1

allow-hotplug wlan0
iface wlan0 inet static
address 192.168.0.101
netmask 255.255.255.0
gateway 192.168.0.1
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

iface default inet dhcp
(変更して保存)

無線LANを有効にする

$ sudo ifdown wlan0
Internet Systems Consortium DHCP Client 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/wlan0/xx:xx:xx:xx:xx:xx
Sending on   LPF/wlan0/xx:xx:xx:xx:xx:xx
Sending on   Socket/fallback
DHCPRELEASE on wlan0 to 192.168.0.1 port 67

$ sudo ifup   wlan0
ioctl[SIOCSIWAP]: Operation not permitted
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
Internet Systems Consortium DHCP Client 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/wlan0/xx:xx:xx:xx:xx:xx
Sending on   LPF/wlan0/xx:xx:xx:xx:xx:xx
Sending on   Socket/fallback
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 3
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 7
DHCPREQUEST on wlan0 to 255.255.255.255 port 67
DHCPOFFER from 192.168.0.101
DHCPACK from 192.168.0.1
bound to 192.168.0.101 -- renewal in 38864 seconds.

$ exit

LANケーブルを抜いて無線LAN経由で接続する。

$ ssh kappa@192.168.0.101
kappa@192.168.0.101's password: 
Linux ginowan 3.10.25+ #622 PREEMPT Fri Jan 3 18:41:00 GMT 2014 armv6l

とりあえず無線化して放っておけるところまでできた。