Firefly Open Source Community

Title: Firefly/Pad Windows Tools [Print This Page]

Author: dewet    Time: 2/7/2015 10:45
Title: Firefly/Pad Windows Tools
Hi


RK3288 Firefly/Pad


SecureBootTool

Can you use the tool to make a locked bootloader?

What benefit does it provide?

Eg. Netflix 1080p and some apps require locked bootloader to work properly.
Can this app help with that?


OemTool

The app force close every-time I run it.


I want to backup some folders from userdata from installed apps's settings/data and put in system partition image.

When I flash firmware back I want the firmware to restore that userdata automatically.

How can I do that?


Or maybe a script in init.rc is needed like for preinstall apps that are installed automatically after boot, but can copy folders.

How to set something up like that.



Thanks
Author: busybee    Time: 2/11/2015 11:13
Title: Re: Firefly/Pad Windows Tools
           ©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥
                 HOW TO MAKE ANDROID USERDATA PARTITION
                               PERSISTENT


                                Busybee
           ©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥


Table of Contents
©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤

How to make Android Userdata Partition Persistent
.. Intro
.. Steps
..... 1. Prepare userdata Partition Data
..... 2. Pack the Data
..... 3. Add databk Partition
..... 4. Flash Fimware
..... 5. Check the Result
.. Related Source Code


How to make Android Userdata Partition Persistent
¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T

Intro
©¤©¤©¤©¤©¤

  Android's userdata partition contains system configuration and user
  app data. If we can make this partition persistent, there's no need to
  modify system source code in order to customize the firmware.

  But the question is, flashing image directly to userdata partition
  does not work. When the device is flashed with new firmware, it will
  enter to recovery mode, where the userdata and cache partition will be
  formatted. Also, when user selects "Factory data reset" in Settings,
  the device will go to recovery mode to erase the userdata partition.

  One solution is, creating new partition to store persistent data of
  userdata partition. This special partition is only used to recover
  userdata partition, which will not be mounted or edited by Android
  system.

  RK3288 SDK has this solution builtin: pack userdata partition to an
  image file, and flash it to the special parition named "databk". Then
  in recovery mode, if databk partition exists, it'll be cloned to
  userdata parition.

  Here are the steps required:


Steps
©¤©¤©¤©¤©¤

1. Prepare userdata Partition Data
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  The default path `out/target/product/rk3288/data/' is used as an
  example, which will store persistent data of userdata partition.

  You can pack the userdata parition of device and extract it to the
  host via adb, for example:

  ¨q©¤©¤©¤©¤
  ©¦ adb shell busybox tar -cz -C /data . | \
  ©¦   tar -xz -C out/target/product/rk3288/data/
  ©¦
  ©¦ # You need to clean the data, removing unneccessary ones.
  ¨t©¤©¤©¤©¤


2. Pack the Data
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  We assume the size of the userdata partition is 1GiB£¨Modify it below
  accordingly), Run:

  ¨q©¤©¤©¤©¤
  ©¦ PATH=$PATH:./out/host/linux-x86/bin \
  ©¦    out/host/linux-x86/bin/mkuserimg.sh \
  ©¦    -s \
  ©¦    out/target/product/rk3288/data/ \
  ©¦    rockdev/Image-rk3288/databk.img \
  ©¦    ext4 /data 1G
  ¨t©¤©¤©¤©¤

  An image file named databk.img will be created, which has format of
  sparse ext4fs.

  This file can be convert to ext4fs format, just for convenience of
  checking files and permissions. If you do not want this, skip it:
  ¨q©¤©¤©¤©¤
  ©¦ out/host/linux-x86/bin/simg2img \
  ©¦     rockdev/Image-rk3288/databk.img \
  ©¦     rockdev/Image-rk3288/databk.ext4.img
  ©¦
  ©¦ sudo mkdir -p /mnt/databk
  ©¦ sudo mount -o loop rockdev/Image-rk3288/databk.ext4.img /mnt/databk
  ©¦ find /mnt/databk
  ©¦ # ...
  ©¦ sudo umount /mnt/databk
  ¨t©¤©¤©¤©¤


3. Add databk Partition
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  Modify parameter file. Please pay attention that unit of partition
  size and offset is sector (which is 512 bytes here). The newly added
  "databk" partition must be larger than databk.img file.

  We recommend to split the "user" partition (which is internal storage
  of Android and is the last one in the flash storage.).

  Hint: you can fetch the parameter from your board using rkflashkit:

  ¨q©¤©¤©¤©¤
  ©¦ sudo rkflashkit backup @parameter new_parameter.txt
  ¨t©¤©¤©¤©¤


4. Flash Fimware
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  Use rkflashkit to flash the newly parameter and databk.img:

  ¨q©¤©¤©¤©¤
  ©¦ sudo rkflashkit flash @parameter new_parameter.txt
  ©¦ sudo rkflashkit flash @databk databk.img
  ¨t©¤©¤©¤©¤


5. Check the Result
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  Selects "Factory data reset" in Settings to check the result.


Related Source Code
©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤

  The source code of recovering userdata partition is in
  bootable/recovery/recovery.cpp:

  ¨q©¤©¤©¤©¤
  ©¦ static const char *DATA_PARTITION_NAME = "userdata";
  ©¦ static const char *DATABK_PARTITION_NAME = "databk";
  ©¦
  ©¦ int start_to_clone(const char *data_devname, const char *databk_devname) {
  ©¦
  ©¦     if(simg2img(databk_devname, data_devname)){
  ©¦         LOGE("null of databk ->failed to clone\n");
  ©¦         return -1;
  ©¦     }
  ©¦     LOGI("Cloning %s to %s\n", databk_devname, data_devname);
  ©¦     return 0;
  ©¦ }
  ©¦
  ©¦ static int clone_data_if_exist() {
  ©¦     // ...
  ©¦     const MtdPartitionbyCmdline *databk_partition = mtd_find_partition_by_cmdline(DATABK_PARTITION_NAME);
  ©¦     const MtdPartitionbyCmdline *data_partition = mtd_find_partition_by_cmdline(DATA_PARTITION_NAME);
  ©¦     sprintf(data_devname, "/dev/block/mmcblk0p%d", data_partition->device_index);
  ©¦     sprintf(databk_devname, "/dev/block/mmcblk0p%d", databk_partition->device_index);
  ©¦
  ©¦     // Start to clone
  ©¦     if (start_to_clone(data_devname, databk_devname)) {
  ©¦         LOGE("clone_data_if_exist->error clone data\n");
  ©¦         return -1;
  ©¦     }
  ©¦     return 0;
  ©¦ }
  ¨t©¤©¤©¤©¤



Author: busybee    Time: 2/11/2015 11:26
Title: Re: Firefly/Pad Windows Tools

SecureBootTool

Can you use the tool to make a locked bootloader?

What benefit does it provide?

Eg. Netflix 1080p and some apps require locked bootloader to work properly.
Can this app help with that?

OemTool



The app force close every-time I run it.



I cannot find SecureBootTool or OemTool in the SDK.



Author: dewet    Time: 2/11/2015 11:50
Title: Re: Firefly/Pad Windows Tools

I cannot find SecureBootTool or OemTool in the SDK.


Here are the tools


https://bitbucket.org/T-Firefly/firefly ... ws/?at=pad


SecureBootTool

Should this also be set to true if above tool is used, or what is this setting in build.prop?

ro.secure.hdcp2xkey.inside=false


FWFactoryToolv5.0

This tool also has clone system button on the left, can it also backup userdata partition or what is 'system clone'?


If eg. I only want to restore 1 or 2 folders from backup of userdata(eg. 10-20MB) after flashing new firmware, how can I do that with eg. script on bootup. Not wanting to create a full 1GB backup of userdata that takes a lot of space.


Author: joshhal254    Time: 1/11/2026 14:59
Alle Menschen haben ihre eigenes Ziel, aber wir haben ein gleiches Ziel, dass Sie GIAC GICSP Pr¨¹fung bestehen. Dieses Ziel zu erreichen ist vielleicht nur ein kleiner Schritt f¨¹r Ihre Entwicklung im IT-Gebiet. Aber es ist der ganze Wert unserer GIAC GICSP Pr¨¹fungssoftware. Wir tun alles wir können, um die Pr¨¹fungsaufgaben zu erweitern. Und die Pr¨¹fungsunterlagen werden von unsere IT-Profis analysiert. Dadurch können Sie unbelastet und effizient benutzen. Um zu garantieren, dass die GIAC GICSP Unterlagen, die Sie benutzen, am neuesten ist, bieten wir einjährige kostenlose Aktualisierung.
Author: glenkin810    Time: 1/13/2026 08:13
Such great content, no hesitation at all in liking it. Get free NCA-GENL visual cert test to enhance your IT expertise. Wishing you success!
Author: isaaccl727    Time: 1/22/2026 17:30
That article was incredibly rich in knowledge. I¡¯m facing the Standard Mule-101 Answers exam. Let¡¯s hope for a good result!
Author: billcar715    Time: before yesterday 20:25
Niemand will ein ganz ein leichtes Leben f¨¹hren und in einer niedrigen Position weniges Gehalt beziehen. Eines Tages wird man vielleicht gek¨¹ndigt oder in die Rente treten. Dieses Leben ist wirklich langweilig. Wollen Sie nicht ein vielfältiges Leben f¨¹hren? Das macht nichts. Heute sage ich Ihnen eine Abk¨¹rzung zum Erfolg, nämlich, die SAP C-BCSBN-2502 Zertifizierungspr¨¹fung zu bestehen. Mit dem Zertifikat können Sie ein besseres Leben f¨¹hren und ein exzellenter IT-Expert werden und von anderen akzeptiert werden. Die Schulungsunterlagen zur SAP C-BCSBN-2502 Zertifizierungspr¨¹fung von EchteFrage können ganz leicht Ihren Traum verwirklichen. Zögern Sie noch? Schicken Sie doch schnell Schulungsunterlagen zur SAP C-BCSBN-2502 Zertifizierungspr¨¹fung von EchteFrage in den Warenkorb.




Welcome Firefly Open Source Community (https://bbs.t-firefly.com/) Powered by Discuz! X3.1