Meizu pro 5 From ubuntu OTA15 to last ubports



  • Hello -all,
    I installed ubuntu 15.04 on a Meizu pro 5 Flyme 64 Go, years ago with this method :
    https://forum.xda-developers.com/meizu-pro-5/development/tool-ubuntu-touch-installer-t3469304
    Now I'm interested to migrate to the latest stable UbPorts release.
    Can I do that just changing the repositorys in the phone?



  • The pro5 is on the installer now try that first.



  • thank you @Lakotaubp, for development, (the short story). I tried the installer UBports Installer 0.4.14-beta. First time it failed to flash the microcode with fastboot. I tested adb : I see the device, I log in a terminal. But fastboot don't see any device. Test done after :

    $ adb reboot bootloader
    

    After that the meizu Ubuntu boot screen appear (like @ every reboot).

    But the "fastboot device" command executed in root don't show anything. Even after the command :

    fastboot oem unlock
    

    So, I tested without the option "flashing the microcode" and the installer said "OK it works" but the phone screen said approximatively "error, contact meizu", in several languages. The phone reboot with no issue on the older UbuntuTouch sytem like nothing happens.

    First time I installed ubuntu, (phone was flyme) it was with a script found on a forum, I don't still have.

    Here is the code :

    #!/sbin/sh
    
    #This file is part of Universal Systemless Installer
    #
    #    The Universal Systemless Installer scripts are free software: you can redistribute
    #    it and/or modify it under the terms of the GNU General Public License as published
    #    by the Free Software Foundation, either version 2 of the License, or
    #    (at your option) any later version, w/Systemless Xposed installable zip exception.
    #
    #    These scripts are distributed in the hope that it will be useful,
    #    but WITHOUT ANY WARRANTY; without even the implied warranty of
    #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    #    GNU General Public License for more details.
    sleep 2
    ##########################################################################################
    # Changelog
    ##########################################################################################
    #
    # v0.1b - beta, first public release
    #       -
    # v0.1a - alpha tested and working
    #       -
    
    ##########################################################################################
    # Variables
    ##########################################################################################
    OUTFD="/proc/self/fd/$2"
    ZIPDIR="${3%/*}"
    APP="Ubuntu-Touch Installer"
    AUT="st0rm77"
    VER="0.1b"
    LIC="GPLv2"
    
    ##########################################################################################
    # Cleaning up
    ##########################################################################################
    trap '
    ui_print " "
    ui_print "***********"
    ui_print "Cleaning up"
    ui_print "***********"
    
    ui_print "- Reverting library path"
    PATH=$PATH_ORG
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH_ORG
    
    ui_print "- Unmounting"
    mountpoint -q /system && umount /system
    
    sync
    
    cat /tmp/recovery.log|grep -v "^GR "|grep -v "^EV: ">/external_sd/recovery.log
    
    ui_print " "
    exit
    ' 0 1 2 3 15
    
    ##########################################################################################
    # Functions
    ##########################################################################################
    ui_print(){ printf "ui_print $*\nui_print \n">$OUTFD;}
    
    write_and_verify(){
      target=`find /dev/block/platform -type l -path '*by-name*' -name "$2"`
      ui_print "- Flashing $2"
      dd bs=4096 if=$1 of=$target conv=fsync
      checksum=`md5sum $1|cut -d' ' -f1`
      flashsum=`dd if=$target bs=$(wc -c <$1) count=1|md5sum|cut -d' ' -f1`
      [ "${flashsum:=1}" == "${checksum:=2}" ] \
        && ui_print "- Verifying $2: ok" \
        || { ui_print "! Failed, verify error on $2";exit 1;}
    }
    
    ##########################################################################################
    # Banner
    ##########################################################################################
    ui_print " "
    ui_print "******************************"
    ui_print "    $APP"
    ui_print "        for Meizu Pro 5"
    ui_print "          ver: $VER"
    ui_print " "
    ui_print "      written by: $AUT"
    ui_print "    Licensed under: $LIC"
    ui_print "******************************"
    ui_print " "
    
    ##########################################################################################
    # Formatting and mounting /system
    ##########################################################################################
    #target=`find /dev/block/platform -type l -path '*by-name*' -name 'system'`
    #/sbin/mke2fs -t ext4 -b 4096 "$target"
    #/sbin/e2fsck -y "$target"
    
    ui_print "- Mounting /system (rw)"
    mountpoint -q /system || mount -o rw /system \
     || ui_print_exit "! Failed, unable to mount /system"
    
    ##########################################################################################
    # Updating paths
    ##########################################################################################
    PATH_ORG=$PATH
    PATH=/sbin:/system/bin:/system/xbin
    
    LD_LIBRARY_PATH_ORG=$LD_LIBRARY_PATH
    LD_LIBRARY_PATH=.:../lib64:../lib
    
    ui_print "- Updating library path"
    
    ##########################################################################################
    # Unpack & Flash
    ##########################################################################################
    
    #mount /system
    mountpoint -q /system || mount /system
    
    #unpack
    for file in ${ZIPDIR}/*.xz;do
     filename=${file##*/};filename=${filename%-*}-*.xz
     ui_print "- Unpacking ${filename}";
     tar -xf "$file" -C "/"
    done
    
    #write partitions
    write_and_verify "/partitions/logo.bin" bootlogo
    write_and_verify "/partitions/dtb" dtb
    write_and_verify "/partitions/boot.img" bootimg
    
    exit 0
    

    A question is : If it works a first time, It means my phone must be international and fastboot unlocked? No?

    So I will try to investigate why fastboot don't see my device.



  • @pgp Remind me what OS you are using on pc



  • @Lakotaubp I use ubuntu LTS and debian, but under my debian (buster), ubports-installer don't works.



  • I still don't understand why is my fastboot seems locked. I hope I'll don't have to re-install flymeOS to unlock that.
    I maye just don't have the good drivers on my laptop : I just install adb and fastboot like this :

    # apt install fastboot adb
    

    Same result after :

    apt install android-tools-adb android-tools-fastboot
    

    Any idea?



  • Maybe a indication here : https://forum.xda-developers.com/meizu-pro-5/development/recovery-twrp3-0m86patchedst0rm77-t3469296/post68868682#post68868682

    In the end they write :

    Warning:
    ** If you flash an official update.zip from Flyme, remove bootloader, ldfw & recovery from ZIP
    *
    ** Otherwise you'll find yourself with a locked bootloader ** *

    If it is my case (I don't remeber the details of my first ubuntu touch istall) It means I'm fucked ?



  • Sounds like your PC is not seeing fastboot, are you using sudo for all fastboot commands

    Could you put an earlier unbuntu in a VM or on a thumb drive.

    I had an Android device recently , win 10 would see Adb but not Fastboot, had to switch OS's in the middle of it ( to Deepin)



  • Thnk you @Marathon2422 . Yes all commands are done with root on debian (buster), and sudo su on ubuntu (18.04 LTS).
    Next step, I think I will try this from this post : https://forums.ubports.com/topic/2755/meizu-pro-5-flyme-os-to-ubuntu-touch-modem-update-fingerprint-function

    **Step 1:Unlock Bootloader
    Download: https://drive.google.com/file/d/1SpPqSFQ0b7thvs_f2VqexDxQTBK6bQP5/view?usp=sharing
    Rename to update.zip and put inside your device storage.
    Rebooot to recovery pressing Volume up + Power and choose "System Upgrade"
    Unlock Bootloader 2nd Method: https://drive.google.com/file/d/1U09dVhiBJebPMwQ1q99R2RzBC8hErLuI/view?usp=sharing
    Just rename the file to update.zip put in your internal storage go to recovery and update.
    Now your device has an unlocked bootloader.

    Step 2: Flash TeamwinRecovery
    Download: https://drive.google.com/file/d/1T30ug5TQqzRxZiKsFk3IhpR5c218N4Pc/view?usp=sharing
    Reboot the device to fastboot pressin Volume Down + Power
    Open a terminal and do the command:

    fastboot flash recovery TWRP_3.0_m86.img*
    *



  • @pgp You would need to resize the .cache partition on your phone. It's too smalll to contain all the files needed to flash 16.04
    Search Increase Cache Partition on this forum, you'll find the answers.

    Official Ubports won't work, install it with ubuntu-device-flash from Terminal.

    Edit: also need to remove all files from .cache/recovery as it is now full of files from unsuccessful instalation.



  • @Stefano Thank you for the advice. I'll try asap.


Log in to reply