Factory.組込みからPC、サーバ、スマホまで、実験的に開発中。)RaspberryPi3にubuntu16.04をインストールします。ubuntuのサイトからRPi3用のイメージファイルをダウンロード。起動したら、まずSDの延命措置を施しましょう。やることはRPi2のubuntu14.04インストールと同じですが、変更元ファイルの内容が一部違っていたりするので、ここでは16.04での変更内容を示します。最初に/tmpと/var/tmpをtmpfsに追い出します。/etc/fstabに以下の変更を行います。0つぎに、ログファイルもtmpfsに置くようにします。RPi用のtransientlogスクリプトを使用します。このスクリプトは、RPi起動時にログファイルをtmpfsに移動し、シャットダウン時にSDに書き戻すようになっているので、シャットダウンしてもログファイルの内容が保持されます。install.shinstall.shを変更してinsservのパスを追加します。transientlogまた、transientlog.initをそのままインストールするとサービスのstart/stopがエラーになるので、一部変更します。1;;esac変更を保存したらインストールします。./install.shその他の変更は、RPi2のホームディレクトリのファイル以降の内容と同じです。そのほかタイムゾーン、キーボード、ロケール設定をRPi2のタイムゾーン、キーボード、ロケール設定と同様に行います。ついでにlogrotateでログファイル肥大化抑制もやっておきましょう。)Bluetooth関連パッケージのインストールpi3上のbluetoothを使うために、raspbianではbluez-firmwareとpi-bluetoothパッケージが追加されていますが、これらはubuntuには含まれていません。あちこち探してみると、ubuntu-pi-flavour-makerというプロジェクトが見つかりました。MATE、lubuntu、xbuntuなどをリリースしていて、いずれもpi3のbluetoothとwifiに対応しています。このubuntu-pi-flavour-makerのPPAを追加して、bluetoothとwifi関連のパッケージをインストールします。pi-bluetoothインストールが完了したら、hciconfigコマンドでbluetoothレシーバが認識されているか確認します。本体側の準備ができたらキーボードを接続します。今回使用したのはiBuffaloのBSKBB24BKです。設定はbluetoothctlコマンドで行います。[default][bluetooth]#レシーバが認識されています。onと入力してデバイスをスキャンします。BSKBB24[bluetooth]#デバイスが見付かったらpairコマンドでペアリングします。no[bluetooth]#ペアリングされたデバイスは、paired-devicesコマンドで確認できます。BSKBB24[bluetooth]#ペアリングはrpiを再起動しても維持されます。デバイスにはconnectコマンドで接続します。successful[BSKBB24]#プロンプトが[bluetooth]から[BSKBB24]に変わっています。以降はデバイスを指定しなければBSKBB24に対するコマンドと解釈されます。trustコマンドを実行して、以降は自動で接続するようにしておきます。succeeded[BSKBB24]#たぶん、ここまでの操作はUSBキーボードかsshで行っているのではないでしょうか。一度接続を切って再起動し、自動的に接続するか試してみましょう。rebootwifi設定まずはrpiのwifiを有効にします。/etc/network/interfacesにwlan0の設定を追記します。manual追加したwlan0を起動してifconfigで確認します。B)ubuntu@ubuntu:~$wifi関連のパッケージ、wpasupplicant、wireless-tools、iwをインストールします。iwiwlistコマンドでアクセスポイントを検索します。ESSIDESSID:"WARPSTAR-01504C"ESSID:"WARPSTAR-01504C-W"ESSID:"aterm-8deeda-gw"ESSID:"elecom2g-1788A8"ESSID:"e-timer-1788A8"ESSID:"auhome_bXvkCh"ESSID:"catch22"ESSID:"Buffalo-G-5538"ubuntu@ubuntu:~$この例ではcatch22に接続します。wpa_passphraseコマンドで接続キーを生成して/etc/wpa_supplicant/catch22.confに保存します。接続先はcatch22、パスフレーズはsortie50です。/etc/wpa_supplicant/catch22.conf"生成された/etc/wpa_supplicant/catch22.confの内容はこのようになっています。}12345network={ssid="catch22"#psk="sortie50"psk=81a7fe6297535368a04df23b1cb2fadca7e058436deacd13c7136ea8fa949f1c}3行目に生のパスフレーズがコメントアウトされています。必要なければこの行は削除しておきましょう。ネットワーク起動時にcatch22.confを読み込んでdhcp接続するように/etc/network/interfacesを変更します。dhcp設定は以上です。wlan0を再起動してアクセスポイントに接続します。seconds.ubuntu@ubuntu:~$アクセスポイントのIPアドレスは192.168.3.1です。dhcpで192.168.3.3のアドレスが割り当てられました。ifconfigで確認してみましょう。)RaspbianダウンロードページからOSイメージをダウンロードします。ダウンロード所要時間はフルイメージで約5分程度です。microSDカードへの書き込み方法については、この記事では扱いません。方法がわからなかったり自信がない場合は、きちんと理解している人に依頼して書き込んでもらってください。microSDへの書き込みが完了したらzeroのSDスロットに差し、各ケーブルを接続して起動!と、ここで想定外の事態が発生しました。ケーブルの重みでzeroがズリズリと持っていかれてしまいます。HDMIケーブルが強引に基盤を浮き上がらせる勢いです。これだけ小さくて軽いのだから当然と言えばあまりに当然ではありますが、これではどうにもダサダサです。言って無理に固定するとコネクタが壊れはしないかと心配です。そこで、このようにしました。セロテープでケーブルを留めています。これならコネクタに無理な力がかかることがなく、zero基盤も一応安定した状態(実は少し浮き上がっている)に固定できます。