UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login
    1. Home
    2. Iolaum
    3. Posts
    I
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 2
    • Posts 4
    • Groups 0

    Posts

    Recent Best Controversial
    • RE: Recovery Software in Ubuntu Touch

      @marathon2422 Good to know. I 'll just keep the Ubports recovery then and keep learning about Ubuntu Touch.

      By the way, have the Ubuntu Touch developers considered using TWRP? It's an open source project and you could potentially save on duplication of efforts, wider Q/A (because of TWRP's expanded user base) and a more featurefull recovery to help users and developers when surprises happen.

      posted in OS
      I
      Iolaum
    • Recovery Software in Ubuntu Touch

      Hello all,

      I have an Aquaris BQ M10 FHD and recently installed Ubuntu touch OTA-5 on it to start learning about Ubuntu Touch and see if I can use my device in a more libre way. I am still very new with regards to Ubuntu touch and I am still exploring the system to see how it is built, what works and how.

      One of the things that got me curious is the recovery software. It looks like a minimal recovery similar to the ones a lot of android devices use. Apologies if it not. I was wondering if developers of Ubuntu touch have considered Team Win Recovery Project (TWRP). By looking at the TWRP website I found out that most Ubports devices are supported by TWRP:

      • One Plus One: https://twrp.me/devices/oneplusone.html
      • Aquaris BQ M10 FHD: https://twrp.me/bq/bqaquarism10fhd.html
      • Aquaris BQ M10 HD : https://twrp.me/bq/bqaquarism10.html
      • Fairphone 2 : https://twrp.me/fairphone/fairphone2.html
      • Nexus 5 : https://twrp.me/lg/lgnexus5.html
      • Nexus 4 : https://twrp.me/lg/lgnexus4.html
      • Meizu Pro 5 : N/A
      • Meizu MX 4 : N/A
      • BQ E5 : https://twrp.me/bq/bqaquarise5hd.html
      • BQ E4.5 : https://twrp.me/bq/bqaquarise45.html

      I 'd like to ask if this has been considered?

      I also don't know how ubports-installer works in more detail. Will I break it if I replace the default recovery with TWRP for my devicce?TWRP has a lot more capabilities and I am acquainted with it because I use it for my phones, running Lineage OS, so I 'd be happy if I can use it with Ubuntu Touch without the risk of breaking it. Any clues?

      posted in OS recovery
      I
      Iolaum
    • RE: Ubports installation process on frieza device with stock android

      @Lakotaubp I tried to install the original Canonical version but the SP Flash tool didn't work. After that I experimented with fastboot tool and unlocked bootloader with it.

      ubports-installer complained that my device wasn't supported, guessing because it was running android despite unlocked bootloader, but when I forced it to install by manually selecting intended device it worked. I made this post to soft document my experience and see if I should make a bug report of give more information about the problems and solutions I encountered.

      I am currently exploring the system and learning how to navigate around things, I think it installed successfully though.

      posted in Support
      I
      Iolaum
    • Ubports installation process on frieza device with stock android

      Hello Ubports community,

      I recently found an Aquaris BQ M10 FHD with android on sale and bought with the plan to install Ubuntu touch on it.

      Yesterday I had enough free time to work on the installation. According to the documentation for legacy android devices you are supposed to use the SP flashing tool to flash an older Ubuntu image first to unlock the bootloader. I tried to do it. The documentation on the flashing tool is a bit scarce but this xda-developers guide was very helpful. Especially the trick were you add yourself to the dialout group and don't have to run it as root. Unfortunately even with those instructions I was getting a Failed to open COM port error.

      Since documentation or guides were hard to find for the SP flashing tool and my impression of it as an application was not good I decided to go another way. I knew from the documentation that the main reason for this step was to unlock the bootloader. Given my previous experience with android devices I decided to try and use the android tools available on linux (my laptop runs Ubuntu Mate 18.04). I booted the tablet in fastboot mode and did the following:

      $ fastboot devices
      # shows that device has been found
      $ fastboot --help
      usage: fastboot [ <option> ] <command>
      
      commands:
        update <filename>                        Reflash device from update.zip.
        flashall                                 Flash boot, system, vendor, and --
                                                 if found -- recovery.
        flash <partition> [ <filename> ]         Write a file to a flash partition.
        flashing lock                            Locks the device. Prevents flashing.
        flashing unlock                          Unlocks the device. Allows flashing
                                                 any partition except
                                                 bootloader-related partitions.
        flashing lock_critical                   Prevents flashing bootloader-related
                                                 partitions.
        flashing unlock_critical                 Enables flashing bootloader-related
                                                 partitions.
        flashing get_unlock_ability              Queries bootloader to see if the
                                                 device is unlocked.
        flashing get_unlock_bootloader_nonce     Queries the bootloader to get the
                                                 unlock nonce.
        flashing unlock_bootloader <request>     Issue unlock bootloader using request.
        flashing lock_bootloader                 Locks the bootloader to prevent
                                                 bootloader version rollback.
        erase <partition>                        Erase a flash partition.
        format[:[<fs type>][:[<size>]] <partition>
                                                 Format a flash partition. Can
                                                 override the fs type and/or size
                                                 the bootloader reports.
        getvar <variable>                        Display a bootloader variable.
        set_active <suffix>                      Sets the active slot. If slots are
                                                 not supported, this does nothing.
        boot <kernel> [ <ramdisk> [ <second> ] ] Download and boot kernel.
        flash:raw boot <kernel> [ <ramdisk> [ <second> ] ]
                                                 Create bootimage and flash it.
        devices [-l]                             List all connected devices [with
                                                 device paths].
        continue                                 Continue with autoboot.
        reboot [bootloader]                      Reboot device [into bootloader].
        reboot-bootloader                        Reboot device into bootloader.
        help                                     Show this help message.
      
      options:
        -w                                       Erase userdata and cache (and format
                                                 if supported by partition type).
        -u                                       Do not erase partition before
                                                 formatting.
        -s <specific device>                     Specify a device. For USB, provide either
                                                 a serial number or path to device port.
                                                 For ethernet, provide an address in the                                           form <protocol>:<hostname>[:port] where                                           <protocol> is either tcp or udp.
        -p <product>                             Specify product name.
        -c <cmdline>                             Override kernel commandline.
        -i <vendor id>                           Specify a custom USB vendor id.
        -b, --base <base_addr>                   Specify a custom kernel base
                                                 address (default: 0x10000000).
        --kernel-offset                          Specify a custom kernel offset.
                                                 (default: 0x00008000)
        --ramdisk-offset                         Specify a custom ramdisk offset.
                                                 (default: 0x01000000)
        --tags-offset                            Specify a custom tags offset.
                                                 (default: 0x00000100)
        -n, --page-size <page size>              Specify the nand page size
                                                 (default: 2048).
        -S <size>[K|M|G]                         Automatically sparse files greater
                                                 than 'size'. 0 to disable.
        --slot <suffix>                          Specify slot suffix to be used if the
                                                 device supports slots. This will be
                                                 added to all partition names that use
                                                 slots. 'all' can be given to refer
                                                 to all slots. 'other' can be given to
                                                 refer to a non-current slot. If this
                                                 flag is not used, slotted partitions
                                                 will default to the current active slot.
        -a, --set-active[=<suffix>]              Sets the active slot. If no suffix is
                                                 provided, this will default to the value
                                                 given by --slot. If slots are not
                                                 supported, this does nothing. This will
                                                 run after all non-reboot commands.
        --wipe-and-use-fbe                       On devices which support it,
                                                 erase userdata and cache, and
                                                 enable file-based encryption
        --unbuffered                             Do not buffer input or output.
        --version                                Display version.
        -h, --help                               show this message.
      

      The help command is needed to see what commands are available under fastboot, they can be difference for every device. I noticed that there were commands that looked like they could unlock the device and decided to give them a try.

      $ fastboot flashing get_unlock_ability
      ...
      (bootloader) unlock_ability = 16777216
      OKAY [  0.009s]
      finished. total time: 0.009s
      $ fastboot flashing unlock_critical
      ...
      (bootloader) Start unlock flow
      
      OKAY [ 38.004s]
      finished. total time: 38.004s
      
      $ fastboot reboot
      

      As you can see I explored what the unlock ability was, but I couldn't understand the result.
      When you give the command to unlock bootloader a dialogue message appears at the tablet screen and you have to confirm/deny with volume up/down.

      After that the factory firmware wiped the tablet, as it had warned me it would do upon unlocking.

      The process described above is not the one described in the documentation. I 'm not saying it's wrong. For example I deviated in downloading the latest flashing tool version and not the one linked in the docs. It may also be that the flashing tool is not updated to work with Ubuntu 18.04 yet. I 'm just pointing this out here, and wondering if I should point it out elsewhere, like a bug in the ubports docs repo.

      Another thing of note is the ubports installer. After unlocking the bootloaded I followed the documentation in order to install ubports. The installer identified my device as Aquaris_M10_FHD but said it wasn't an approved device !? I attributed that to me deviating from the installation process, maybe it considered the android version incompatible?. I manually selected frieza as the device target and told it to proceed. The installation process completed successfully after that and now my tablet is running Ubuntu Touch. If I 'm guessing right that the presence of the Android OS instead of an earlier Ubuntu Touch OS made ubports-installer think my device not compatible there isn't anything to note. But if it should have understood that the bootloader is unlocked then should I make a bug report at ubports-installer about this?

      posted in Support
      I
      Iolaum