Backup and restore using ubports-installer



  • @lool_lauris Only working with UbPorts phones, I tried it with a Meizu Pro5 on Android and it's not working.



  • @AlainW94 said in Backup and restore using ubports-installer:

    @lool_lauris Only working with UbPorts phones, I tried it with a Meizu Pro5 on Android and it's not working.

    When I was asking about any phone, I was meaning the available phones for UT, of course. ☺



  • @lool_lauris 😉 And this is also why I asked if everybody had the folders "user-data" and "system-data" on their devices while in recovery mode, because this folder will be the one to be backing up.



  • @AlainW94 My fault being to keen and not reading properly. Will check other stuff.



  • Does this work while the phone is booted normally or in recovery/bootloader mode?
    Looks cool, has it been merged already?



  • @kugiigi It will work only on recovery, because it need to read or write system data. It is not merged yet, I will do it asap.



  • @AlainW94 It writes? may I know for what?
    Anyway, I just thought I can use it for backing up/restoring my MultiROM UT installs 😅
    Good luck with this 🙂



  • @kugiigi Backup AND RESTORE 😉 so yes, write



  • @kugiigi Yes it write if you restore a backup ! The backup tool will backup the content of 2 folders : /data/user-data and /data/system-data.
    If you open a shell on the recovery, and type

    ls /data
    

    And if you can see in there the previouly named folders, then the backup tool will be able to backup this file on your multirom device.



  • Of course, restoring will write data....what a stupid question from me 😃
    I'll check this functionality once it's merged in the app.
    Thanks.



  • @AlainW94 Like this ?
    SWAP.img android-data system-data system.img ubuntu.img user-data



  • @Lakotaubp Yes perfect ! what device is this ?



  • @AlainW94 OnePlus one



  • SWAP.img      lost+found    system.img    user-data
    android-data  system-data   ubuntu.img
    

    Bq M10fhd



  • Nexus 7

    SWAP.img        audio           data            nfc             system-data
    adb             backup          drm             property        system.img
    android-data    bootchart       local           qcks            tombstones
    app             bugreports      lost+found      resource-cache  ubuntu.img
    app-asec        cam_socket1     media           security        user
    app-lib         cam_socket2     mediadrm        ss              user-data
    app-private     dalvik-cache    misc            system
    
    


  • @Lakotaubp Many thanks ! it seems that the backup tool will work for at least those devices (Nexus 7, One Plus, Bq M10, Meizu Pro 5)



  • @AlainW94 Nexus 5

    ~ # ls /data
    SWAP.img      android-data  system-data   system.img    ubuntu.img    user-data
    ~ # 
    
    

    Tried MX4 twice but got device off line message also OP3 no connection but guess that is to be expected at present.



  • @AlainW94 that is a very awesome functionality for the UT phone! Thank you for your work Alain! I also own a Pro5 so looking forward to use such a useful utility. I feel the day my UT phone will become my daily driver again is always closer and closer, thank to committed Community people as you are 🙂



  • Hello, some answers:

    1. the 2 folders /data/user-data and /data/system-data are available on all devices and are the only ones you need to back up. They do not need mounting, but are real folders. You need to be careful with the symlinks though, as they are invalid if the normal OS is not active. So you might get backup errors during this process

    2. The feature is great and much anticipated. Just want to know if the target could be either PC or sd card. Some users might want to have the backup on the internal SD card (and later on the UT recovery could utilize this also to backup/restore, just would need baking it into the code there)

    3. Please get in contact with @NeoTheThird if you didnt do it already, he is the maintainer for the installer and you should coordinate any big features like this with him, to get aligned with his plans for the installer.

    Thanks and happy coding!


  • Administrators

    Hey @AlainW94,

    maintainer of the installer here 👋

    Kudos on how far you've come already, that's really cool! This is very similar to what we had planned in this issue. The commands there should work pretty much on every device with enough storage. Could you maybe open a PR soon, so we can coordinate the code to not conflict with the other things we have planned in the installer?

    Some notes:

    • You might want to avoid streaming output of adb commands to tar directly to the disk of your machine, but rather tar on the device. Even though it'll take up some space on the device, it'll be worth the added stability. Adb is very unreliable when it comes to exit codes and what buffer to write to. You don't want it to silently write "waiting for devices" to your precious backup file and corrupting it without you knowing.
    • You'll need to implement adb pull in the promise-android-tools module. It'd be great if you could open a pr for that rather sooner than later.
    • This is not a small undertaking, so in try to aim to get your changes in early wherever possible to avoid merge conflicts going forward. You might for example want to get your pull animation in now already.
    • Avoid device-specific hacks and workarounds in the installer code. You'll have heard about the config file format introduced in 0.3.x-beta, which aims to pave the way to make the installer code device- and os-agnostic. I could imagine adding another field like actions[], which holds steps like this, to the entry in operating_systems. We might even want to introduce some braking changes to the file strucutre to do this really right.

    Hope i did not overwhelm you, just excited for community contributions to my pet project XD

    If you need any help, hints or pointers, please let me know.

    Thank you!


Log in to reply