[solved] Mx4 - Installer blocked at "waiting for recovery mode"



  • Hi everybody,

    I own a Meizu mx4 that i long time ago flashed with Android (when Ubuntu touch was abandonned), but its the 'ubuntu edition'.

    I now want to switch it back to Ubuntu.

    I followed the guide this one to flash Ubuntu touch 'legacy' on it, and it works perfectly.
    But now, im stuck with it.

    I run Ubports Installer last version (0.1.21) on Ubuntu 18.04.
    My device is recognized by the installer, but its stucked on "waiting device to enter recovery mode'.
    The phone is blocked on the ubuntu screen, and the 'black bar' doesnt move at all. See the picture.

    alt text

    When i try to enter recovery mode without the Ubports installer, its the same (stucked at this screen).
    I tried on another PC, with another usb cable. Same.

    If you have any idea, thanks !



  • @slayne try installer version 0.1.12 and get back to us.



  • Thx for the tip.
    I tried with the oldest installer, but its still the same issue.

    Then i reinstalled Ubuntu touch with Sp flash tools, tried again, and still unable to enter recovery mode.

    Is it a known bug ?
    Is there another way to install Ubports Ubuntu touch ? An image i could flash with Sp flash tools ?



  • @slayne I've asked about your issue in the Spanish group (in Telegram) because I remember reading about some people succeeding with MX4 installation. Let's see if someone replies.



  • Thanks.

    I looked a bit around, and if recovery mode seems broken, fastboot mode works perferctly.

    I found an old topic with another way to install ubports : this one

    This command line seems interesting :
    sudo ubuntu-device-flash --server=http://system-image.ubports.com touch --device=arale --channel=15.04/stable --bootstrap --wipe

    But i cant find any recovery image from ubports for device mx4 arale (all links are dead, although its only 6 months old).
    If anydoby has a link for a recovery img, i'll take it !



  • @slayne Was just looking at something similar

    sudo ubuntu-device-flash --server=http://system-image.ubports.com touch --device=arale --channel=15.04/stable --revision=version_3

    But this is not something I yet know much about @advocatux might know or be able to give advice on this.
    Edit Have changed the script to what I think is correct. You could just try running it and see what happens



  • Thats what i got :

    slayne@slayne-PcAsus:~$ sudo ubuntu-device-flash --server=http://system-image.ubports.com touch --device=arale --channel=15.04/stable --revision=version_3
    invalid argument for flag `--revision' (expected int): strconv.ParseInt: parsing "version_3": invalid syntax

    I tried without the 'revision' :

    slayne@slayne-PcAsus:~$ sudo ubuntu-device-flash --server=http://system-image.ubports.com touch --device=arale --channel=15.04/stable
    2018/08/20 09:23:39 Device is |arale|
    2018/08/20 09:23:39 Flashing version 3 from 15.04/stable channel and server http://system-image.ubports.com to device arale
    2018/08/20 09:23:39 Cannot cleanup tree to ensure clean deploymentexit status 1

    Hope that helps.



  • @slayne Ok you got as far as that should so something else is up. I'll try and get someone over to you.



  • @Slayne the proper revision number format is 3 not version_3 (in that example)

    I think it's better to go directly to 16.04 RC than to 15.04 stable now.

    Put your phone in fastboot mode, plug it to your computer, and run ubuntu-device-flash --server=https://system-image.ubports.com touch --device=arale --channel=ubports-touch/16.04/rc --revision=9 --bootstrap --wipe

    Let's see if that works, and if it doesn't, report back :)

    Edit to fix the revision number format. Sorry :)



  • This is just for general information: the recovery images are here http://cdimage.ubports.com/devices/



  • Ok, thx for your time, i report back.

    1. When i copy/paste your last command line, i got the response :
      invalid argument for flag `--revision' (expected int): strconv.ParseInt: parsing "version-9": invalid syntax

    2. I tried without the "--revision=version-9". I got this :
      sudo ubuntu-device-flash --server=https://system-image.ubports.com touch --device=arale --channel=ubports-touch/16.04/rc --bootstrap --wipe
      2018/08/20 12:25:59 Device is |arale|
      2018/08/20 12:26:00 Flashing version 9 from ubports-touch/16.04/rc channel and server https://system-image.ubports.com to device arale
      376.66 MB / 376.66 MB [====================================] 100.00 % 1.70 MB/s
      /home/slayne/.cache/ubuntuimages/pool/keyring-4c4e7ef380ebcfa2c31084efa199138e93bfed8fc58aa3eb06bdf75a78af9b57.tar.xz
      /home/slayne/.cache/ubuntuimages/pool/device-c746103f205781974a7b89aff29cdf3dd450879f119f672d3a6f62b67ed783c5.tar.xz
      2018/08/20 12:29:55 Can't flash recovery image

    I went pretty well until the last line !
    On the phone on recovery mode, i read "image is not a boot image".

    We're getting close, i hope.



  • @slayne about point 1, yes my bad, I thought that's the proper number format (as seeing here http://system-image.ubports.com/ubports-touch/16.04/rc/arale/) but it's just the number! Anyway, without any version number it should default to the latest version available.

    About point 2, I've never tried to play with recovery images directly so maybe we should wait to someone with more experience with it

    @UniSuperBox are you there? :)



  • Well, no luck this afternoon.

    I flashed 3 differents recovery.img for Arale found on the web, with none i could access to a functionnal recovery mode.

    I tried to push files with fastboot mode, every time it ends with "image is not a boot image", 15.04 or 16.04, the same.

    To try different recovery : sudo fastboot flash recovery recovery.img
    Phone verified with : adb devices
    I tried:
    sudo ubuntu-device-flash --server https://system-image.ubports.com touch --channel ubports-touch/15.04/stable --bootstrap
    sudo ubuntu-device-flash --server=https://system-image.ubports.com touch --device=arale --channel=ubports-touch/16.04/rc --bootstrap --wipe
    sudo ubuntu-device-flash --server=http://system-image.ubports.com touch --device=arale --channel=15.04/stable --wipe

    Well, im stucked... So frustrating !



  • @slayne I've found a cached page [*] with "old" Ubuntu Touch instructions and it seems you need to run the command twice, one with --bootstrap and then without that option

    [*] https://webcache.googleusercontent.com/search?q=cache:A95HHIsDW_YJ:https://docs.ubuntu.com/phone/en/devices/installing-ubuntu-for-devices+&cd=1&hl=en&ct=clnk&gl=es



  • @advocatux said in Mx4 - Installer blocked at "waiting for recovery mode":

    it seems you need to run the command twice, one with --bootstrap and then without that option

    I guess so are referring to this part of the instructions:

    "Tip: The --bootstrap option is normally only used when installing Ubuntu the first time. It requires that the device is booted to the bootloader. After Ubuntu is installed, one uses the ubuntu-device-flash command (without the --bootstrap option) while the device is booted to Ubuntu."

    What the above means is that the --bootstrap is only necessary to install to a device booted into the bootloader the first time that Ubuntu Touch is installed on said device. When there is already a version of Ubuntu Touch on the device and the device is booted normally, then the --bootloader option should no longer be used.

    If the --bootloader option succeeded, then there is no need to run the command again without the option.



  • Here's the main part, adapted to UBports.

    • Power the device off with the Power button.
    • Reboot into the bootloader by pressing the correct physical button combination for your device
    • Install Ubuntu using your selected channel. (I'm going to use 16.04 RC for this example, but anyone can change rc for other option)
    • Run ubuntu-device-flash touch --channel=ubports-touch/16.04/rc --bootstrap
      Interesting [*]: the original command in that cached page doesn't add the device model or the server, it should be auto-detected hmm you could try that and if it doesn't work, add the device & server parameters
    • Tip: The --bootstrap option is normally only used when installing Ubuntu the first time. It requires that the device is booted to the bootloader. After Ubuntu is installed, one uses the ubuntu-device-flash command (without the --bootstrap option) while the device is booted to Ubuntu.
    • Wait until the reboot is done. In most cases no input from you is required.
      The process takes some time. First, an appropriate image is downloaded to ~/.cache/ubuntuimages.
    • Tip: Occasionally delete the cache of downloaded images (in ~/.cache/ubuntuimages) to free up disk space with: ubuntu-device-flash --clean-cache touch.

    Then, the parts of the images are deployed to the device. Ubuntu is deployed to the devices as a “recovery” image. Then, the device boots from the recovery image and installs Ubuntu as the normal OS. Finally, the device boots into Ubuntu for devices.

    [*] Just as an example, this is the original command and its output in that page:

    $ ubuntu-device-flash touch --channel=ubuntu-touch/stable/ubuntu --bootstrap
    2015/02/16 09:50:12 Expecting the device to be in the bootloader... waiting
    2015/02/16 09:50:12 Device is |mako|
    2015/02/16 09:50:12 Flashing version 1 from ubuntu-touch/stable/ubuntu channel and server https://system-image.ubuntu.com to device mako
    


  • @arubislander thank you, I was preparing a more detail answer to what I said :)



  • @advocatux I saw that right after I pressed submit :)



  • @arubislander no problem, it's better to have extra instructions than none :D



  • @advocatux said in Mx4 - Installer blocked at "waiting for recovery mode":

    Interesting [*]: the original command in that cached page doesn't add the device model or the server, it should be auto-detected hmm you could try that and if it doesn't work, add the device & server parameters

    When server is omitted, then the Canonical servers are used by default. Since these are no longer up (I think?) I would expect the command to fail without it.


Log in to reply
 

Looks like your connection to UBports Forum was lost, please wait while we try to reconnect.