Developer ports Ubuntu Touch to the Xiaomi Redmi Note 7
There was a time when you could slap any operating system on the mythical HTC HD2, be it Android, Ubuntu, or even Windows RT. The Samsung Galaxy S III and Galaxy Note II are gradually taking up that mantle, as it is possible to install regular GNU/Linux distributions on them with very little effort. While you can satisfy the urge of having a “true Linux phone” by getting the Librem 5 or PinePhone, their hardware configurations are unfortunately dated. Several community-driven projects, such as UBports and postmarketOS, are trying to bridge the gap between regular consumer Android devices and mainstream Linux distributions, and Project Halium plays a huge role in this development scene. Now, XDA Recognized Developer erfanoabdi has decided to dip his toe in this particular domain, as he has ported Ubuntu Touch to the Xiaomi Redmi Note 7.
A notable name in the Android modding community, erfanoabdi is known for his works on the Generic System Image (GSI) ports as well as maintaining LineageOS for various Motorola phones. According to the developer, the existing port of Ubuntu Touch for the F(x)tec Pro1 by Halium developer NotKit helped him to get started with the “hacking” job. Danct12, who previously ported Ubuntu Touch to the Xiaomi Redmi 4X, is responsible for creating the preliminary device trees that are used by erfanoabdi in this journey. Danct12 has also posted a teaser showing Ubuntu Touch being booted on the Redmi Note 7.
— Danct12 (@RealDanct12) March 17, 2020
erfanoabdi has already uploaded pre-built images, but the port is nothing but a proof of concept at this moment. The touch and Hardware Composer (display with acceleration) are working, and you can even utilize the Wi-Fi, but that’s about it. If you want to bite the bullet, then you have to flash erfanoabdi’s self-compiled LineageOS 16.0 build for the Redmi Note 7 first to populate the vendor partition, followed by the pre-compiled system.img, dtbo.img, and hallium-boot.img from the aforementioned mirror. Afterward, you must get your hands on the patched UBports rootfs and install it using the Halium installer script. If everything goes right, you should be able to SSH into your phone at this stage. However, setting up the appropriate mountpoints and starting LightDM (i.e. the graphical display manager) still require a handful of shell commands.
Due to the introduction of Project Treble, a major rearchitecting of Android to separate the Android framework code from the hardware vendor implementation, Halium developers have to rewrite a major portion of libhybris (a compatibility layer to reuse the existing Android drivers). Nonetheless, this reshaping might be helpful to turn the Ubuntu Touch distribution to a GSI in the near future, as hinted by erfanoabdi.