Hatena::ブログ(Diary)

へにゃぺんて@日々勉強のまとめ

2016-03-03

Raspbian Jessie LiteイメージからOS構築(日本語環境・X Window System等)

2週間ほど前にRaspberry Pi 2を買いました。

Raspberry Pi 3がつい先日リリースされ、買うやいなや時代遅れになった感じがしますが、

ちょこちょこと、いじってみています。


まずは、microSDOSインストールということで、

NOOBSといったすごく便利なものも公開されていますが、

ここではRaspbian Jessie LiteのイメージからOS(もとい、ユーザーランド)を構築してみたので、

やった手順をメモしておきます。



1. Raspbian Jessie LiteをmicroSDインストール

1.1. 以下から最新のイメージをダウンロード

https://downloads.raspberrypi.org/raspbian_lite_latest

  • 3/2現在、2016-02-26-raspbian-jessie-lite.zip が最新

1.2. 以下のページの手順でmicroSDインストール

[PC]$ cd
[PC]$ unzip 2016-02-26-raspbian-jessie-lite.zip
[PC]$ sudo dd bs=1M if=2016-02-26-raspbian-jessie-lite.img of=/dev/mmcblk0
[PC]$ sudo dd bs=1M if=/dev/mmcblk0 of=from-sd-card.img
[PC]$ sudo truncate --reference 2016-02-26-raspbian-jessie-lite.img from-sd-card.img
[PC]$ diff -s from-sd-card.img 2016-02-26-raspbian-jessie-lite.img
一致することを確認

1.3. 作成したmicroSDをRPi2(Raspberry Pi 2)へ挿入し、起動


1.4. ルートファイルシステムが存在するパーティションを拡張

※ コレを実施しないとルートファイルシステムパーティションのサイズが、

  microSDのサイズに関わらず1GBのまま

  (Raspbian Jessie Liteイメージのルートファイルシステムのサイズ)

RPi2へログインする際は、

User pi
PW Raspberry
[RPi2]$ sudo raspi-config
"Expand Filesystem"でパーティションを拡張
リブート

2. コンソール環境構築

2.1. ロケール設定

[RPi2]$ sudo raspi-config
"Internationalisation Options"でロケール設定
リブート

2.2. NTP設定

[RPi2]$ sudo nano /etc/ntp.conf
以下を追加
# You do need to talk to an NTP server or two (or three).
#server ntp.your-provider.example
server ntp.nict.jp	# 追加
server ntp.nict.jp	# 追加
server ntp.nict.jp	# 追加
[RPi2]$ sudo systemctl restart ntp
[RPi2]$ date
201632日 水曜日 21:35:00 JST
時刻が正しく日本時間であることを確認

2.3. システムアップデート

[RPi2]$ sudo apt-get update
[RPi2]$ sudo apt-get upgrade

2.4. ネットワーク設定(NetworkManager)

[RPi2]$ sudo apt-get install network-manager
[RPi2]$ sudo nano /etc/network/interfaces
eth0, wlan0, wlan1 を無効化
[RPi2]$ sudo reboot
[RPi2]$ nmcli c s eth0
eth0のステータスを確認

RPi2にUSB無線LANドングルを接続

(Roland製WNA1100を使用しました)


[RPi2]$ nmcli d w l
アクセスポイント一覧を確認
[RPi2]$ nmcli d w c SSID password PASSWORD
[RPi2]$ nmcli c s SSID
IPアドレスを確認(ここでは192.168.10.5だったとする)

sshログインしてリモートから実行している場合、

  "nmcli d w c SSID password PASSWORD"にはsudoを付けないと、以下のエラーで失敗する

  > エラー: 新規接続の追加、アクティベートに失敗しました: (32) Not authorized to control networking.

  - RPi2上で実行する分にはsudoを付けなくても上記のエラーは発生しない

  (「何故」って話だけど、一度登録されると再び実行することの無いコマンドなので、深追いしておらず。。)


3. Xと日本語入力環境構築

3.1. X Window Systemと諸々インストール

X Window SystemとDisplay Manager(XDM)、Window Manager(awesome)、

ターミナルエミュレータ(gnome-terminal)をインストール

[RPi2]$ sudo apt-get install xinit
[RPi2]$ sudo apt-get install gnome-terminal
[RPi2]$ sudo apt-get install xdm
[RPi2]$ sudo apt-get install awesome awesome-extra

3.2. 日本語入力環境インストール

[RPi2]$ sudo apt-get install uim mozc-server uim-mozc
[RPi2]$ sudo apt-get install fonts-ipafont
[RPi2]$ sudo reboot

RPi2にXからログインし、日本語入力が行えることを確認


おわりに

上記の手順のraspi-configより後は、

私のノートPCでDebian Jessieをセットアップする時と同じ手順です。

(netinstでインストールウィザード上では何もパッケージをインストールせず、

後からAPTで環境構築する)


今や当たり前なことなのかもしれませんが、

こういったボードコンピュータで、PCと同じやり方が通用するのは

すごいし、便利だなぁ。。と感じます。


余談

あと、raspi-configのロケール設定あたりは、

"dpkg-reconfigure"を呼んでいるだけかなと思います(振る舞いを見る限り)

dpkg-reconfigure localesロケール設定
dpkg-reconfigure tzdataタイムゾーン設定

など