Google Nexus5 に Ubuntu Touch をインストールする。(第6版)
第1版 2020/4/28
第2版 2020/5/01
第3版 2020/5/11
第4版 2020/5/17
第5版 2020/5/19
第6版 2021/1/14 OTA-15
再度、実際にインストールして加筆修正しました。
初版は以下
https://rfriends.hatenablog.com/entry/2020/04/28/113616
Ubuntu Touch は、UbuntuベースのOSで、UBportsコミュニティーにより開発されています。
https://ubports.com/
- 0.概要
- 1.インストール
- 2.Nexus5を設定
- 3.sshの有効化
- 4.システムのチューニング
- 6.rfriendsのインストール
- 7.sambaのインストール
- 8.sshとtelnet
- 9.おわりに
注意事項
Google Nexus5 に Ubuntu Touch をインストールすると、androidシステム、データはすべて消えます。
0.概要
やることは以下のとおり。
UbuntuTouchのインストール
・PCにADBツールをインストール
・PCにubports-installerをダウンロード
・Nexus5のUSBデバッグをONにする
・Nexus5にUbuntuTouchのインストール
UbuntuTouchの設定
・初期設定
・sshを有効化
・システムのチューニング
・rfriendsのインストール
・sambaのインストール
1.インストール
1)PCにADBツールをインストール
15 seconds ADB Installer v1.4.3
https://forum.xda-developers.com/showthread.php?t=2588979
https://androidmtk.com/download-15-seconds-adb-installer
2)PCにUBportsからubports-installer_0.8.4-beta_win.exe(Windows)をダウンロード
https://ubuntu-touch.io/get-ut
3)Nexus5を6.0.1にする
必要であれば、Googleの公式サイトの6.0.1のfirmwareをflashする。
6.0.1の方は、この項を飛ばしてください。
また、すでにubuntu-touchをインストールしていて再度インストールする方もこの項を飛ばしてください。
Factory Images for Nexus and Pixel Devices
https://developers.google.com/android/images
・PCとNexus5をUSBケーブルで接続
・Nexus5 6.0.1 (M4B30Z, Dec 2016)をダウンロード
・flash-all.batを実行する。
・初期設定する。(ほとんどskipで可)
4)Nexus5を設定する
設定-端末情報-ビルド番号を7回タップして、デベロッパーモードに
設定-開発者向けオプションで、
開発者向けオプション ON
スリープモードにしない ON
USBデバッグ ON
5)PCとNexus5をUSBケーブルで接続
Nexus5で、USBデバッグを許可しますか OK
adb devices
List of devices attached
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
04acafd5f0c7XXXX device
上記のような表示にならない場合は、adbサーバーを再起動する。
adb kill-server
adb start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
再度、でデバイスの確認
adb devices
List of devices attached
04acafd5f0c7XXXX device
6)Ubuntu Touchのインストール
ubports-installer_0.8.4-beta_win.exeを実行
正常に接続されていれば、Nexus5を自動認識する。
あとは画面にしたがってインストールするだけ。
LG Nexus 5 と表示されていることを確認し、
Unlock the device OK
Nexus 5 (hammerhead)
OS ubuntu touch
install
16.04/stable
next
デバイスがlock状態だとPCに以下のようなメッセージが出る。
Device locked
unlock
Nexus5側で、
Unlock bootloader?
ボリュームでyesを選択し
電源ボタンでok
以降、インストールが進行するので終了を待つ。
Ubuntu Touch successfully installed!
現在のバージョンはUbuntu 16.04.6LTS(OTA-12)
インストール直後のストレージの空きは23.5GB
2.Nexus5を設定
Nexus5の電源を入れる。
画面に従い、Ubuntu Touchを初期設定する。
設定後、システム設定-Wi-Fi-SSID-IPアドレス、でIPアドレスをメモする。
3.sshの有効化
1)PC上で、teraterm等を使用し、C:\Temp\にRSA鍵を作成する
2)PCとNexus5をUSBケーブルで接続
Nexus5上で、システム設定-About-ロックとセキュリティ
パスワードまたはパスコードを設定
Nexus5上で、システム設定-About-開発者モード-ON
PCのコマンドプロンプトで
adb devices
List of devices attached
04acafd5f0c7XXXX device
この表示が出ない場合は、ケーブルの抜き差しをして再度行う
3)PC上で、公開鍵をNexus5に転送し設定する
PCのコマンドプロンプトで
adb shell android-gadget-service enable ssh
adb shell mkdir /home/phablet/.ssh
adb push c:/Temp/id_rsa.pub /home/phablet/.ssh/authorized_keys
adb shell chown -R phablet.phablet /home/phablet/.ssh
adb shell chmod 700 /home/phablet/.ssh
adb shell chmod 600 /home/phablet/.ssh/authorized_keys
4)teraterm でNexus5にアクセス
ttermpro.exe 192.168.1.XXX:22 /auth=publickey /user=phablet /passwd=*** /keyfile=C:\Temp\id_rsa
4.システムのチューニング
以下、teraterm で操作
1)ルートをr/wにする
readonlyなのでr/wで再マウントする。
sudo mount -o rw,remount /
rebootすると元に戻るので、boot 時に実行するよう設定する。
sudo vi /etc/rc.local
mount -o rw,remount /
2)swap領域を拡張する
swap領域が小さいので32kb->256kbに拡張する。
cd /userdata
sudo swapoff SWAP.img
sudo fallocate -l 262144 SWAP.img
sudo mkswap SWAP.img
df
sudo swapon SWAP.img
5.システムイメージを拡張する
この時点でルート領域の使用率は88%
/dev/loop0 2016128 1675220 238508 88% /
1)システムイメージを2G->2.5Gに拡張する
sudo losetup /dev/loop0
sudo blockdev --getsize64 /dev/loop0
sudo truncate -s 2684354560 /userdata/system.img
sudo losetup --set-capacity /dev/loop0
2)Nexus5をリカバリモードにする。
電源キーを長押しして電源を切る。
ボリュームダウンキーと電源キーを同時押しする。
Recovery modeを選択し、電源キーを押す。
3)実際に拡張する
PCとNexus5をUSBケーブルで接続する。
PCのコマンドプロンプトで、
adb devices
List of devices attached
04acafd5f0c7XXXX recovery
adb shell losetup /dev/block/loop0 /data/system.img
adb shell resize2fs -f /dev/block/loop0
4)リブート
システム領域の拡張が終わったのでリブートする。
この時点でルート領域は2.5GBになり、使用率は69%になった。
/dev/loop0 2581600 1676320 774208 69% /
6.rfriendsのインストール
以下、teraterm で操作
1)aptcacheディレクトリを変更
aptcacheディレクトリの容量が少ないので、ホームディレクトリに変更する。
mkdir -p ~/aptcache
sudo mount --bind /home/phablet/aptcache /var/cache/apt
sudo vi /etc/rc.local
mount --bind /home/phablet/aptcache /var/cache/apt
2)システムを更新する
sudo adduser _apt --force-badname
すべてreturnで応答
sudo apt update
#2021/01/14 現在upgradeするとUnityがエラーになるので実行しない。(調査中)
#sudo apt upgrade
3)rfriendsをインストールするスクリプトをwgetし実行する。
cd ~/
wget http://rfriends.s1009.xrea.com/files/rfriends2_ubuntu_touch.sh -O rfriends2_ubuntu_touch.sh
sh ./rfriends2_ubuntu_touch.sh
この時点でルート領域の使用率は81%になった。
/dev/loop0 2581600 1967236 483292 81% /
6)rfriends2/tmpをtmpfsにマウント
sudo vi /etc/fstab
# rfriends tmpディレクトリをtmpfsにマウント
tmpfs /home/phablet/rfriends2/tmp tmpfs defaults,size=320m,noatime,mode=0777 0 0
sudo mount -a
7)rfriendsの実行
cd
cd rfriends2
sh rfriends2.sh
[9-1]でrfriendsを最新にする。
7.sambaのインストール
sambaをインストールし、/home/phablet/rfriends2/usrを公開する。
セキュリティは考慮せず、ゲストでアクセス可とする。
1)sambaをインストールする
sudo apt -y install samba
2)sambaを設定する
sudo nano /etc/samba/smb.conf
以下の5行を最後に追加
[phablet]
path = /home/phablet/rfriends2/usr
read only = No
guest ok = Yes
force user = phablet
3)sambaを再起動する
sudo service smbd restart
sudo service nmbd restart
この時点でルート領域の使用率は84%になった。
/dev/loop0 2581600 2042392 408136 84% /
8.sshとtelnet
rsa鍵でsshでアクセスできた方は、この項は飛ばしてください。
rsa鍵によるsshは面倒、家庭内なのでパスフレーズによるsshまたはtelnetで十分という方は以下を試してみてください。
UbuntuTouchの場合、パスフレーズによるsshはうまくいきません。
以下の設定を変えてもダメでした。どなたかご存じの方いませんか。
/etc/ssh/sshd_config
PasswordAuthentication yes
/etc/init/ssh.override
2)telnet
以下のインストールによりtelnetによるアクセスが可能になります。
sudo apt -y install telnetd xinetd
sudo apt -y install inetutils-inetd
sudo nano /etc/inetd.conf
以下の2行を最後に追加
# Telnet
telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd
sudo /etc/init.d/inetutils-inetd restart
9.おわりに
以上で、Nexus5にUbuntu Touchをインストールし、PCからsshアクセス、sambaアクセスできるようになりました。また、rfriendsも動作していますので、キー設定、デイリー処理設定を行えば、USB充電ケーブルを接続してほおっておくだけで自動でラジオ番組の録音ができます。
では、Nexus5とrfriendsでたのしいラジオライフを!
以上