烧写
生成了三个需要的镜像后,需要用twrp把vendor.img和halium-boot.img分别烧写到vendor分区和boot分区(在烧写前建议格式化system vendor cache davilk cache 这几个分区防止产生影响)
然后去ubport的CI下载最新生成的rootfs,不同的架构的rootfs是不同的,这里提供的是arm64的rootfs
rootfs下载
还需要halium-install安装脚本
脚本
这个脚本有个奇妙的BUG就是passwd指令找不到无限卡死
通过修改functions/distributions.sh得到解决
ut)
echo -n "enabling SSH ... "
sudo sed -i 's/PasswordAuthentication=no/PasswordAuthentication=yes/g' "$ROOTFS_DIR/etc/init/ssh.override"
sudo sed -i 's/manual/start on startup/g' "$ROOTFS_DIR/etc/init/ssh.override"
sudo sed -i 's/manual/start on startup/g' "$ROOTFS_DIR/etc/init/usb-tethering.conf"
echo "[done]"
#注释掉以下两行
#setup_passwd phablet $USERPASSWORD
#copy_ssh_key_phablet
设备进入twrp,运行halium-install烧写镜像
处理完后会自动通过adb把rootfs.img和system.img推送到/data
./halium-install -v -s -p ut ubuntu-touch-android9-arm64.tar.gz system.img
重启见证奇迹!ubuntu亮了!
DEBUG
这个就比较玄学了,本人只跑起来了按键、GPU、还有触摸其他的就不太会了,这里列举几个常用的指令。
ubuntu touch起来以后会建立一个usb有线网
这时可以ssh进去
ssh phablet@10.15.19.82
密码和用户名是一样的
查看内核日志
dmesg
查看系统日志
cat /var/log/syslog
让根目录可写
sudo mount -o remount,rw /
看安卓容器是不是起来了
sudo lxc-info -n android
如果失败可以查看失败的原因
sudo lxc-start -n android -F
容器起来以后可以调用logcat查看哪里崩了
sudo -s
LD_LIBRARY_PATH=/system/lib64 lxc-attach -e -n android -- /system/bin/logcat
杀掉ubuntu touch的图形界面测试libhybris的驱动情况
sudo stop lightdm
EGL_PLATFORM=hwcomposer strace test_hwcomposer
strace test_(各种)
图赏
大体上就是这些了,只是粗略的体验了一下,也只是基本能跑图形,欢迎star和fork~~~
等libhybris全部驱动起来了我就可以开始deepin的移植工作了!
Gayhub项目