Hello,
I wanted to do a full backup via TWRP and I'm not getting anywhere. Do not stone me even if there are already some threads, I do not find the right solution for me.
After I wanted to make a full backup, TWRP quit me the service with the error "Error 255 in createTarFork() process".
Then I tried the solution "rm /data/extm -Rf" here nothing seems to happen, except that I can enter a new command in the terminal again. Secound Space and Dual Apps are not in use or do they need to be uninstalled via ADB?
Beyond that, my technical skills and language comprehension are not sufficient to evaluate other solutions as suitable. Therefore, I hope someone can address my problem.
t: ubject_r:dalvikcache_data_file:s0
I:addFile '/data/app/~~n9Y-hMJw0VRSJfAao9Jdsg==/app.revanced.android.youtube-XYfOhhUDJ1IYQvr3L01EIw==/base.apk' including root: 1
==> set selinux context: ubject_r:apk_data_file:s0
I:addFile '/data/property' including root: 1
==> set selinux context: ubject_rroperty_data_file:s0
found fscrypt policy '/data/property' - '2DK' - '537d56db67eb9557dc5348ee6327c401'
I:addFile '/data/property/persistent_properties' including root: 1
==> set selinux context: ubject_rroperty_data_file:s0
I:addFile '/data/fonts' including root: 1
==> set selinux context: ubject_r:system_data_file:s0
found fscrypt policy '/data/fonts' - '2DK' - '537d56db67eb9557dc5348ee6327c401'
I:addFile '/data/fonts/files' including root: 1
==> set selinux context: ubject_r:font_data_file:s0
found fscrypt policy '/data/fonts/files' - '2DK' - '537d56db67eb9557dc5348ee6327c401'
I:addFile '/data/fonts/files/~~npdXDbfnJvfTBYR4MuGKeA==' including root: 1
==> set selinux context: ubject_r:font_data_file:s0
found fscrypt policy '/data/fonts/files/~~npdXDbfnJvfTBYR4MuGKeA==' - '2DK' - '537d56db67eb9557dc5348ee6327c401'
I:addFile '/data/fonts/files/~~npdXDbfnJvfTBYR4MuGKeA==/GoogleSans-Regular.ttf' including root: 1
==> set selinux context: ubject_r:font_data_file:s0
I:Error adding file '/data/fonts/files/~~npdXDbfnJvfTBYR4MuGKeA==/GoogleSans-Regular.ttf' to '/data/media/0/TWRP/BACKUPS/4e01a488/2023-05-02--16-11-56/data.f2fs.win003'
Error creating backup.
I:ERROR tarList for thread ID 0
Error creating backup.
I:InfoManager saving '/data/media/0/TWRP/BACKUPS/4e01a488/2023-05-02--16-11-56/data.info'
createTarFork() process ended with ERROR: 255
Backup Failed. Cleaning Backup Folder.
Click to expand...
Click to collapse
Is it normal that the log file is almost 10MB?
Also, is there any way to see if my Rom was installed cleanly? After about a year of use and just cleaning the cache, the phone was unbootable and had to be completely reset....
I would greatly appreciate any help/support!
A backup of the "data" partition would not be very useful in the future because Android encrypts this partition.
If you want to back up your information, copy it to another location such as an SD card or PC. If you want to back up your apps, install Magisk and use solutions like Swift Backup.
Now, to install a ROM cleanly, don't format partitions individually. First, use the "Format data" option in TWRP/Ofox. Then, install the ROM of your choice and you're good to go.
senseless1992 said:
found fscrypt policy '/data/fonts/files/~~npdXDbfnJvfTBYR4MuGKeA==' - '2DK' - '537d56db67eb9557dc5348ee6327c401'
I:addFile '/data/fonts/files/~~npdXDbfnJvfTBYR4MuGKeA==/GoogleSans-Regular.ttf' including root: 1
==> set selinux context: ubject_r:font_data_file:s0
I:Error adding file '/data/fonts/files/~~npdXDbfnJvfTBYR4MuGKeA==/GoogleSans-Regular.ttf' to '/data/media/0/TWRP/BACKUPS/4e01a488/2023-05-02--16-11-56/data.f2fs.win003'
Error creating backup.
Click to expand...
Click to collapse
This is a known problem (with /data/fonts/files/).
Your options are either to delete the /data/fonts/files/ folder in TWRP before starting your backup, or to use OrangeFox Recovery (which automatically excludes that folder).
If you are into building TWRP for yourself, then you can try this patch: https://gerrit.twrp.me/c/android_bootable_recovery/+/6385
Hello,
thanks for the quick feedback and helpful tips, I am always thrilled how constructive this forum is, I hope my questions are not too stupid....
A backup of the "data" partition would not be very useful in the future because Android encrypts this partition.
If you want to back up your information, copy it to another location such as an SD card or PC. If you want to back up your apps, install Magisk and use solutions like Swift Backup.
Now, to install a ROM cleanly, don't format partitions individually. First, use the "Format data" option in TWRP/Ofox. Then, install the ROM of your choice and you're good to go.
Click to expand...
Click to collapse
From previous experiences with custom roms I was hoping a full system backup would be straightforward. Seems the challenges with encryption have become greater without proper know-how. In this case I had installed the xiaomi.eu Rom with the Xiaomi Flasher, does this also do the formatting (format data)?
Is there a possibility to find out afterwards if the flashing was clean? My previous Rom seemed not to have been flashed cleanly, despite manual flashing and format data, because after a few months of use, my Rom was shot with all data after a wipe cache with the following message "fs_mgr_mount_all?".
This is a known problem (with /data/fonts/files/).
Your options are either to delete the /data/fonts/files/ folder in TWRP before starting your backup, or to use OrangeFox Recovery (which automatically excludes that folder).
If you are into building TWRP for yourself, then you can try this patch: https://gerrit.twrp.me/c/android_bootable_recovery/+/6385
Click to expand...
Click to collapse
I have always used TWRP until now, as it was known to me from earlier times, can OrangeFox be used just as safely or uncomplicated - it seems to be based on TWRP? I think the application of the patch rather leads to new questions...
senseless1992 said:
...From previous experiences with custom roms I was hoping a full system backup would be straightforward.
Click to expand...
Click to collapse
It is pretty straightforward, if you follow some simple rules. See https://wiki.orangefox.tech/en/guides/backups
senseless1992 said:
I have always used TWRP until now, as it was known to me from earlier times, can OrangeFox be used just as safely or uncomplicated - it seems to be based on TWRP? ...
Click to expand...
Click to collapse
There are no complications or issues involved in using OrangeFox. But you should use whichever recovery you prefer.
Related
Hello guys, I want to present you the
TEAM WIN RECOVERY PROJECT
(TWRP)
v2.X for our Transformers
This is the touch version of Team Win's recovery project.
It is already avaiable for many devices, but not for ours, so I ported it.
In addition, I am the responsable developer and maintainer for this recovery, so if any errors occur, please post them in this thread and I will see what I can do.
WHY did I port this ?
We do now have a fully functional file manager in the recovery system
The GooManager app lets you now install .zips directly through the open-recovery scripting system
You can queue .zips for flashing in recovery, makes installing new roms MUCH easier !
WHICH features do we have after-all ?
Key Features:
Ability to save custom recovery settings
Default partitions to back up
Default zip folder location
Default color theme (lots to choose from) (Thanks to ffolkes!)
Default Time Zone (for more accurate time stamps)
Zip Signature Verification
Zip md5 Verification (looks for file with zipname.zip.md5)
Ability to flash multiple zips in one go
Ability to select which individual partitions to backup, and restore.
Ability to choose compression or no compression backups.
Compression takes longer of course, but you save roughly half the space. EVO3D's stock system uncompressed is ~800mb, 380mb compressed. You choose.
Ability to auto restore GAPPS on zip flash (for CM based ROMS)
Ability to auto reboot after successful flashes (for the lazy)
Some devices utilize their capacitive buttons in recovery.
Home - Main Menu
Menu - Advanced Menu
Back - Up a Menu Level
Search - Select Current Selection
Battery Level and Timestamp (Better safe than sorry)
Fully working terminal emulator (with exclusive fixes by me)
WHAT does work ?
The file manager
Using internal and external storage mounts
Backup & restore
Zip file installing
Mounting devices
Everything else ?
WHAT doesn't ?
OpenRecovery scripting
You tell me !
A FEW NOTES
OpenRecovery scripting for GooManager and others does currently *NOT* work, this is because the init.rc is missing a recovery boot flag, because of this the GooManager app fails to pass the correct recovery command to our device. This will be fixed very soon !
THEMERS, please take a look here : http://forum.xda-developers.com/showpost.php?p=28605855&postcount=67
??? --- Profit.
DOWNLOADS
FLASH THE TWRP-X.zip file in your current recovery!
NEWEST DOWNLOADS ALWAYS AT android.lensmangallery.com
Code:
[FONT=Georgia]
[B]v2.2
[/B] [/FONT]
[LIST]
[*][FONT=Georgia][B]Fixed EVERYTHING.[/B]Really. No bugs left ![/FONT]
[*][FONT=Georgia]When installing a zip, you can now choose from internal or external storage right from the 'install zip' page, just like in Rogue Touch Recovery ![/FONT]
[*][FONT=Georgia][B]Added a super-awesome terminal emulator in 'advanced' page ! Try this out, it's amazing, really ! [/B][COLOR=Red]In addition, it has a special goodie by me, the command you type in, and hit enter, would normally stay there until you delete it manually each time. I fixed the source, so it goes away after hitting enter, just like a real command prompt ![/COLOR][/FONT]
[/LIST]
[B]v2.1.8 FINAL[/B]
[LIST]
[*][FONT=Georgia]Fixed the 'free disk space' shown on backup tab. Now it displays always the correct size which is left for backups, either internal or external storage. Both do fully work now.[/FONT]
[*][FONT=Georgia]Fixed the *EXTERNAL* storage automount, when you change your storage paths (mount->change radio buttons), while clicking the 'using external sdcard', the external MicroSD gets automounted. It gets auto-unmounted again when hitting 'using internal storage'[/FONT]
[*][FONT=Georgia]Fixed the boot partition backup system. Since we cannot backup /boot , I excluded this partition from the whole nandroid system. The button in the backup tab is gone now, so no choice to fail at backing up anymore ![/FONT]
[/LIST]
[FONT=Georgia] [B]
v2.1.8
[/B] [/FONT]
[LIST]
[*][FONT=Georgia]Initial release[/FONT]
[*][FONT=Georgia]Based on newest TeamWin Sources[/FONT]
[*][FONT=Georgia]Touch recovery[/FONT]
[*][FONT=Georgia]Tablet UI (1280*800) resolution
[/FONT]
[*][FONT=Georgia]Modified recovery.fstab & BoardConfig to make this compile.[/FONT]
[*][FONT=Georgia][COLOR=Red][B]SOURCE[/B][/COLOR] is at [/FONT][URL]https://github.com/skirata/device_asus_tf101[/URL] and [URL]https://github.com/skirata/Team-Win-Recovery-Project-v2.X[/URL]
[/LIST]
Credits
Team Win
Team Douche
Cyanogenmod
Shane Francis
Roach2010
That sound really nice, good work! But, where's the download link ?
hanthesolo said:
That sound really nice, good work! But, where's the download link ?
Click to expand...
Click to collapse
Oh, stop it, you ! You were a bit faster than me ...
Download link is up in 2nd post.
Can someone post any screenshots?
rayman33 said:
Oh, stop it, you ! You were a bit faster than me ...
Download link is up in 2nd post.
Click to expand...
Click to collapse
I love it when that happens.... I see them now. I will flash it and see how it stacks up to the other touch recoveries.
EDIT: I just flashed it and played around with the UI for a few minutes. I found it vaguely reminiscent of UEFI, and it seemed very useful. I have had a need for a file browser more than once while in recovery, it is a shame though that editing files cannot be done (due to the difficulty level if creating a keyboard, and size limitations, i am sure). It is on my bucket list though, to be able to use some kind of terminal emulator in recovery without using adb. Overall, excellent work, and this will be my recovery if choice from now on! Just out if curiosity, how long did it take you to port this?
I'll be the numb nut that will ask.......what are the fstab zip and the other zip for?
Do i need to flash all 3 zips or just the main recovery zip if i havent got a clue what the other 2 do? :laugh:
No doubt someone would screw it up....... id rather look like a plank!
TheFirlen said:
Can someone post any screenshots?
Click to expand...
Click to collapse
Screenie.
You better be happy now, it has got 3297562 Megapixles !
scottyf79 said:
I'll be the numb nut that will ask.......what are the fstab zip and the other zip for?
Do i need to flash all 3 zips or just the main recovery zip if i havent got a clue what the other 2 do? :laugh:
No doubt someone would screw it up....... id rather look like a plank!
Click to expand...
Click to collapse
My faultie, didn't put the explanation in the notes ..
You will only have to flash the TWRP-X.zip file.
The other two zips are the sources needed for compiling.
Of course, those alone aren't sufficent at all. If someone would like to have instructions on how to compile, just ask here.
@Hanthesolo Well, I think it was like one week or so until I figured out how to compile the recovery and another week until I managed to get internal and external storage working correctly.
installed fine
EDIT: its ok i read the op again..........looks good, another job well done Rayman33
You, man, are awesome. Me and hillbillyhacker tried that, but couldn't get touch working. Waiting for your stuff to see the diff
I had it installed but do not see any internal storage.
Sent from my Transformer TF101 using xda premium
bkmo said:
I had it installed but do not see any internal storage.
Sent from my Transformer TF101 using xda premium
Click to expand...
Click to collapse
Go into the "Mount" tab and make sure "Using internal storage" is checked.
My internal storage files are found under "data/media"
baseballfanz said:
Go into the "Mount" tab and make sure "Using internal storage" is checked.
My internal storage files are found under "data/media"
Click to expand...
Click to collapse
It was checked by default, but my brain didn't compute that I need to look at data/media. Makes perfect sense.....thanks.
Sent from my Transformer TF101 using xda premium
NICE guys.
thanks gonna try it
hope they start porting AROMA to tablets too.
that would be cool
bkmo said:
It was checked by default, but my brain didn't compute that I need to look at data/media. Makes perfect sense.....thanks.
Sent from my Transformer TF101 using xda premium
Click to expand...
Click to collapse
Edit: time is being reported as one hour ahead, also had an abort during a backup. Here is from the log:
I:=> Size of is 0 KB.
[ (0 MB)]
...Backing up partition.
I:=> Filename: ..win
I:Backup command: 'dd bs=4096 if= of=/data/media/TWRP/BACKUPS/0384018241611197/2012-07-08--12-41-34/..win'
dd: can't open '': No such file or directory
* Done.
* Verifying backup size.
E: File size is zero bytes. Aborting...
Sent from my Transformer TF101 using xda premium
bkmo said:
Edit: time is being reported as one hour ahead, also had an abort during a backup. Here is from the log:
I:=> Size of is 0 KB.
[ (0 MB)]
...Backing up partition.
I:=> Filename: ..win
I:Backup command: 'dd bs=4096 if= of=/data/media/TWRP/BACKUPS/0384018241611197/2012-07-08--12-41-34/..win'
dd: can't open '': No such file or directory
* Done.
* Verifying backup size.
E: File size is zero bytes. Aborting...
Sent from my Transformer TF101 using xda premium
Click to expand...
Click to collapse
Please check if you had ticked "boot" in the backup menu...
Don't backup the boot partition, it won't work, and only give errors.
Just backup the partitions that have an actual size, like /system /data and /cache.
Then it should work; I have tested this.
Also, you can edit the Time Zone settings in the corresponding settings menu in TWRP's home... just look for it.
I'm Trying to mount the ext sd card but its not working.
News :
Backup system does now work out of the box, no need to refresh the menu first.
I nearly found a way to exclude the boot partition from backing up, to make it all more user-friendly.
Fixed version coming the next 2 days.
Stay tuned !
Warning: SELinux – important security feature.
After disabling it you obliviously make Android less secure. Use it on your own risk.
Why it needed?
SELinux can prevent work some mods, like Viper. Or you can have own reasons.
Executing in Terminal "setenforce 0" or via scripts / apps turns SELinux off only after booting: this is not good.
This solution disables SELinux directly in kernel.
Compatible with any MIUI or custom ROM.
How it works
After flashing ZIP creates kernel dump, then it repacks with new command line androidboot.selinux=permissive and writes back.
Into /system/bin copied script.sh and two binaries: mkbootimg and unpackbootimg plus auto-restore script (addon.d)
Last required for keeping and launching that files at every ROM update. This works only on custom ROM's, on MIUI you need re-apply patch manually.
Note: on previous phone at some rare unknown conditions after updating ROM kernel repackaging ended with error and device can't boot.
In this case enter recovery and restore boot from backup or flash boot.img from ROM via fastboot / TWRP.
How to install
1. Once flash attached ZIP
2. Then flash required mods
How to delete
1. Delete file /system/addon.d/99-selinux.sh (and other, that belong to mods that not work with SELinux)
2. Flash current ROM
P.S. This patch probably will work on any device (at least with custom ROM because stock kernel can use different structure).
Rare, but may be required change path to boot partition in script.sh: /dev/block/bootdevice/by-name/boot, twice.
Hi does this method still work in Android 10 and newer?
Great job. This is exactly what I was searching for!
lebigmac said:
does this method still work in Android 10 and newer?
Click to expand...
Click to collapse
Very likely, don't know for sure because still on Pie. Try yourself and share result
When I run this command:
Code:
cat /proc/cmdline
I get this result:
Code:
BOOT_IMAGE=/boot/vmlinuz-5.0.0-13-generic root=UUID=XXXXX-XXXX-XXXX-XXXX-XXXXXXXXX ro quiet splash vt.handoff=1
Maybe in Android 10 and newer they moved the androidboot.selinux=permissive parameter to somewhere else kind of like how they moved the system partition into the super image?
lebigmac said:
Maybe in Android 10 and newer they moved parameter to somewhere else
Click to expand...
Click to collapse
Parameter not present by default.
It's not clear if you tried to flash ZIP. If yes and got no result: probably script can't handle changes in boot.img structure because it was created 4 years ago. Try some tool on PC to unpack boot and add line manually.
Hi,
Although I passed my 40 I just bought my first smartphone a few week ago. It’s a Doogee S96Pro. As somebody who like to understand how it works, I already learn a few thing on the Android ecosystem.
I’ve been able to activate the developer mode and to use adb to uninstall some apps. I also managed to boot in fastboot mode to unlock the phone.
My first attempt at flashing was a fail, the phone was rebooting in a loop, indicating "Red state". I guess I should have never "fastboot flash boot/recovery foo.img" if "fastboot boot foo.img" didn’t work? What’s your opinion on this?
The Doogee support sent me a link to the files for my phone. In fact someone on this forum has had already posted it. The two archives are named :
S9S88A7.DGE.DOOGEE.EEA.HB.HJ.AYYDVFAZ.1130.V3.02.zip
S9S88A7.DGE.DOOGEE.HB.HJ.AYYDVFAZ.1203.V3.04.zip
To make the phone boot again I flashed the boot partition with the boot.img file I found in the second archive. If I understood what I read, the file with "EEA" in it’s name is the "European version" while the other one is the "Global version".
Although I flashed with the boot.img that was in S9S88A7.DGE.DOOGEE.HB.HJ.AYYDVFAZ.1203.V3.04.zip, if I go to the update info (About the phone > Update), I can see the string S9S88A7.DGE.DOOGEE.EEA.HB.HJ.AYYDVFAZ.0128.V3.03_20210128-1612. I don’t understand why this difference (v3.03 vs. v3.04).
Then I used the Magisk Manager to patch this boot.img file and flash it again. I now have root access on the phone which is nice.
Now the questions!
When booting the phone says: “Orange state, your phone’s unlocked”, then it boots normally. What’s the implication of this? I’m not sure but I think I tried to lock it again (fastboot flashing lock) but the message remains. Does it sound possible to you? I should check again this point…
In the Magisk Manager I also tried the "SafetyNet" check, which is refused. Is it OK? What does it imply? Why would I need to pass this SafetyNet test for?
I’m not sure I understood how the recovery thing works… I understand it’s another partition than "boot", and I know I can boot on it using the boot menu (pressing volume up when turning on the phone). What I don’t know is if it starts a recovering of the system automatically when booting on this partition (then erasing all data on the phone), or not.
Let’s say I flash the boot.img on the recovery partition (fastboot flash recovery boot.img). If I do a normal boot it should boot as usual, but if I boot on recovery it would boot on a virgin system. Am I right? Let says I configure nothing and reboot again, a normal boot this time. I then should get back to my usual, already configured system, as the "boot" partition hasn’t been modified. Is this also right?
Before doing anymore tests I would like to be able to backup an image with the phone already configured, with data and root access and applications. One (or maybe two or three?) file I can keep on my computer, and in case I break the boot on the phone, I could just fastboot flash boot my_custom_image.img to recover my phone configured. Oy maybe also flashing a "userdata" partition? Would I need some other partition? Is it more complicated than that?
It seems I have to identify the right partition(s) and carefully use dd to dump the partition to an image file… Before trying to do so I’d like to have some advice, hence this post!
Also. I read about a software called TWPR. Should I use it, and why ? I understand it’s a system aimed to be flashed on the recovery partition, is it right? What’s its use?
Finally I read about LineageOS which is the ultimate customization for the phone, it’s a “pure” Android, which is totally opensource (but it has to uses a lot of proprietary blob for devices AFAIK). I don’t think I’ll get there anyway. If I’m not mistaken it’s hard to do, especially with new phones nobody has ran LineageOS on, and there is something like no probability all the devices would work anyway.
Have a nice day.
there's no implication when you see "Orange state, your phone’s unlocked” unless you didn't the one who did it that means your device is tampered ..
also on SafetyNet is broad topic you can learn what it is here https://www.didgeridoohan.com/magisk/MagiskHideSafetyNet also
"Why would I need to pass this SafetyNet test for?" there are multiple reason such as you can't install banking apps,netflix, ...etc nor download them via playstore
moving on it is not recommend to backup userdata partition since it just contain all contains evidence of user activity. It contains call and SMS records, contacts, user-installed apps, app data, settings, and so-on-and-so-forth. In most newer phones, it also is likely to contain photos and videos and other user-generated files unless an external SD card is present. Also it would be impossible to restore userdata partition since android is encrypting it with unique key every time you set up your device https://source.android.com/security/encryption/full-disk
this prevent rooted application crawling on other application data such as paypal just stealing your login info and money
TWRP is like recovery mode but more feature packed (you can backup partition with it not available on stock recovery)
also experience is the best teacher you must experience failure to improve
ineedroot69 said:
Also it would be impossible to restore userdata partition since android is encrypting it with unique key every time you set up your device https://source.android.com/security/encryption/full-disk
this prevent rooted application crawling on other application data such as paypal just stealing your login info and money
Click to expand...
Click to collapse
With a simple ADB command you can decrypt Android partitions:
Code:
adb shell "recovery --set_encrypted_filesystem=on|off" <- enables / diasables encrypted fs
Hi,
Many thx for your answers.
also experience is the best teacher you must experience failure to improve
Click to expand...
Click to collapse
I can confirm that. I accidentally uninstalled the stock launcher with ADB. I’ve been able to install another launcher (I think I’ll keep on Nova Launcher). I tested a few (Launcher<3 and KISS Launcher), although they work fine none of them support switching between running apps. It’s a little bit annoying but I have another way to stop running apps (with App Manager). I guess the only way to get this functionality back is to flash again the boot partition with the Magisk patched image I already used, and to re-configure all the phone again (this is good to learn and luckily I don’t have important data in the phone yet).
Also it would be impossible to restore userdata partition since android is encrypting it with unique key every time you set up your device https://source.android.com/security/encryption/full-disk
Click to expand...
Click to collapse
Couldn’t be possible to dump both boot and userdata partitions and then flash them back both “at once”. The key for encrypting/decrypting the user data being contains in the boot (system ?) partition?
I realize Android has a bunch of security configuration you rarely find on a Linux server. Also the hardware is full of devices which require close-source firmware to operate. This is definitively not a good platform for hacking, like most PC are or a Rasberry Pi is . And I bet Windows and Apple phones are evermore closed…
About encrypting, I have a file called "googlekey/kb_0000000000.bin", which is the same in two archives the support sent me
$ md5sum S9S88A7.DGE.DOOGEE.*/googlekey/kb*
ead8a1d0f11e5f12bdda0f7a22935c2b S9S88A7.DGE.DOOGEE.EEA.HB.HJ.AYYDVFAZ.1130.V3.02/googlekey/kb_0000000000.bin
ead8a1d0f11e5f12bdda0f7a22935c2b S9S88A7.DGE.DOOGEE.HB.HJ.AYYDVFAZ.1203.V3.04/googlekey/kb_0000000000.bin
Click to expand...
Click to collapse
This file is not “per device” knowing every S96Pro users get the same archives. What’s its purpose?
I wonder the same for many files in this archive but I won’t bother you, I’ll make some search.
The one thing I’d like to understand is why the archive is labelled "1203.V3.04" and the system on my phone (after I flashed the boot partition with (a Magisk patched made from) the boot.img in this archive says : "0128.V3.03_20210128". Could it be related to the Magisk patching? (I didn’t check what I had with the stock boot.img). Or I have been downgraded by Google during install?
With a simple ADB command you can decrypt Android partitions:
Click to expand...
Click to collapse
Thx for this. What does it imply to do so? Will the Android system run with this unencrypted data partition? Is there a way to encrypt it again? (With ADB or directly in the phone?)
I’ve seen there are dozens of partitions on a running Android. So far this is what I understood (is this correct?) : There are three important partitions : boot, recovery and userdata. "boot" et "recovery" are the only ones the device can boot on (except booting from an image in fastboot mode using "fastboot boot boot.img"?). Are they some other important partitions this is important to be aware of?
Having a bootable "boot" and a bootable "recovery" partitions, it should be possible to install two different Android OS? I guess this is not possible and the "recovery" partition is dedicated to recovering (ie: reinstall the system) but I don’t understand how and why exactly. The encrypting thing maybe? The system must have a userdata partition and this one can’t be shared between to system…
I think I should buy an older Android smartphone to make all that kind of test, especially knowing I don’t have any other phone I can use for everyday use… Do you have some advice on brands and models which are more friendly with customization of the system?
Apart of ADB and fastboot, what are the other important tools to know about?
For Android development (I mean development of apps for Android), does everyone use an emulator? What’s the best option for such an emulator on Linux?
Have a nice day.
Marotte said:
For Android development (I mean development of apps for Android), does everyone use an emulator? What’s the best option for such an emulator on Linux?
Click to expand...
Click to collapse
My recommendation is GenyMotion for Linux. This emulator requires VirtualBox for Linux gets installed before.
Install GenyMotion
How To Install GenyMotion (Android Emulator) On Linux | 2DayGeek
2daygeek.com Linux Tips, Tricks & News today :- How to Install GenyMotion (Android Emulator) on Ubuntu, Debian, Linux Mint, openSUSE, Arch Linux, Fedora, CentOS, RHEL, Mageia, Manjaro
www.2daygeek.com
DL VirtualBox
Linux_Downloads – Oracle VM VirtualBox
www.virtualbox.org
Marotte said:
Having a bootable "boot" and a bootable "recovery" partitions, it should be possible to install two different Android OS? I guess this is not possible and the "recovery" partition is dedicated to recovering (ie: reinstall the system) but I don’t understand how and why exactly. The encrypting thing maybe?
Click to expand...
Click to collapse
Partitions /boot & /recovery explained:
/boot
This is the partition that enables the phone to boot, as the name suggests. It includes the kernel and the ramdisk. Without this partition, the device will simply not be able to boot.
/recovery
The recovery partition can be considered as an alternative boot partition that lets you boot the device into a recovery console for performing advanced recovery and maintenance operations on it.
That's what you can do from within the recovery console:
Reboot system now
Install ZIP from SD-card
Install ZIP from Sideload
Wipe data / factory reset
Wipe cache partition
Backup and restore
Hi,
Many thx for your answers.
also experience is the best teacher you must experience failure to improve
Click to expand...
Click to collapse
I can confirm that. I accidentally uninstalled the stock launcher with ADB. I’ve been able to install another launcher (I think I’ll keep on Nova Launcher). I tested a few (Launcher<3 and KISS Launcher), although they work fine none of them support switching between running apps. It’s a little bit annoying but I have another way to stop running apps (with App Manager). I guess the only way to get this functionality back is to flash again the boot partition with the Magisk patched image I already used, and to re-configure all the phone again (this is good to learn and luckily I don’t have important data in the phone yet).
Also it would be impossible to restore userdata partition since android is encrypting it with unique key every time you set up your device https://source.android.com/security/encryption/full-disk
Click to expand...
Click to collapse
Couldn’t be possible to dump both boot and userdata partitions and then flash them back both “at once”. The key for encrypting/decrypting the user data being contains in the boot (system ?) partition?
I realize Android has a bunch of security configuration you rarely find on a Linux server. Also the hardware is full of devices which require close-source firmware to operate. This is definitively not a good platform for hacking, like most PC are or a Rasberry Pi is . And I bet Windows and Apple phones are evermore closed…
About encrypting, I have a file called "googlekey/kb_0000000000.bin", which is the same in two archives the support sent me
$ md5sum S9S88A7.DGE.DOOGEE.*/googlekey/kb*
ead8a1d0f11e5f12bdda0f7a22935c2b S9S88A7.DGE.DOOGEE.EEA.HB.HJ.AYYDVFAZ.1130.V3.02/googlekey/kb_0000000000.bin
ead8a1d0f11e5f12bdda0f7a22935c2b S9S88A7.DGE.DOOGEE.HB.HJ.AYYDVFAZ.1203.V3.04/googlekey/kb_0000000000.bin
Click to expand...
Click to collapse
This file is not “per device” knowing every S96Pro users get the same archives. What’s its purpose?
I wonder the same for many files in this archive but I won’t bother you, I’ll make some search.
The one thing I’d like to understand is why the archive is labelled "1203.V3.04" and the system on my phone (after I flashed the boot partition with (a Magisk patched made from) the boot.img in this archive says : "0128.V3.03_20210128". Could it be related to the Magisk patching? (I didn’t check what I had with the stock boot.img). Or I have been downgraded by Google during install?
With a simple ADB command you can decrypt Android partitions:
Click to expand...
Click to collapse
Thx for this. What does it imply to do so? Will the Android system run with this unencrypted data partition? Is there a way to encrypt it again? (With ADB or directly in the phone?)
I’ve seen there are dozens of partitions on a running Android. So far this is what I understood (is this correct?) : There are three important partitions : boot, recovery and userdata. "boot" et "recovery" are the only ones the device can boot on (except booting from an image in fastboot mode using "fastboot boot boot.img"?). Are they some other important partitions this is important to be aware of?
Having a bootable "boot" and a bootable "recovery" partitions, it should be possible to install two different Android OS? I guess this is not possible and the "recovery" partition is dedicated to recovering (ie: reinstall the system) but I don’t understand how and why exactly. The encrypting thing maybe? The system must have a userdata partition and this one can’t be shared between to system…
I think I should buy an older Android smartphone to make all that kind of test, especially knowing I don’t have any other phone I can use for everyday use… Do you have some advice on brands and models which are more friendly with customization of the system?
Apart of ADB and fastboot, what are the other important tools to know about?
For Android development (I mean development of apps for Android), does everyone use an emulator? What’s the best option for such an emulator on Linux?
Have a nice day.
Have a nice day.
jwoegerbauer said:
My recommendation is GenyMotion for Linux. This emulator requires VirtualBox for Linux gets installed before.
Install GenyMotion
How To Install GenyMotion (Android Emulator) On Linux | 2DayGeek
2daygeek.com Linux Tips, Tricks & News today :- How to Install GenyMotion (Android Emulator) on Ubuntu, Debian, Linux Mint, openSUSE, Arch Linux, Fedora, CentOS, RHEL, Mageia, Manjaro
www.2daygeek.com
DL VirtualBox
Linux_Downloads – Oracle VM VirtualBox
www.virtualbox.org
Click to expand...
Click to collapse
I went for the official Android Studio from Google. I guess it’s the best for a complete newbie like me. I’ve been able to start a virtual phone with it.
This is the Android 10 recovery image by HCT (version 10.3.1) patched to skip signature checking on .zip files
Tested on MTCE_LM (Eunavi). Use at your own risk
It can be flashed from a root shell (either adb or via terminal emulator) by performing the following steps
1. upload recovery via adb
Code:
adb push hct_recovery_patched.img /sdcard/
2. flash recovery
Code:
# backup current recovery
dd if=/dev/block/by-name/recovery of=/sdcard/recovery_backup.img
# write new recovery
dd if=/sdcard/hct_recovery_patched.img of=/dev/block/by-name/recovery
NOTE: If you do not disable the "flash_recovery" service in /init.rc, AND you have a stock kernel, recovery will be restored to the original version after rebooting.
There are 3 ways to avoid this:
- Flash magisk (or a modified kernel) while in recovery. The patch will then fail to apply and recovery won't be overwritten
- Disable "flash_recovery" by doing "adb remount" and editing /init.rc (comment out the following)
Code:
service flash_recovery /system/bin/install-recovery.sh
class main
oneshot
- Neuter the service by either:
- removing /system/bin/install-recovery.sh- replacing /system/bin/install-recovery.sh with a dummy script- removing /system/recovery-from-boot.p
Woo-hoo, after hundreds of rubbish posts in the MTCD forums, we have a real development post!
Great work and thanks for sharing this, these forums need more like you.
Thanks for the kind comment!
I have to admit that it was frustrating to see the lack of information sharing on this forum, and the pervasive pay-per-use model.
I spent a lot of time just getting Android 10 installed (starting from Android 9), and i had to bring the head unit to my desk as working in the car was rather hard and all i achieved was a brick.
I unfortunately had to bring it back in the car now (can't sit on my desk forever) but, now that i figured out how to make bootable recoveries, i was wondering how hard it could be to have TWRP or at least a hassle-free recovery to install Android 10 from Android 9.
As a first step, this recovery makes it possible to install Magisk or other zip files without doing it manually within adb.
Cheers!
Your work is really good!
Thanks a lot for it.
Now you can also modify ROM's without signatur errors when installing.
Wouldn't it be good if we had an app like the ModInstaller ?
So a one click installation of the recovery without shell or adb.
I have now built an app.
And now need help.
Namely, in the app is the recovery and the script.
Unfortunately, the flash process is not started.
It always comes only the first message from the script.
The app is open source and the script and the recovery are in res/raw.
In the attach you will find the finished app and pictures.
If someone has a solution, he can write me or make a pull request on Github.
Source code:
GitHub - jamal2362/RK33XX-Custom-Recovery-Installer: Application for flashing custom recovery on Rockchip Android Head-Units.
Application for flashing custom recovery on Rockchip Android Head-Units. - GitHub - jamal2362/RK33XX-Custom-Recovery-Installer: Application for flashing custom recovery on Rockchip Android Head-Units.
github.com
The script:
RK33XX-Custom-Recovery-Installer/script at master · jamal2362/RK33XX-Custom-Recovery-Installer
Application for flashing custom recovery on Rockchip Android Head-Units. - RK33XX-Custom-Recovery-Installer/script at master · jamal2362/RK33XX-Custom-Recovery-Installer
github.com
First of all, congrats for the work!
DISCLAIMER:
I don't own ModInstaller, i have never bought a copy of it and i don't intend to do so.
Analysis is purely done from Youtube videos, open source code analysis and existing and openly available binary images.
I was working to figure out how to make a FLOSS alternative to ModInstaller.
The issues i found in all my attempts are the following:
- A6 recovery is the only one that can boot from SD Card (which can then be used to flash A9 -> A10 with the 2SD trick)
- (it took me a long time to pull these information together and unbrick my unit)- The A6 recovery is unable to directly flash A10 RKAF/RKFW images (sdupdate.img) due to the code being too old
- a failure will be observed while writing super.img. This happens because the device needs to be repartitioned, and the A6 recovery is not doing it correctly- A9 recovery is buggy. Booting it with no system installed will result in a black screen.
- it will only boot succesfully after being written by the A6 flash tool, which writes the "misc" partition with the recovery commands to run (the "hint" i get from this is that the misc partition is important)- A10 recovery can't be loaded by the A6 recovery. I always got a black screen after flash. Is it a flash issue? is it an issue with the recovery itself? hard to know
Theory: maybe the recovery could be written over the kernel partition? ("boot")
This way, the recovery will always run after being flashed instead of requiring an explicit "enter recovery" trigger (buttons, misc partition, etc.)
Besides these experiments, in parallel, i did some bug fixing to this repository: https://github.com/liftoff-sr/rockchip-tool/commits/master (i'm "smx-smx")
That allows me to unpack nad repack "sdupdate.img" , "reduced recovery images" and "full IMG files".
With those tools. i tried to swap "recovery.img" in the A6 image, but i always got the black screen upon booting from SD.
Either A9/A10 breaks sdboot or the bootloader crashes before it gets there.
Since this also happens when being flashed, this could either be a bug in the flashing program or a bug in the boot stack (which fails to run recovery perhaps due to a dirty state of the internal flash). It's hard to know for sure without having a UART connection with the board.
BUT, we have an alternative, in the form of the recovery built-in ISP flash tool.
This is the code that reads "sdupdate.img" from the SD Card and flashes it
After reading the recovery source code, i realised that this code can only be triggered correctly when booting from the SD card.
It detects this state by reading /proc/cmdline and probing for specific values (https://github.com/rockchip-android...6f72b7d3123dab27135ac41d55029/sdboot.cpp#L206)
This means the bootloader can (and will) pass those arguments under specific conditions (https://github.com/rockchip-linux/u...c873f178c/arch/arm/mach-rockchip/board.c#L358)
If you check here https://github.com/rockchip-linux/u...3f178c/arch/arm/mach-rockchip/boot_mode.c#L47 you can see the magic word that needs to be written to the "misc" partition in order to trigger that code.
Note that, besides the well known "sdboot", "usbboot" is also possible.
I'm not sure if the ROM can physically boot from USB, but the bootloader and recovery do support (according to code) passing the flag to enable flashing from USB.
So, recapping, there are these ways we can try:
a - try to overwrite "boot" with "recovery" (but it might not work due to the partitioning layout, e.g. jumping from A6 -> A10)
- note: uboot might also need to be written when doing this.
b - making a modified "sdupdate.img" that flashes recovery on top of boot, and all the other core partitions like "misc", "uboot", "trust", "vbmeta"
c - writing "misc" from android in order to triggers the "rkfwupdate" mode
d - taking a dump of the first portion of the flash in various states (A6, A8, A9, A10), and having a "dd" that writes it back to the beginning of the flash (i suspect this is how ModInstaller does it)
Considering cases "b" and "c" depend on a recovery that can write them correctly (and the A6 one is buggy), this leaves us with "a" and "d"
Considering that ModInstaller does it in one shot, and doesn't seem to matter about the partitioning layout, i believe "d" might be the most viable option...
Using the "rockchip-tool" repository i linked from github, the partition table can be dumped from any .img file
You can observe "Image/parameter.txt" from the extracted firmware
This is the partition table from A6's recovery:
[email protected](uboot)
[email protected](trust)
[email protected](misc)
[email protected](resource)
[email protected](kernel)
[email protected](dtb)
[email protected](dtbo)
[email protected](vbmeta)
[email protected](boot)
[email protected](recovery)
[email protected](backup)
[email protected](security)
[email protected](cache)
[email protected](system)
[email protected](metadata)
[email protected](vendor)
[email protected](oem)
[email protected](frp)
[email protected](userdata)
And this is the partition table from A9's recovery
[email protected](uboot)
[email protected](trust)
[email protected](misc)
[email protected](resource)
[email protected](kernel)
[email protected](dtb)
[email protected](dtbo)
[email protected](vbmeta)
[email protected](boot)
[email protected](recovery)
[email protected](backup)
[email protected](security)
[email protected](cache)
[email protected](system)
[email protected](metadata)
[email protected](vendor)
[email protected](oem)
[email protected](frp)
[email protected](userdata)
Notice how uboot, trust, misc, resource, kernel, dtb, and others live in the same space. (2000, 4000, 6000, 8000, 10000, ...)
What we could do is create a raw blob that spans that address range, and "dd" it directly to /dev/mmcblk0 at the right offset.
So i would focus on converting recovery images to raw blobs, with recovery-as-kernel so it boots straight away on the first try.
Bump a real thread.
Is it possible to convert it to a file installed by SDDiskTool?
marchnz said:
Bump a real thread.
Click to expand...
Click to collapse
I created a flashing tool to flash recovery within Android, using Rockchip's own code: https://forum.xda-developers.com/t/...chip-firmware-flash-tool-for-android.4458299/
blala said:
I created a flashing tool to flash recovery within Android, using Rockchip's own code: https://forum.xda-developers.com/t/...chip-firmware-flash-tool-for-android.4458299/
Click to expand...
Click to collapse
This file hct_recovery.patched.img does not appear to be installed via rkupdate
sadaghiani said:
Is it possible to convert it to a file installed by SDDiskTool?
Click to expand...
Click to collapse
It needs to be converted, yes
I'll take a look this afternoon
blala said:
It needs to be converted, yes
I'll take a look this afternoon
Click to expand...
Click to collapse
Is it possible to create a boot image that includes moded recovery & magisk and moded kernel ?
If by image you mean firmware image then yes, it can be done with https://github.com/liftoff-sr/rockchip-tool
But what i would recommend is the modded recovery only, with the magisk .zip to use in Recovery
Otherwise you risk flashing a kernel that doesn't match with kernel modules or is otherwise not fully compatible with the installed system
blala said:
If by image you mean firmware image then yes, it can be done with https://github.com/liftoff-sr/rockchip-tool
But what i would recommend is the modded recovery only, with the magisk .zip to use in Recovery
Otherwise you risk flashing a kernel that doesn't match with kernel modules or is otherwise not fully compatible with the installed system
Click to expand...
Click to collapse
boot.img file included recovery+magisk+kernel
Flashing a boot.img (Kernel, for example) in an Android mobile phone via adb shell
Flashing a boot.img (Kernel, for example) in an Android mobile phone via adb shell - script.sh
gist.github.com
MTCD has separate boot and recovery partitions.
Perhaps you can adapt both recovery/kernel to be in the same image but the bootloader won't know about that (and will always boot from "recovery" partition)
So I have encrypted a phone, Lineage OS 14.1 UNOFFICIAL. DIDNT WORK. i couldnt boot to os
I went into twrp made backup of everything except EFS partition,, transfered to my PC. Formatted data then even tried new OS install it does work. So i just went and tried restoring the data partition only and it restored it succesfully, when I try booting, It takes some time and encryption starts, automatically.
Is there a way to not start encryption process? Are there some files in data partition that are causing encryption process to start on boot which I can remove? Help
NOTE: TWRP did ask for my password when I was making my backup, so I entered correctly and It worked. I made a backup of that partition. My guess is that something is initiating the encryption process on boot
Encrypting is default behavior: since Android 4 it was FDE ( full-disk encryption ) , since Android 9 it's FBE ( file-based encryption ). Since Android 10 FBE is mandatory.
Encryption takes place when device gets booted if in Android's FSTAB file this flag is set.
jwoegerbauer said:
Encrypting is default behavior: since Android 4 it was FDE ( full-disk encryption ) , since Android 9 it's FBE ( file-based encryption ). Since Android 10 FBE is mandatory.
Encryption takes place when device gets booted if in Android's FSTAB file this flag is set.
Click to expand...
Click to collapse
First of all, thank you for your reply. Can I open and change that flag inside the fstab file?
android?boy said:
First of all, thank you for your reply. Can I open and change that flag inside the fstab file?
Click to expand...
Click to collapse
jwoegerbauer said:
Encrypting is default behavior: since Android 4 it was FDE ( full-disk encryption ) , since Android 9 it's FBE ( file-based encryption ). Since Android 10 FBE is mandatory.
Encryption takes place when device gets booted if in Android's FSTAB file this flag is set.
Click to expand...
Click to collapse
Also, Where is the fstab file located. I saw it in /etc/fstab, but I didnt change that partition when I restored only Data, so it must be there. Am I wrong?
To answer your question "Can I open and change that flag inside the fstab file?":
Even if fstab file is present - it's present in several locations, you cannot simply edit it and be done. You'd have to rebuild the boot image instead – a task that goes beyond the scope of this thread ( which is end-user orientated, and creating/rebuilding a boot image rather is in the domain of developers ).
first, determine encryption type.
Code:
adb shell getprop ro.crypto.type
adb shell getprop ro.crypto.state
next find the fstab. for older devices it is in boot ramdisk (needs un-/repacking boot.img with AIK)
https://forum.xda-developers.com/t/...-kernel-ramdisk-win-android-linux-mac.2073775
for (SAR) system-as-root devices it is in /vendor/etc.
assuming dm-verity is disabled and in TWRP system/vendor is mountable rw, for (FDE) full disk encryption you can replace the forceencrypt= flag with encryptable=
https://forum.xda-developers.com/t/4061571/post-82849947
for (FBE) file based encryption it is not possible to disable the first boot behaviour. either keep encryption as is (recommended) or destroy encryption completely by removing the fileencryption= flag and formatting /data.
there exist flashable zips for this
https://forum.xda-developers.com/t/...encrypt-disk-quota-disabler-11-2-2020.3817389