使用 Ubuntu Touch (UBports)

Gao

使用 Ubuntu Touch

Ubuntu Touch是Cannonial 开发的基于Ubuntu的操作系统, 于2017年停止维护, 后由Ubport进行维护.

看了Ubuntu Touch支持的操作系统, 目前能看到性能最好的是Google Pixel 3a

购买了一台Pixel 3a安装ubuntu touch

安装流程

  1. 解锁bootloader
# enable usb debug adb reboot-bootloader # after boot to bootloader fastboot flashing unlock
  1. 使用操作系统镜像刷新到操作系统版本 PQ3B.190801.002 下载地址: https://developers.google.com/android/images#sargo

  2. 安装ubports

brew install ubports
  1. 使用ubport安装ubuntu touch

  2. 安装成功

使用方式

  1. 解锁usb调试模式

    • 右滑打开菜单
    • System Setting
    • About
    • 进入底部Developer Mode
    • 启用Developer Mode
  2. 进入系统

adb shell # 启用ssh服务 android-gadget-service enable ssh # or service ssh start
  1. 启用容器 Ubuntu Touch使用Libertine容器来运行服务
# 显示容器列表 libertine-container-manager list # 创建容器 libertine-container-manager create -i focal -n 'Ubuntu 20.04' -d focal # 在容器中安装软件 libertine-container-manager install-package -p git # 更新容器 libertine-container-manager update -i focal # 运行容器中的程序 libertine-launch -i focal /bin/bash # 进入容器 libertine-container-manager exec -i <container name> -c "/bin/bash"

可以在容器中安装ubuntu软件, 支持ubuntu系统20.04

  1. 安装Erlang/Elixir
cd /tmp wget https://packages.erlang-solutions.com/erlang-solutions_2.0_all.deb dpkg -i erlang-solutions_2.0_all.deb apt-get update apt-get install esl-erlang -y apt-get install elixir -y mix local.hex --force mix local.rebar --force mix archive.install hex phx_new --force
  1. 安装node.js
curl -sL https://deb.nodesource.com/setup_18.x | bash - apt-get update apt-get install nodejs -y

Locations

For every container you create, two directories will be created:

A root directory ~/.cache/libertine-container/CONTAINER-IDENTIFIER/rootfs/ and

a user directory ~/.local/share/libertine-container/user-data/CONTAINER-IDENTIFIER/

Errors

When launch to container, get these error

phablet@ubuntu-phablet:~$ libertine-launch -i focal /bin/bash groups: cannot find name for group ID 32011

Fix:

# add line to below to `/etc/passwd`
phablet:x:32011:32011:32011:/home/phablet:/bin/bash

# add line below to `/etc/group`
phablet:x:32011: