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

2週間ほど前にRaspberry Pi 2を買いました。
Raspberry Pi 3がつい先日リリースされ、買うやいなや時代遅れになった感じがしますが、
ちょこちょこと、いじってみています。


まずは、microSDにOSインストールということで、
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ドングルを接続
(RolandWNA1100を使用しました)

[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 タイムゾーン設定

など