UBPorts Installer and stock unlocked Nexus 5 - can't install

  • Greetings. I brought my old Nexus 5 out of storage to try Ubuntu Touch / UBPorts, but I can't get the latest beta UBPorts installer to work. It recognizes the phone when I plug it in; it reboots the phone to the bootloader, and then... nothing. It just sits there. I've tried this on both my MacOS laptop and a Debian desktop. Same deal. I'm more than technically proficient to do a "manual" install instead, if possible, but reading the UBPorts Github repo, I can't really discern upon first glance where I could fetch an img file, for example.

    I looked at the other post regarding the Nexus 5, but that was on Windows, so not really applicable to me. 🙂

    Anyone have pointers on how I could skip the UBPorts installer and do a manual install? Or, barring that, anything I should try with UBPorts Installer either on MacOS or Debian?


  • @touchyfeely Dev mode etc on USB debugging all done ? Obvious but just checking. You could try version 0.1.12 of the installer and different USB cables before that.

  • Is it stated that the bootloader is unlocked on the bootloader screen?

    "Unlocked" phones as they are advertised, refers to carrier/SIM locking of phones, not to the bootloader. You must have the bootloader unlocked to install Ubuntu onto the phone.

  • @Lakotaubp Yup, developer mode is enabled, USB debugging enabled. The UBPorts installer sees the Nexus 5, and once I select my install options - 15.04/stable, wipe device, eye candy, for example - the phone boots to the bootloader and then it just sits there.

    Also, the USB cable works fine. I reflashed the Nexus 5 back to stock Android 6.0.1 from the Google factory images.
    @dobey Bootloader is definitely unlocked. I used to run Cyanogenmod on it (heh) with TWRP. But I reflashed back to stock Android and recovery just in case that was causing issues with the UBPorts installer.

  • And just to add; there is no SIM card in the phone. This phone isn't my "daily driver" when it comes to phone calls and texts. But, like I said, it's been unlocked and it has had Cyanogenmod and LineageOS on it before. It's running stock Android 6.0.1 from the factory image supplied here: https://developers.google.com/android/images .

    Do I need a SIM in the phone for this to work? I would certainly hope not. 🙂

  • @touchyfeely for Mac, the usual problem is that the tools are not in the $PATH of the user.

    You can try to run sudo open -a ubports-installer too

    For Debian, I've found that sometimes the appimage package works better than the deb package 🙂

  • No, a SIM is not required.

    And there is no zip to install as you would for Lineage or other Android ROMs, as UT is not an Android ROM.

    Under Debian, you do have the adb and fastboot tools installed and in $PATH correct? And fastboot devices and adb devices show the device, when in appropriate modes of the phone?

  • @advocatux I've installed the android platform tools via brew on MacOS. From my a terminal I can certainly run adb or fastboot. But, here's the thing: if it was a PATH issue, I would assume that UBPorts wouldn't call fastboot to reboot the device to the bootloader. But it does, but I'm open to any suggestions.

    @dobey Yes, I just browsed the system-image.ubports.com site, and I see it's some combination of json and .xz files; neat. 🙂 I have adb and fastboot in the standard PATH from the android platform tools I installed. However, I'm using the SNAP version, which, if I understand correctly is like Flatpak in that it's all self-contained.

  • @touchyfeely when the installer calls fastboot, does it work properly? If it fails, is there anything relevant in the installer log?

    I can only add that when all the necessary software is in place, it could be a problem with the usb cable. I can't count how many installation have failed for that reason (sometimes using another usb port also helps)

  • @advocatux I've used this same cable to reimage/flash the Nexus 5. The cable works, AFAICT. 🙂 The installer recognizes the Nexus 5. I select my install options, and then the phone reboots to the bootloader. I think that's from calling fastboot to reboot the phone to the bootloader, correct?

    Where would I find the UBPorts Installer log for Mac? I'll pull that and see if that explains why it's not working.

  • @touchyfeely I don't know where the installer puts the log in a Mac, sorry. Can you look for "ubports" or "ubports-installer"?

    To give you a general idea, deb log is in ~/.cache/ubports, snap log is in ~/snap/ubports-installer/current/.cache/ubports and in Windows is some place in %APPDATA%

  • @advocatux I'm not in front of the Macbook right now, but I'll see what the logs say when I am, and I'll post here.

  • @advocatux Well, I'll certainly try another USB cable - just in case - but, as I pointed out earlier, if it really was the cable, I would think it would've given me grief when I reflashed the Nexus 5 back to the stock Android 6.0.1 from Google, right? Or, for instance, when I flashed LineageOS on it yesterday, right?

  • @touchyfeely from my experience helping in the Install group, I can tell you that ubports-installer is a lot more picky with usb cables than any other installer 🙂

  • @advocatux Here's the output from a terminal from macOS 10.13 (High Sierra):

    gondor:~ wls$ which adb
    gondor:~ wls$ which fastboot

    gondor:~ wls$ adb devices
    List of devices attached

    • daemon not running; starting now at tcp:5037
    • daemon started successfully
      093f6271006d0ccd device

    The UBPorts log is under /Users/<username>/Library/Caches/ubports/ubports-installer.log

    From the log:

    {"level":"debug","message":"adb shell: echo 1","timestamp":"2018-10-13T01:03:08.934Z"}
    {"message":"Command failed: /var/folders/lj/hr4c1zyx4hq5g3hxkhv3vm6m0000gn/T/.com.ubports.installer.K7e0Ud -P 5038 shell echo 1\nerror: no devices/emulators found\n","stack":"Error: Command failed: /var/folders/lj/hr4c1zyx4hq5g3hxkhv3vm6m0000gn/T/.com.ubports.installer.K7e0Ud -P 5038 shell echo 1\nerror: no devices/emulators found\n\n at ChildProcess.exithandler (child_process.js:282:12)\n at emitTwo (events.js:125:13)\n at ChildProcess.emit (events.js:213:7)\n at maybeClose (internal/child_process.js:921:16)\n at Socket.stream.socket.on (internal/child_process.js:348:11)\n at emitOne (events.js:115:13)\n at Socket.emit (events.js:210:7)\n at Pipe._handle.close [as _onclose] (net.js:549:12)","killed":false,"code":1,"signal":null,"cmd":"/var/folders/lj/hr4c1zyx4hq5g3hxkhv3vm6m0000gn/T/.com.ubports.installer.K7e0Ud -P 5038 shell echo 1","level":"debug","timestamp":"2018-10-13T01:03:09.051Z"}
    {"level":"debug","message":"adb shell: echo 1","timestamp":"2018-10-13T01:03:10.064Z"}
    {"level":"debug","message":"adb shell: getprop ro.product.device","timestamp":"2018-10-13T01:03:10.226Z"}
    {"level":"debug","message":"getprop: hammerhead","timestamp":"2018-10-13T01:03:10.408Z"}
    {"level":"debug","message":"adb shell: cat /etc/system-image/channel.ini","timestamp":"2018-10-13T01:03:12.095Z"}
    {"level":"debug","message":"adb shell: echo 1","timestamp":"2018-10-13T01:03:28.076Z"}
    {"level":"debug","message":"reboot to bootloader","timestamp":"2018-10-13T01:03:28.277Z"}
    {"level":"debug","message":"reboot to bootloader [DONE] err:null","timestamp":"2018-10-13T01:03:28.868Z"}
    {"level":"debug","message":"checking password","timestamp":"2018-10-13T01:03:33.845Z"}
    {"level":"debug","message":"correct password","timestamp":"2018-10-13T01:03:34.969Z"}
    {"level":"debug","message":"fastboot: wait for device","timestamp":"2018-10-13T01:03:34.971Z"}

  • It's also worth noting that the "Report a Bug" button on the installer, at least on my Macbook, doesn't do anything you'd expect - like, open a webpage to report a bug.

  • Also, to note, while UBPorts Installer is waiting, I can fire up a terminal and run the following:

    gondor:~ wls$ fastboot devices
    093f6271006d0ccd fastboot

  • So, the work-around I mentioned above actually works. After trying the SNAP UBPorts Installer on my Debian Sid box, and essentially getting the same results as the macOS counterpart, I decided to try this:

    wls@rivendell:~/Downloads$ sudo /usr/bin/ubuntu-device-flash --server=http://system-image.ubports.com touch --device=hammerhead --channel=ubports-touch/16.04/stable --bootstrap --wipe
    2018/10/12 20:24:03 Device is |hammerhead|
    2018/10/12 20:24:04 Flashing version 3 from ubports-touch/16.04/stable channel and server http://system-image.ubports.com to device hammerhead
    56.60 MB / 56.60 MB [====================================================================================================================================================] 100.00 % 8.42 MB/s
    378.89 MB / 378.89 MB [==================================================================================================================================================] 100.00 % 7.45 MB/s
    2018/10/12 20:25:15 Start pushing /root/.cache/ubuntuimages/ubports-touch/16.04/stable/hammerhead/version-3.tar.xz to device
    2018/10/12 20:25:15 Start pushing /root/.cache/ubuntuimages/gpg/image-master.tar.xz to device
    2018/10/12 20:25:15 Start pushing /root/.cache/ubuntuimages/pool/keyring-4c4e7ef380ebcfa2c31084efa199138e93bfed8fc58aa3eb06bdf75a78af9b57.tar.xz to device
    2018/10/12 20:25:15 Start pushing /root/.cache/ubuntuimages/gpg/image-signing.tar.xz to device
    2018/10/12 20:25:15 Start pushing /root/.cache/ubuntuimages/pool/device-964a84f55b03eca87dacd34dffc9c61c4b50ae471c6b675eafdc2a2eacfad29c.tar.xz to device
    2018/10/12 20:25:15 Start pushing /root/.cache/ubuntuimages/pool/ubports-1e002fd7e685421651a9b8dc15b0147c4460993169acd0519183533f17331c84.tar.xz to device
    2018/10/12 20:25:15 Done pushing /root/.cache/ubuntuimages/gpg/image-master.tar.xz to device
    2018/10/12 20:25:15 Done pushing /root/.cache/ubuntuimages/ubports-touch/16.04/stable/hammerhead/version-3.tar.xz to device
    2018/10/12 20:25:15 Done pushing /root/.cache/ubuntuimages/pool/keyring-4c4e7ef380ebcfa2c31084efa199138e93bfed8fc58aa3eb06bdf75a78af9b57.tar.xz to device
    2018/10/12 20:25:15 Done pushing /root/.cache/ubuntuimages/gpg/image-signing.tar.xz to device
    2018/10/12 20:25:32 Done pushing /root/.cache/ubuntuimages/pool/device-964a84f55b03eca87dacd34dffc9c61c4b50ae471c6b675eafdc2a2eacfad29c.tar.xz to device
    2018/10/12 20:26:22 Done pushing /root/.cache/ubuntuimages/pool/ubports-1e002fd7e685421651a9b8dc15b0147c4460993169acd0519183533f17331c84.tar.xz to device
    2018/10/12 20:26:22 Created ubuntu_command: /root/.cache/ubuntuimages/ubuntu_commands901896083
    2018/10/12 20:26:22 Rebooting into recovery to flash

    And Success! I was able to successfully install 16.04/stable onto my old Nexus 5.

Log in to reply