MX4 Ubuntu Edition: FAILED (remote: unknown command)

  • @AlainW94 said in MX4 Ubuntu Edition: FAILED (remote: unknown command):

    @jamieweb I perfectly understand, I modified it there is a while ... let me look for the modified file then i will post it there.

    Try to replace this part of code in the file src/devices.js :

    var instructBootstrap = (fastbootboot, images, bootstrapEvent) => {
        //TODO check bootloader name/version/device
        var flash = (p) => {
            fastboot.flash(images, (err, errM) => {
                  handleBootstrapError(err, errM, bootstrapEvent, () => {
                    instructBootstrap(fastbootboot, images, bootstrapEvent);
                else {
                  if (fastboot) {
            "Booting into recovery image ALAIN...");
                      // find recovery image
                      var recoveryImg;
                      images.forEach((image) => {
                        if (image.type === "recovery")
                          recoveryImg = image;
                      // If we can't find it, report error!
                      if (!recoveryImg){
                        bootstrapEvent.emit("error", "Cant find recoveryImg to boot: "+images);
                      }else {
                        fastboot.boot(recoveryImg, p, (err, errM) => {
                          if (err) {
    			utils.log.error("Fastboot: AW boot error; ");
    			bootstrapEvent.emit("bootstrap:done", fastbootboot); // Ignore the error, ignore the bootstrap, boot into recovery then the installer will did the flash upload, works well on my Pro5, I only had to flash the recovery fisrt with fastboot flash recovery recovery.img, then run the installer. That's not nice I know but that worked for me.
                            //handleBootstrapError(err, errM, bootstrapEvent, () => {
                            //  instructBootstrap(fastbootboot, images, bootstrapEvent);
                            bootstrapEvent.emit("bootstrap:done", fastbootboot);
                  } else
                      bootstrapEvent.emit("bootstrap:done", fastbootboot)
            }, p)
        bootstrapEvent.emit("user:write:status", "Flashing images ALAIN")
        if (!utils.needRoot()) {
        }else {
            requestPassword(bootstrapEvent, (p) => {

    You will have to compile and install it or run it from the sources.
    Good luck.

  • @Lakotaubp Ok, thanks for the info. Once I've done this, is it permanent? Or do I have to do it again every time I want to reflash UBports?

    I'll have to spin up a sandboxed machine for this, I don't want to run all those tools on any of my systems. Does UBports installer overwrite all of the original Canonical UT stuff from those guides? Or will there be insecure/untrusted code left behind?

  • @AlainW94 Thanks for this. Will it prevent me from having to do the restore to the original Canonical UT like @Lakotaubp has detailed? Or do I still need to do that, and then patch ubports-installer with your code afterwards?

  • @jamieweb Good question, I don't know why we have to step first into the installation of Canonical version. If I was you (easy to say), I tried first to flash the ubuntu recovery, then I start the phone on it, and try to use ubports-installer, if that works, you have gain a lot of time, if not.... You will have to reinstall it. During my issue with my IMEI, I played a lot with the phone by switching between Flyme and UT, all the time, the only thing I did was to flash the ubuntu recovery, start on it and run the modified ubports-installer to get UT back (without having to re-install the original Canonical first).

  • @jamieweb Don't take this as gospel but Flyme has a locked bootloader you can't get in. UBports is not a standard ROM you need UBports Recovery for the installation so you cannot just flash it. You need the original UT first or UBports will not install on the MX4. As far as I know you will not have any insecure/untrusted stuff left. That is what UBports is after all. Safe and secure. The exact technical reason for this method is above my knowledge.
    I did exactly what you have UT to Flyme back to UT then to UBports UT using the tools mentioned.

    Please someone correct anything that is wrong in what I have said.

  • @Lakotaubp Ok thanks, I'll see if I can give this a go tonight. To confirm, once I've done this, I won't have to do it again as long as I stick with UBports?

  • @jamieweb Yes that's right, but once you've got UBports you will not want to change ☺

  • @Lakotaubp That's the idea! 🙂 Will this also resolve the FAILED (remote: unknown command) issue?

    I think I'm actually going to try @AlainW94's modified code first, as as far as I can tell it seems like ubports-installer is just trying to reboot the phone into recovery, but Meizu phones don't support that in the way it's trying to do it.

  • @jamieweb said in MX4 Ubuntu Edition: FAILED (remote: unknown command):
    it seems like ubports-installer is just trying to reboot the phone into recovery, but Meizu phones don't support that in the way it's trying to do it.


  • @AlainW94 Just as a side note before I move forward with this - is there a way to download the source for a snap package, a bit like apt source? Or should I just pull it from GitHub?

  • @jamieweb pull it from github, here are my personal notes when I did it :

    git clone
    cd ubports-installer
    npm run-script dist:linux
    npm start

  • @AlainW94 Awesome, this has worked! I'm in Ubuntu Touch setting it up now! Thanks for your help, I thoroughly appreciate it.

  • @jamieweb Awesome ! I'm happy for you.👍 🕺

  • @AlainW94 Now I'm working on being able to use the device without using the lock button ( Just set up adb shell and monitoring dbus for the right commands to lock+sleep the phone using a launcher icon rather than the physical button.

    Also @AlainW94, I'm working on a blog article about my whole UT setup experience. Would I be OK to include a section on your ubports-installer code change? I will give full and clear credit with your name, Twitter, own blog, whatever you want.

  • @jamieweb Of course, no problem at all if that can help other people experiencing this with their Meizu 😉 If you need help for your script, please post in your original thread and I will try to help you. Good job.

  • @jamieweb Glad it worked for you. Well done. Very interesting please let me know when your blog is ready i would like to have a read and thanks @AlainW94 for your input too.

  • @Lakotaubp My pleasure

  • @AlainW94 I'm just working on my article now. Which credit would you like me to give? Do you have a website, Twitter, etc that you'd like a link to? As well as a link to your forum profile?

  • Hi @jamieweb I don't have twitter or a website so you can link my profile if you want. Many thanks to you and of course, I'm curious to read your article 😉

  • @AlainW94 @Lakotaubp Hi, the article is now live!

    Thank you all for your help, I thoroughly appreciate it!

Log in to reply