About installing /e/ from Linux. At all possible for Motorola devices?

Has anyone actually ever succeeded at installing /e/ on a Motorola, using a Linux host?

Trying to follow the payton install instructions, which does mention Windows, Linux and macOS, and jumping deep down the rabbit hole, brings me to the conclusion that any successful flashing of /e/ requires installation of Motorola drivers only available for Windows and macOS. Could someone prove me wrong, please?

Discourse will unfortunately not let me make me post more than the above, since I’m a new user.

Additional information, as a reply to my first post. I hope this will be allowed by Discourse.

My target platform is a Moto X4 (payton), XT1900-7, and the problem I encounter is very similar to the one in this post about a Moto G7, which was only successfully worked around by switching to macOS.

Android version: 9 (PPWS29.69-37-5)
Developer mode, USB debugging and OEM unlocking enabled

fastboot version 31.0.3-7562133
Debian Bookworm, Linux 5.14.0-1-amd64.
No Motorola drivers, obviously.

I get stuck at step 4 of Unlocking the Bootloader from the payton instructions linked above. I.e. when running fastboot --verbose oem get_unlock_data, no output at all is given. Instead fastboot hangs (for hours, presumably forever) until the USB cable is unplugged.

All prior steps work. Rebooting into bootloader is successful, and listing devices using fastboot shows:

# fastboot devices
MAS00KED00      fastboot

I would expect the failing step to have successfully returned the codes needed to obtain the keys using Motorola’s support web, as described in step 4.

Am I reading the instructions correctly? One thing I find unclear is when TWRP should be installed. That could be better explained. My understanding is that the unlocking likely needs to have happened prior to installing anything, including TWRP. Is safe to assume that how it works?

If running strace on fastboot, I learn that it is stuck on ioctl(4, USBDEVFS_BULK where fd 4 is /dev/bus/usb/001/023 (Bus 001 Device 023: ID 22b8:2e80 Motorola PCS Fastboot payton S). Neither SIGTERM or SIGKILL manages to end the fastboot process, which I guess means that the ioctl() in question is stuck within kernel-code rather than in userland.

Figuring out which kernel module is actually used is beyond what I’ve done. Much because I don’t know if it would help much to know that.

Unfortunately I have not been able to get closer than this. I’m completely new to this world of de-infecting filthy phones, having been lucky enough to have had a working SailfishOS device not starting to break apart until now. Any helpful comments are welcome!

While I did read quite a few other forum posts, I believe the linked one about Moto G7 is the most relevant one.

Motorola’s devices look like having a compatibility issue with Linux in general. Moto G7 Plus (lake) also gets stuck when you run fastboot boot twrp.img after unlocking the bootloader on Ubuntu.

Has anyone actually ever succeeded at installing /e/ on a Motorola, using a Linux host?

… I can only speak for older Motos of the 2016 Generation, they’re easy to flash, no linux issues (usb device detection, fastboot etc)…

I get stuck at step 4 of Unlocking the Bootloader … fastboot --verbose oem get_unlock_data … hangs

there is a list of CID (carrier ids?) in a linked xda thread at Moto X4 - payton - bootloader unlock failure - #12 by aibd that are, according to the post, unable to be unlocked

Am I reading the instructions correctly? … My understanding is that the unlocking likely needs to have happened prior to installing anything, including TWRP

yes, without unlocking you can’t write partition contents (or even just boot into twrp)

there is a payton custom rom channel you could ask questions at if this thread or forum has no solution for the payton → https://t.me/motox4_dev

As it turned out, replacing the problematic machine brought on success. With the following configuration it is possible to execute fastboot without it blocking:

HP EliteBook 820 (G2)
Debian Bullseye, Linux 5.10.0-8-amd64
As sole kernel on bare metal, without hypervisor or competing virtualization.

So it seems to not be an issue with Linux as such, but something more intricate which I do not intent to spend any further time on investigating. My strongest suspect is that the problem might be related to having several virtual machines sharing the same hardware and being configured to have concurrent USB access.

Thanks @gnection and @tcecyk for your replies! For what it’s worth, trying to retrieve the CID resulted in fastboot getting stuck on the original host in exactly same way as when attempting to retrieve oem unlock codes.

which hypervisor did you run Bookworm in, something special to the usb passthrough?

(thanks Manoj :slight_smile: for reopening the thread)

The failing host is an ancient Debian Jessie installation with virtualbox 4.3.36-dfsg-1+deb8u1 including its extension pack (unknown version). It is purely used for hosting virtual machines. While the plan is to decommission this legacy software before it becomes vintage, it does actually work mostly flawlessly. No previous USB devices have ever failed, and I have used quite a few different ones. Devices are selected for passthrough to the relevant host based on product and vendor id.

I did leave these details out of the initial post, since the forum needed a post covering usefulness of Linux in general for installing /e/ on Motorola devices, as opposed to my individual environment. I’m glad we have concluded it to be possible.

mentioning virtualbox with usb passthrough based on vendor id will help others figure it out quickly if they’re stuck… I wonder, did you use the vb extension-pack? it offers a virtualized usb 2.0/3.0 hub beside the 1.1 in the base package

That’s a highly relevant detail. Thanks for remembering it! Previous post updated.

Late to the party. Still relevant, I hope

1 Like