前回手に入れたRaspberry Piで、Linuxを起動して、一通りの初期設定をしていきます。
Raspberry PiのOSイメージをダウンロード
Raspberry Piの公式サイトでOSの各種ディストリビューションがダウンロードできます。
推奨しているOSはDebian Linuxベースの「Raspbian “wheezy”」のようです。Arch LinuxなどもあるようですがこちらはGeek推奨です。
今回はDebianベースの”Wheezy”を利用します。2012-08-16-wheezy-raspbian.zipは445MBあるので、ダウンロードを少し待ちます。
SDカードへOSイメージを書き込む
32GBのSDカードが2,000円でおつりがきました。こいつに書き込みます。
Amazonベーシック SDHCカード 32GB class10 AmazonBasics |
Raspberry PiにOSイメージを書き込むスクリプトを公開してくれている人がいます。ですが、残念なことにSyntaxErrorがあるなど、他の人のPull Requestを受け入れてないため、バグが存在してMacOSXでの利用ができません。
修正したPull Requestを投げている方のスクリプトを利用しようとしたら、最終的にこちらのスクリプトもコマンド制御できてませんでした。
最終的に自分でコマンドを実行してイメージを書き込むことにしました。ダウンロードしたzipファイルを解凍して、imgファイルをSDカードに書き込みます。
SDカードを接続して、アンマウントしてから書き込みます。
sudo umount /dev/disk1
sudo dd bs=4m if=/Users/hirocaster/Desktop/raspberry/2012-08-16-wheezy-raspbian.img of=/dev/rdisk1
462+1 records in
462+1 records out
1939865600 bytes transferred in 133.452676 secs (14535981 bytes/sec)
約2分ぐらいで終了します。
起動と初期設定
SDカードを挿して、microUSBから電源を供給してあげれば、OSが起動します。今回はMacBookAirからAndroid携帯のUSBから充電するケーブルを使って起動しました。
初期設定で作成されているユーザー名は”pi”で、パスワードは”raspberry”になっています。
始めて起動するときにはraspi-configというコマンドで提供されている設定画面が表示されます。
sudo raspi-config
という独自のコマンドが用意されているので、また設定したくなればこれを実行すればOKです。
raspi-configでの設定に触れていきます。
設定ツール自体をアップデートする
この設定ツールであるraspi-configをアップデートしましょう。”update”から自動でやってくれます。
パスワードを変更しておく
最低限のセキュリティを確保するためにも、初期設定で作成されている”pi”ユーザーのパスワードを変更しておきましょう。”change_pass”で変更することができます。
タイムゾーンを設定する
何をするにしてもログが最大の情報になります。そこに記載されている時間が狂っていると致命的です。タイムゾーンの設定をしておきましょう。”change_timezone”で設定できます。
“Asia” -> “Tokyo” としておけばローカルタイムでJSTが設定されます。NTPの設定は初期設定でされているので、時間は勝手にあわせてくれるはずです。
32GBのSDカードを使い切る
配布されているOSイメージだとSDカードの容量を2GBしか利用していません。
$ df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 1.8G 1.4G 321M 81% /
/dev/root 1.8G 1.4G 321M 81% /
今回は32GBのSDカードを利用しているので、全容量を利用して欲しいところです。
そこで、raspi-configの”expand_rootfs”を実行してください。その後、raspi-configを終了すると再起動を促されるので、再起動してください。
SDカードの容量が大きければ大きいほど、ファイルシステムの変更にしばらく時間がかかるかと思います。SSHで接続している人は、気長に待ちましょう。
$ df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 30G 1.4G 27G 5% /
/dev/root 30G 1.4G 27G 5% /
無事に起動してくれば、この様に利用する容量が30GBまで増えています。
一般的なLinuxの設定をしておく
あとは一般的なLinuxの設定をしておきます。
ホストネームを設定
初期設定でホストネームは”raspberrypi”になってます。自分が識別できるものにしておきましょう。
/etc/hostname にホストネームを書いておくだけで、Linuxの起動時に設定されます。
/etc/hostsも変更
/etc/hostsファイルに
127.0.1.1 raspberrypi
となってる部分があるはずです。”raspberrypi”を設定したホストネームに変更しておきましょう。
IPアドレス
LANケーブルを挿すと自動的にDHCPでIPアドレスを取得しにいきます。
$ /sbin/ifconfig
eth0 Link encap:Ethernet HWaddr b8:27:eb:ac:cd:ff
inet addr:192.168.1.54 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:333 errors:0 dropped:0 overruns:0 frame:0
TX packets:193 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:30600 (29.8 KiB) TX bytes:27706 (27.0 KiB)
固定IPアドレスも設定しておくことにします。ご自身の環境に合わせて内容を変更してください。
$ sudo vi /etc/network/interfaces
上記のファイルを以下のように変更
auto lo
iface lo inet loopback
iface eth0 inet dhcp
auto eth0:1
iface eth0:1 inet static
address 192.168.1.7
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 192.168.1.1
設定を反映させるためネットワークを再起動します。設定をミスしていると最悪ネットワーク接続されないため直接Raspberry Piを操作して回復することになります。
$ sudo /etc/init.d/networking restart
これで、固定IPを割り当てることができました。通常はこちらの固定IPを利用して、SSHでオペレーションすることにします。
パッケージ関係
既にインストールされているパッケージ関係を最新にアップデートしておきます。
パッケージデータベースをアップデートする
$ sudo apt-get update
Get:1 http://archive.raspberrypi.org wheezy InRelease [7701 B]
Get:2 http://mirrordirector.raspbian.org wheezy InRelease [12.5 kB]
Get:3 http://archive.raspberrypi.org wheezy/main armhf Packages [5741 B]
Get:4 http://mirrordirector.raspbian.org wheezy/main armhf Packages [7334 kB]
Ign http://archive.raspberrypi.org wheezy/main Translation-en
Get:5 http://mirrordirector.raspbian.org wheezy/contrib armhf Packages [23.3 kB]
Get:6 http://mirrordirector.raspbian.org wheezy/non-free armhf Packages [46.4 kB]
Get:7 http://mirrordirector.raspbian.org wheezy/rpi armhf Packages [14 B]
Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-en
Ign http://mirrordirector.raspbian.org wheezy/main Translation-en
Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-en
Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en
Fetched 7430 kB in 1min 1s (121 kB/s)
Reading package lists... Done
パッケージをアップグレードする
各種パッケージを最新にアップグレードしておきます。
$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
alsa-base
The following packages will be upgraded:
base-files console-setup console-setup-linux debconf debconf-i18n debconf-utils desktop-base dpkg dpkg-dev gconf-service gconf2
gconf2-common ifupdown initscripts iso-codes keyboard-configuration kmod libbsd0 libc-bin libc-dev-bin libc6 libc6-dev libdpkg-perl
libgail-3-0 libgail18 libgconf-2-4 libgdu0 libgl1-mesa-glx libglapi-mesa libgtk-3-0 libgtk-3-bin libgtk-3-common libgtk2.0-0
libgtk2.0-bin libgtk2.0-common libgudev-1.0-0 libicu-dev libicu48 libkmod2 libluajit-5.1-common libpulse0 libraspberrypi-bin
libraspberrypi-dev libraspberrypi-doc libraspberrypi0 libsasl2-2 libsasl2-modules libsmbclient libssh2-1 libthai-data libthai0
libudev-dev libudev0 libwbclient0 locales lua5.1 luajit module-init-tools multiarch-support omxplayer raspberrypi-bootloader
samba-common sysv-rc sysvinit sysvinit-utils tasksel tasksel-data udev xkb-data
69 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Need to get 133 MB of archives.
After this operation, 1842 kB disk space will be freed.
とりあえず、完成
あとは好きなパッケージを入れるなり設定するなり、自由に遊べるでしょう!
前回の記事はこちら
Amazonベーシック SDHCカード 32GB class10 AmazonBasics |
Gareth Halfacree、、Eben Upton |