rfriendsでラジオ録音

ラジコ、らじるらじる、タイムフリーのラジオ番組を録音

Google Nexus5 に Ubuntu Touch をインストールする。(第4版)

Google Nexus5 に Ubuntu Touch をインストールする。(第3版)


第1版 2020/4/28
第2版 2020/5/01
第3版 2020/5/11
第4版 2020/5/17

再度、実際にインストールして加筆修正しました。

初版は以下
https://rfriends.hatenablog.com/entry/2020/04/28/113616

 

Ubuntu Touch は、UbuntuベースのOSで、UBportsコミュニティーにより開発されています。
https://ubports.com/

 

 

 

注意事項
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.4.18-beta.exe(Windows)をダウンロード

https://ubuntu-touch.io/get-ut


3)Nexus5を6.0.1にする

必要であれば、Googleの公式サイトの6.0.1のfirmwareflashする。
6.0.1の方は、この項を飛ばしてください。


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

PCのコマンドプロンプトでデバイスの確認


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.4.18-beta.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鍵を作成する

設定 SSH鍵生成 RSA 生成
公開鍵の保存
秘密鍵の保存

公開鍵:id_rsa.pub
秘密鍵:id_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


2)システムを更新する

sudo adduser _apt --force-badname
sudo apt update
sudo apt upgrade


3)rfriendsをダウンロードし展開する。

cd
wget rfriends.shop/files/rfriends2_latest_script.zip
unzip rfriends2_latest_script.zip


4)ツールをインストールする

cd
cd rfriends2
sh ex_tools.sh


5)ffmpegをインストールする。

標準でインストールされるものは古いので新しいバージョンをインストールする

https://www.johnvansickle.com/ffmpeg/


cd
sudo apt -y install xz-utils
rm -R ffmpeg_tmp
mkdir ffmpeg_tmp
cd ffmpeg_tmp

wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-armhf-static.tar.xz
tar Jxfv ffmpeg-release-armhf-static.tar.xz
cd ffmpeg-*
sudo cp -p ffmpeg /usr/bin
sudo cp -p ffprobe /usr/bin


この時点でルート領域の使用率は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.sshtelnet


rsa鍵でsshでアクセスできた方は、この項は飛ばしてください。


rsa鍵によるsshは面倒、家庭内なのでパスフレーズによるsshまたはtelnetで十分という方は以下を試してみてください。


1)パスフレーズによるssh

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でたのしいラジオライフを!


以上