RaspberryPi2にのUbuntu14.04(Trusty)をインストールしてセットアップまで行ったのでそのメモ。

※厳密にはUbuntu Serverをインストールしました。
RaspbianとUbuntuの違い
どちらもDebian系ですが違いがあります。 UbuntuはDebianベースですが、必ずしもDebianとバイナリの互換性があるわけではありません。
Raspbian
- Debianをカスタマイズしたもの
- Raspberry Pi用
- (非商用に限り)Mathematicaが使える
- raspi-configで初期設定が済む
Ubuntu
- Debian GNU/LinuxベースのOS(カーネルはUbuntu独自)
- 利用されているOSの中では比較的シェアが高いのでドキュメントが充実している
- ROS(Robot Operating System)はUbuntuを推奨している
特に理由がない場合はRaspbianを使うとよいと思います。
Raspberry Pi用に用意されている、というメリットを最大限に享受することができますので。
今回はROSをRaspberry Piで使おうと思ったのでUbuntuをインストールします。
※RaspbianにもROSはインストールできるようになっていますが、Ubuntuでの方が動かしやすい(ソースなし)のでUbuntuを選択します。
用意するもの
- Raspberry Pi 2 Model B
- 8GB以上、Class 10以上のmicroSDHC
(Ubuntuのインストールだけなら4GB、Class 6あれば十分)
- 5V、2A以上供給できる電源
(実測値ではほとんどの場合0.5A以下だったので、PCのUSB2.0ポートでもおそらく問題なし)
- USBキーボード
- HDMI対応モニタ(とHDMIケーブル)
- LANケーブル
- (必要ならば)Wi-Fiドングル
Raspberry Pi 2 Model B (1) 【Amazon.co.jp限定】Transcend microSDHCカード 16GB Class10 UHS-I対応 400× (無期限保証) Newニンテンドー3DS 動作確認済み TS16GUSDU1PE (FFP)
Wi-Fiドングルについて
よく使われるWLI-UC-GNM2やWLI-UC-GNMEよりもGW-USNANO2Aの方がおすすめです。 BUFFALOのアクセスポイント(WHR-300HP2/N)でWLI-UC-GNM2とRaspberry Pi 2を組み合わせて使用したところ、しょっちゅう切断されるなどの不具合がありました。
ですが、そのときにGW-USNANO2Aに交換したら何事もなかったかのようにほとんどロスなく通信できました。
そのほかのルータでは問題なく接続できていたので設定次第で改善できた可能性もありますが。
また消費電力を比べてみてもWLI-UC-GNM2は最大2.5W、GW-USNANO2Aは最大1.3Wと省エネです。
発熱量はどちらも多いですが、GW-USNANO2Aの方が少ない気がします。
BUFFALO 11n対応 11g/b 無線LAN子機 親機-子機デュアルモード対応モデル WLI-UC-GNM2 PLANEX 無線LAN子機 (USBアダプター型) 11n/g/b 150Mbps MacOS X10.10対応 GW-USNANO2A (FFP)
手順
書き込むイメージの準備
ARM/RaspberryPi - Ubuntu Wiki 2015-04-06-ubuntu-trusty.zipを上記サイトからダウンロードします。159.3MBありました。
今回はDownloads直下にそのまま2015-04-06-ubuntu-trusty.imgを展開しました。
※Ubuntu14.04はRaspberry Pi 3には対応していません。
対応させる方法を書きました。RaspberryPi3にUbuntu14.04をインストールする方法 | Memoteki
microSDの準備
今回はMacで実行します。Linuxでも概ね同じようにできるようです。
- Installing operating system images on Mac OS - Raspberry Pi Documentation
- Installing operating system images on Linux - Raspberry Pi Documentation
WindowsではWin32 Disk Imagerなどを使えば簡単です。
microSDを指す前と指す後で2回以下のコマンドを実行します。
diskutil list/dev/disk2 (external, physical)が増えており、これがmicroSDであることがわかります。
ここで違うdiskを選択すると、最悪の場合OS Xが起動しなくなる場合があります。
diskutil umountDisk /dev/disk2sudo dd if=~/Downloads/2015-04-06-ubuntu-trusty.img of=/dev/rdisk2 bs=1mここで、ofに/dev/disk2ではなく、/dev/rdisk2を指定します。
rdiskはdiskと違い、アンバッファモードなのでバッファモードより書き込みが数倍速いです。
時間がかかりますが、Ctrl+Tできちんと動いている確認できます。
書き込みが終わったら、EjectしてmicroSDの準備完了です。
diskutil eject /dev/disk2接続
microSD、LANケーブル、HDMIケーブルを所定の位置に接続し、最後にmicroUSBの電源をつなぎます。 このときにHDMIケーブルでモニタとRaspberry Pi 2が接続されていないと途中から接続しても認識されません。 ssh接続テストを行うまでHDMI対応モニタとUSBキーボードを使用します。
キーボード、タイムゾーンの設定
デフォルトのログインユーザは"ubuntu"、パスワードも"ubuntu"です。
sudo dpkg-reconfigure keyboard-configurationsudo dpkg-reconfigure tzdataパッケージリスト・パッケージの更新
sudo apt-get update && sudo apt-get upgrademDNSとOpenSSHサーバのインストール
マルチキャストDNS(mDNS)はMacやWindowsではBonjourと呼ばれているサービスです。 IPアドレスを直接入力しなくても同じネットワーク内で"HOSTNAME.local"が名前解決できるようになります、 Windowsで使うにはBonjour for Windowsが必要になります。
単体でもインストールできますが、iTunesのインストール時にインストールされます。
LinuxではAvahiを使います。
sudo apt-get install avahi-daemon openssh-serverお気に入りのエディタをインストール
VimでもEmacsでもnanoでも。
sudo apt-get install vimhostnameの変更
mDNSを入れたのでhostnameを変更します。
ほかのhostnameと同じにならないように設定する必要があります。
今回は"raspberrypi001"に変更しています。
sudo vim /etc/hostnamesudo vim /etc/hosts/etc/hostnameの中身はこんな感じ。
raspberrypi001/etc/hostsの中身はこんな感じ。127.0.0.1のところだけ書き換えればよいでしょう。
#127.0.0.1 ubuntu127.0.0.1 raspberrypi001ここで一度再起動
sudo rebootssh接続テスト
ここからはsshで接続できるはずです。
同じネットワーク内で"HOSTNAME.local"(今回は"raspberrypi001.local")で接続できるようになっています。 MacやLinxからならターミナルを起動して以下のコマンドで接続できるはずです。
ssh ubuntu@raspberrypi001.localWindowsの場合はTeraTermで接続できます。
Wi-Fi接続に必要なパッケージのインストール
Wi-Fi接続に必要なドライバなど各種パッケージをインストールします。
sudo apt-get install linux-firmware wireless-tools wpasupplicantWi-Fi設定ファイルの編集
sudo vim /etc/network/interfacessudo vim /etc/wpa_supplicant/wpa_supplicant.confちなみに、以下のコマンドを実行することでWi-Fiのアクセスポイントをスキャンすることができ、プロトコル等を調べることができます。
sudo iwlist wlan0 scanwlan0がないよ!と言う旨のエラーが出たらifupしてあげればwlan0が起動します。
sudo ifup wlan0Wi-Fi設定の確認
Wi-Fiの設定ができたら、以下のコマンドでcompletedと言われるか確認します。
sudo wpa_supplicant -iwlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf最終行がこんな感じになります。
CTRL-EVENT-CONNECTED - Connection to xx:xx:xx:xx:xx:xx completedオプションに-Bをつければバックグラウンドでの起動に切り替わります。
ファイルシステムの拡張
raspi-configならexpand_rootfsで済む部分ですが、Ubuntuでは手作業が必要です。 以下のコマンドで/dev/rootのsizeが1.7GBぐらいだと思います。
df -hsudo fdisk /dev/mmcblk0Welcome to fdisk (util-linux 2.22.2).
Changes will remain in memory only, until you decide to write them. Be careful before using the write command.
Command (m for help): p # pを入力
Disk /dev/mmcblk0: 15.8 GB, 15798894592 bytes, 30857216 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0004f23a
Device Boot Start End Blocks Id System/dev/mmcblk0p1 * 2048 186367 92160 c W95 FAT32 (LBA) /dev/mmcblk0p2 186368 3667967 1740800 83 Linux
Command (m for help): d # dを入力 Partition number (1-4): 2 # 2を削除する
Command (m for help): n # nを入力 Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): p # pを入力 Partition number (1-4, default 2): 2 # 2を新規パーティションに First sector (186368-30857215, default 186368): # Enter Last sector, +sectors or +size{K,M,G} (186368-30857215, default 30857215): # ENter Using default value 30857215
Command (m for help): w # wを入力
RaspberryPiでSDカード容量を最大まで使うようにする – hello-world.jp.net
開始と終了のセクターアドレスはデフォルトで正しく指定されることが多いです。
一度再起動
sudo rebootパーティション拡張
sudo resize2fs /dev/mmcblk0p2これでセットアップは終了です。
あとは通常のUbuntuと同様に使用することができます。
そのほか
単体で使う場合はケースつけると便利です。 ヒートシンク付きのケースが特におすすめです。
Raspberry Pi 2 Model B アクリル ケース ブラック ヒートシンク Raspberry Pi2 Model B ボード&ケースセット (Standard, Clear)-Physical Computing Lab
参考サイト
- Ubuntu and Debian | About Ubuntu | Ubuntu
- Raspberry Piに無線LANのUSBアダプタをつける | ものづくりエクスペリメント
- Installing operating system images on Mac OS - Raspberry Pi Documentation
- Installing operating system images on Linux - Raspberry Pi Documentation
- Installing operating system images on Windows - Raspberry Pi Documentation
- RaspberryPiのSDカード容量を拡張する | Tips of Rubbish
- RaspberryPiでSDカード容量を最大まで使うようにする – hello-world.jp.net
関連記事
- (Updated )Raspberry Pi 3にUbuntu 14.04をインストールする方法RaspberryPi2までは公式のファームウェアをmicroSDカードに書き込むだけで使えていました(RaspberryPi2にUbuntu14.04をインストールする方法 | Memoteki)が、RaspberryPi3からはそう簡単ではなくなってしまったので対応方法を2種類メモしておきます。
- Raspbianのミラーサーバ2019年12月時点で日本にあるRaspbian向けdebianパッケージのミラーサーバ一覧と、OSイメージのダウンロード先のメモ。
- ROSをインストールしてたUbuntu 18.04を20.04にアップグレードするROS Melodic/DashingをインストールしていたGPU搭載ノートPCをUbuntu 18.04から20.04にアップグレードした手順と、apt-key非推奨にともなうsources.list修正のメモ。
- docker-composeからRVizを起動するNVIDIAのGPUが有効なLinux環境でdocker-composeからRVizを起動するための設定方法。NVIDIA_VISIBLE_DEVICESとNVIDIA_DRIVER_CAPABILITIESの環境変数設定とdocker-compose.yamlの書き方をdocker-composeバージョン別にまとめた。
- TP-Link AC600 Archer T2U NanoをUbuntu 18.04で使うTP-Link AC600 Archer T2U NanoをUbuntu 18.04で動かすためのドライバインストール手順。aircrack-ng/rtl8812auリポジトリを使うことで解決した方法と、うまくいかなかった方法を記録。