Ubuntu Touch在小米note3上的移植记录二
前言
上篇文章我们准备好了编译前的所有工作,开始编译吧。
一、开始编译
1、先到工作目录的上一个目录创建一个temp临时目录。避免重复编译时,重复下载内核源码,以及重复编译工程。
mkdir ../temp
2、然后开始编译三部曲
./build.sh -b ../temp
./build/prepare-fake-ota.sh out/device_jason.tar.xz ota
./build/system-image-from-ota.sh ota/ubuntu_command out
第二需把jason换成自己设备对应的代号
第三步会有一些错误,忽略就好不影响结果。
编译成功后我们能早工作目录下的out文件夹看到输出结果:
rootfs.img boot.img
我们需要把rootfs.img 重命名为ubuntu.img
。
二、刷入boot.img
1、刷入boot.img
上一波已经成功生成我们想要的镜像文件了,主要是boot.img 和ubuntu.img 这两个。
cd 到out
目录下面,执行
fastboot flash boot ./boot.img
成功刷入boot.img
2、push ubuntu.img 到/data下
刷入boot后,进入到recovery模式,手机连接电脑,把out目录下的rootfs.img重命名为ubuntu.img,然后执行
adb push path_to_ubuntu.img /data
通过adb把ubuntu.img 上传到手机的/data目录下,然后reboot。
3、无法正常开机?
这是正常情况,手机usb连接电脑,你会看到有个usb网络,打开终端工具连接
ssh phablet@10.15.19.82
我们已经成功启动到Ubuntu Touch.
三、启动到UI
前面做完了还不能正常开机,还需要打两个补丁。
1、
sudo mount -o remount,rw /
sudo nano /usr/sbin/mount-android.sh
/etc/init/lxc-android-config.override
2、
sudo mount -o remount,rw /
sudo nano /usr/sbin/mount-android.sh
mount-android.sh
然后
sudo -i # And enter your password
DEVICE=[CODENAME]
cat /var/lib/lxc/android/rootfs/ueventd*.rc /vendor/ueventd*.rc | grep ^/dev | sed -e 's/^\/dev\///' | awk '{printf "ACTION==\"add\", KERNEL==\"%s\", OWNER=\"%s\", GROUP=\"%s\", MODE=\"%s\"\n",$1,$3,$4,$2}' | sed -e 's/\r//' >/etc/udev/rules.d/70-$DEVICE.rules
执行完重启。恭喜打开新世界大门!
另外
在push ubuntu.img 的过程中,发现一直失败,从虚拟机把文件拷贝出来,用windows下的adb工具推送即可成功!
到此移植结束,想要和我一起交流的请加Q23916273007,交流探讨、一起学习!