This is a tool I made for myself for backing up some of the custom files... Mostly as a result of wanting to expedite the process of backing up some configuration files in /system (such as inadyn.conf or bashrc on synergy rom). It reads a text file to determine what files you want, saves them in a tar on your sdcard (necessary to tar them to keep permissions the same when transferring to fat). Then you flash the restore zip to put them back.
It's set to not backup if there already is a backup (to prevent overwriting your custom files by clicking the wrong zip). The backup.tar is deleted on successful restore.
To use, create a text file in /sdcard/custBackups called custom_files.txt, and put the full pathname of each desired file in there, seperated by a single space (no newlines). While in recovery, run the backup zip to save your custom files, and run the restore zip to restore them after flashing.
An easy way to add the files while using adb shell (with busybox installed) is to cd and ls around to find your file, then while working in the same directory run this command
echo " `realpath myfilename`" >> /sdcard/custBackups/custom_files.txt
(those are backticks, not single quotes, which may be on hackers keyboard but isn't on most android keyboards, that's why I suggested adb shell)
looks long but is pretty quick with bash completion. But only needs to be done once for each file, the text file stays in place.
Thanks to Cyanogen's team and ginger yoshi, as I got the idea from them and learned the updater script reading their files.
A dev can put this in their own updater script so it's all in one (which I do when exporting the svn for synergy). If you can't figure out how to add it reading my script, let me know. And if any devs do use, just shoot me some credit.
If this is used on any other phone, the assert command and mount command in updater script needs to be changed to suit... the rest should be pretty universal.
Is this something like Titanium Backup.apk but in zip format?
No I made this just for synergy for backing up the special configuration files for some of the special tools i'm that ROM, like inadyn and dropbear. Also any special themed files, my fonts..
Basically, catching any system files that titanium and other apps don't get.
Sent from my PG86100 using XDA App
Hi guys,
I'm at my wit's end with this one.
I have a 1.2GB data.img file created with Clockworkmod Recovery backup. I believe it was one of the older versions, in the 3.x.x.x range. When this was created I had plenty of space available on the SD and the MD5 was created successfully.
I have had no luck restoring this with any version of CWM. Restoring simply results in a system that won't boot; I am presented with either a black screen or a boot-loop. I have since learned that this is because my backup has too many files. Apparently CWM is hard-coded to restore a maximum of 10,000 files and will not restore anything past that point. I found a thread where someone had edited the source code to increase this limit to 50,000, compiled and flashed it, then successfully restored their backup. Aside from the initial editing, I would not know where to start to do this for my phone (SGS2)
Furthermore, I cannot extract the contents with unyaffs.exe for Windows. When I try to do this, it extracts a small portion of files (around 170MB), then exits with the following report :
Code:
read image file
: Bad file descriptor
read image file
: Bad file descriptor
I have since learnt that this is due to NTFS limitations with the length of pathnames. 'No problem' I think, and decide to install Ubuntu 11.10 so that I can use the linux version of unyaffs to extract the full thing without these limitations.
After a bit of messing around, I successfully compile the unyaffs source (I'm no expert in these matters). I then attempt to extract data.img and after a short while processing I get another error! :
Code:
Segmentation fault
Out of interest, I checked how much data had been extracted and got 9,544 items, totalling 204.2 MB. So I'm roughly 1 GB down.
Please help, you might not believe the hours I've spent to get to this stage and I still can't get all of my data back. I need my contacts (Google didn't back them up apparently), messages, app data and anything else I can get my hands on. If there's a better utility I can use for extracting, or perhaps a modified version of CWM I can flash onto my SGS2 so that I can restore the backup properly, I'm all ears.
Look forward to any responses and thanks in advance.
Just to update, I have now tried ext2explore on Windows 7, as well as yaffs2 explorer on Android. Both will open the .img file but display a blank window.
The situation:
System partition has been wiped, would like to restore it using OTA.zip available from OEM
What I have
Access to fastboot and adb sideload in stock recovery
OTA zip package from OEM
What I have tried and my background
I have been on the client side of mods\recoveries\dev for android platforms on various devices for 4-5 years. I'm capable with Linux, and self teach quickly, I know just enough to get myself into trouble at the moment(hence the trouble I'm in).
1. I have tried to convert the system data in the OEM package to a yaffs etx4 style .img and send via fastboot, but I get "Invalid sparse file format at header magi" this led down a road to a tool called sparse converter that compressed the img into smaller parts, but then I get a more generic error "FAILED (remote: flash_cmds error!) For giggles , even know I know this would have been useless even if it had worked I tried it with the stock SDK 4.4.2 system.img just to see if I could fastboot any system files, same result.
2. So then I thought perhaps I could go the ADB side-load approach, first I tried just sending over the provided OTA zip package, but I get an error on the device after if finishes transferring "end of footer from /tmp/update.zip not 0xffff (file exists)" and "Signature verification failed" this led me to using a tool called "UpdatezipCreator" to generate a zip with the system files and sign the package, this also was a dead end.
So i'm turning to the wisdom and experience of XDA for some guidance, I'm willing to put in the leg work, I just need some direction.
TF103C Update
A couple of things. Im having the same issues with creating a yaffs ext4 .img and have the same error when i got to flash the image. Intel actually has a repo some place for bay trail (with bay lake included) device setup (https://01.org/android-ia). I did the same thing you did with AOSP and as expected it tries to boot but fails and boot loops.
I have however been able to flash the update.zip that is on the Asus website through recovery. First question did you unzip the the first zip file? The zip that is the link contains another zip which is the one you upload and update (sideload worked for me).
Im wondering if you can help me out too. I got an OTA about a day ago and hit the back button but it decided to update anyway. The tablet rebooted and just flashed a red bar at me then turned off. I can get to the droidboot to load images but I cant boot into recovery and im not sure why. Ive tried using the zenRoot recoveries that were used for rooting, but no luck. Booting to system or recovery produces a red bar and turns off. Do you by chance have a recovery I could try? Thanks.
Hope that was helpful.
Eclipse00 said:
The situation:
System partition has been wiped, would like to restore it using OTA.zip available from OEM
What I have
Access to fastboot and adb sideload in stock recovery
OTA zip package from OEM
What I have tried and my background
I have been on the client side of mods\recoveries\dev for android platforms on various devices for 4-5 years. I'm capable with Linux, and self teach quickly, I know just enough to get myself into trouble at the moment(hence the trouble I'm in).
1. I have tried to convert the system data in the OEM package to a yaffs etx4 style .img and send via fastboot, but I get "Invalid sparse file format at header magi" this led down a road to a tool called sparse converter that compressed the img into smaller parts, but then I get a more generic error "FAILED (remote: flash_cmds error!) For giggles , even know I know this would have been useless even if it had worked I tried it with the stock SDK 4.4.2 system.img just to see if I could fastboot any system files, same result.
2. So then I thought perhaps I could go the ADB side-load approach, first I tried just sending over the provided OTA zip package, but I get an error on the device after if finishes transferring "end of footer from /tmp/update.zip not 0xffff (file exists)" and "Signature verification failed" this led me to using a tool called "UpdatezipCreator" to generate a zip with the system files and sign the package, this also was a dead end.
So i'm turning to the wisdom and experience of XDA for some guidance, I'm willing to put in the leg work, I just need some direction.
Click to expand...
Click to collapse
I have the same problem, keysersoza42. I did a "fastboot wipe system" and now I only have access to fastboot. Just need to find a way to put system back
keysersoza42 said:
I have however been able to flash the update.zip that is on the Asus website through recovery. First question did you unzip the the first zip file? The zip that is the link contains another zip which is the one you upload and update (sideload worked for me).
Click to expand...
Click to collapse
Can you please tell me the exact steps you used to get sideload to work? I have the same problem as Eclipse00 : "after if finishes transferring "end of footer from /tmp/update.zip not 0xffff (file exists)" and "Signature verification failed""
Asus TF103C update.zip
UPDATE: Link to system.img
goo.gl/Oz2X7o
Honestly all i did was follow the normal steps to do a side load. One thing to make sure of is that you have the correct version of the firmware; BBY, WW, etc. When you first download it it is a Zip file in a zip file so the second one is the one you need to side load. To step this out:
1) Download from Asus the correct update. If you dont know which version you have you can boot into the bootloader and one of the versions will say BBY, WW, etc...
2) Unzip the contents of the download from Asus. This should be another zip file.
3) Boot into recovery. If you get the 'dead android' press and hold vol down for about 5 seconds then press vol up.
4) In recovery enter sideload mode
5) adb sideload innerUpdate.zip file (the zip file you unzipped from the downloaded file).
6) works???
This is what worked for me. The other option is to fastboot a system.img. This is hard b\c Asus doesnt release them and when i dd'ed a system image off of the partition it wouldn't load. I did however find a way to get a system image on there through fastboot. If it comes down to this let me know and ill post more on it. Good luck!
RaVe-N said:
Can you please tell me the exact steps you used to get sideload to work? I have the same problem as Eclipse00 : "after if finishes transferring "end of footer from /tmp/update.zip not 0xffff (file exists)" and "Signature verification failed""
Click to expand...
Click to collapse
---------- Post added at 08:55 PM ---------- Previous post was at 08:36 PM ----------
Sorry this is old, but just a couple of weeks ago i got the fastboot system.img to load. Here are the steps I did to produce this.
Some times its helpful to unpack a system image and/or repack to be flashed to an android device. For example the Asus tf103c required special compressing for parsing.
Tools you will need:
simg2img
make_ext4fs
Windows
SparseConverter_1.0.0.exe
Note: There were system.img files that were pulled directly from a rooted device using dd. These images would always give an error (flash_cmds_error!) while trying to write the image even if it had been compressed. The only way I got around this was to mount and unpack an image known to flash correctly (in my case the Intel BayTrail image from the intel android repo). The replace the contents with what every you wish to be in there (in my case the system folder from the Asus update.zip). The limitation here is you are limited to the size of the original flashable .img. Usually you can remove odex files to get around this and push those later if needed.
For the Asus images the NFC was removed from the list of features b\c it didnt have NFC which resulted in the settings app to crash during onCreate. These files were removed from the system directory.
/system/etc/permission/*.nfc*
Step-by-step guide
Steps 1-6 may be done in linux but step 7 and 11-15 must be done in windows.
In your workspace create a dir. mkdir sys
./simg2img system.img sys.raw
If you get : "Invalid sparse file format at header magi Failed to read sparse file"
You must decompress the image first with SparseConverter.
go to step 9 except replace 14 with this: SparseConverter.exe /decompress [.img to decompress] [.img to write to] then return to this step and continue.
SparseConverter.exe /decompress E:\system.img_sparsechunk1 D:\system.img
sudo mount -t ext4 -o loop sys.raw sys/
sudo ./make_ext4fs -s -l 1638M -a system new.img sys/
Note: The size needs to change depending on how big of an im age it is.
You may try to push the image as is, but if you get a "Invalid Sparse File Format At Header Magi" you have a compression error in the system image and can not be separated properly.
In windows open a command prompt window
Navigate to the SparseConverter_1.0.0.exe
SparseConverter.exe /compress [.img to compress] [.img to write to] [size in MB]
SparseConverter.exe /compress D:\system.img E:\ 256MB
Good Luck!
AndroidDestoryer said:
I have the same problem, keysersoza42. I did a "fastboot wipe system" and now I only have access to fastboot. Just need to find a way to put system back
Click to expand...
Click to collapse
Thanks.
I think the reason sideload isn't working is that my OTA update version is higher than the version downloadable as a zip...
Those are the steps I followed but it just doesn't work.
What exactly is the system image file you have linked to? Has it already gone through all the steps mentioned below? Is it plain old AOSP?
Thanks for all the help.
keysersoza42 said:
UPDATE: Link to system.img
goo.gl/Oz2X7o
Honestly all i did was follow the normal steps to do a side load. One thing to make sure of is that you have the correct version of the firmware; BBY, WW, etc. When you first download it it is a Zip file in a zip file so the second one is the one you need to side load. To step this out:
1) Download from Asus the correct update. If you dont know which version you have you can boot into the bootloader and one of the versions will say BBY, WW, etc...
2) Unzip the contents of the download from Asus. This should be another zip file.
3) Boot into recovery. If you get the 'dead android' press and hold vol down for about 5 seconds then press vol up.
4) In recovery enter sideload mode
5) adb sideload innerUpdate.zip file (the zip file you unzipped from the downloaded file).
6) works???
This is what worked for me. The other option is to fastboot a system.img. This is hard b\c Asus doesnt release them and when i dd'ed a system image off of the partition it wouldn't load. I did however find a way to get a system image on there through fastboot. If it comes down to this let me know and ill post more on it. Good luck!
---------- Post added at 08:55 PM ---------- Previous post was at 08:36 PM ----------
Sorry this is old, but just a couple of weeks ago i got the fastboot system.img to load. Here are the steps I did to produce this.
Some times its helpful to unpack a system image and/or repack to be flashed to an android device. For example the Asus tf103c required special compressing for parsing.
Tools you will need:
simg2img
make_ext4fs
Windows
SparseConverter_1.0.0.exe
Note: There were system.img files that were pulled directly from a rooted device using dd. These images would always give an error (flash_cmds_error!) while trying to write the image even if it had been compressed. The only way I got around this was to mount and unpack an image known to flash correctly (in my case the Intel BayTrail image from the intel android repo). The replace the contents with what every you wish to be in there (in my case the system folder from the Asus update.zip). The limitation here is you are limited to the size of the original flashable .img. Usually you can remove odex files to get around this and push those later if needed.
For the Asus images the NFC was removed from the list of features b\c it didnt have NFC which resulted in the settings app to crash during onCreate. These files were removed from the system directory.
/system/etc/permission/*.nfc*
Step-by-step guide
Steps 1-6 may be done in linux but step 7 and 11-15 must be done in windows.
In your workspace create a dir. mkdir sys
./simg2img system.img sys.raw
If you get : "Invalid sparse file format at header magi Failed to read sparse file"
You must decompress the image first with SparseConverter.
go to step 9 except replace 14 with this: SparseConverter.exe /decompress [.img to decompress] [.img to write to] then return to this step and continue.
SparseConverter.exe /decompress E:\system.img_sparsechunk1 D:\system.img
sudo mount -t ext4 -o loop sys.raw sys/
sudo ./make_ext4fs -s -l 1638M -a system new.img sys/
Note: The size needs to change depending on how big of an im age it is.
You may try to push the image as is, but if you get a "Invalid Sparse File Format At Header Magi" you have a compression error in the system image and can not be separated properly.
In windows open a command prompt window
Navigate to the SparseConverter_1.0.0.exe
SparseConverter.exe /compress [.img to compress] [.img to write to] [size in MB]
SparseConverter.exe /compress D:\system.img E:\ 256MB
Good Luck!
Click to expand...
Click to collapse
Versions and system.img
Oh yeah i forgot about that. If you are ahead of the update then it will reject the load. Last i checked there was an "2.0.33.80" and a "2.0.33.101" on the asus website. I think 101 is 4.4.4, but not 100% sure on that.
The system.img is a stock image of the ASUS TF103C. It has no NFC b\c the device does not have NFC and if you leave some of the files in there the settings app will crash b\c it thinks its a feature it should find. The version should be "80" or 4.4.2. This will load regardless of the version that is currently loaded since you are loading it through the bootloader. I have tried this on both the WW and BBY versions and it worked. It has already gone through the steps i listed below.
RaVe-N said:
Thanks.
I think the reason sideload isn't working is that my OTA update version is higher than the version downloadable as a zip...
Those are the steps I followed but it just doesn't work.
What exactly is the system image file you have linked to? Has it already gone through all the steps mentioned below? Is it plain old AOSP?
Thanks for all the help.
Click to expand...
Click to collapse
Thanks mate.
I'll give it a whirl tonight and see how it goes. I should just be able to use "fastboot flash system system.img" correct?
keysersoza42 said:
Oh yeah i forgot about that. If you are ahead of the update then it will reject the load. Last i checked there was an "2.0.33.80" and a "2.0.33.101" on the asus website. I think 101 is 4.4.4, but not 100% sure on that.
The system.img is a stock image of the ASUS TF103C. It has no NFC b\c the device does not have NFC and if you leave some of the files in there the settings app will crash b\c it thinks its a feature it should find. The version should be "80" or 4.4.2. This will load regardless of the version that is currently loaded since you are loading it through the bootloader. I have tried this on both the WW and BBY versions and it worked. It has already gone through the steps i listed below.
Click to expand...
Click to collapse
fastboot
Yes that is correct and in the bootloader.
Did you give this a try? Did it work?
RaVe-N said:
Thanks mate.
I'll give it a whirl tonight and see how it goes. I should just be able to use "fastboot flash system system.img" correct?
Click to expand...
Click to collapse
keysersoza42 said:
Yes that is correct and in the bootloader.
Did you give this a try? Did it work?
Click to expand...
Click to collapse
YES! Thanks so much! had to fastboot erase cache and data as well but it works!
Cheers!
keysersoza42 said:
Yes that is correct and in the bootloader.
Did you give this a try? Did it work?
Click to expand...
Click to collapse
Hi again.
So after a couple of days usage I've noticed a few things...
There appears to be no camera driver. The camera app just complains that you need to have a camera to use it...
Also some things that used to work don't anymore: So far I've noticed the Google Inbox app doesn't work, and any dosbox app doesn't work. They just FC.
Should I retry again, maybe redo the factory reset. Maybe wipe the data partition from fastboot?
Camera and other crashes
Ill have to take a look at it. I hadnt used any of those so ill have to checkout it out. Ill try to get some time this week.
RaVe-N said:
Hi again.
So after a couple of days usage I've noticed a few things...
There appears to be no camera driver. The camera app just complains that you need to have a camera to use it...
Also some things that used to work don't anymore: So far I've noticed the Google Inbox app doesn't work, and any dosbox app doesn't work. They just FC.
Should I retry again, maybe redo the factory reset. Maybe wipe the data partition from fastboot?
Click to expand...
Click to collapse
Same issue
Hi guys,
Just noticed this thread, and gave the uploaded system.img a try using fastboot command.
It gives me the error that the system img cannot exceed a certain amount of bytes (500 mb'ish)
any tips?
Brick3d said:
Hi guys,
Just noticed this thread, and gave the uploaded system.img a try using fastboot command.
It gives me the error that the system img cannot exceed a certain amount of bytes (500 mb'ish)
any tips?
Click to expand...
Click to collapse
Try this: http://forum.xda-developers.com/showpost.php?p=60638910&postcount=78
RaVe-N said:
Try this: http://forum.xda-developers.com/showpost.php?p=60638910&postcount=78
Click to expand...
Click to collapse
If you need to unbrick your tablet, have a look at my simple guide here!
http://forum.xda-developers.com/android/help/comprehensive-guide-unbricking-asus-t3106719
keysersoza42 said:
Asus TF103C update.zip
UPDATE: Link to system.img
goo.gl/Oz2X7o
Honestly all i did was follow the normal steps to do a side load. One thing to make sure of is that you have the correct version of the firmware; BBY, WW, etc. When you first download it it is a Zip file in a zip file so the second one is the one you need to side load. To step this out:
1) Download from Asus the correct update. If you dont know which version you have you can boot into the bootloader and one of the versions will say BBY, WW, etc...
2) Unzip the contents of the download from Asus. This should be another zip file.
3) Boot into recovery. If you get the 'dead android' press and hold vol down for about 5 seconds then press vol up.
4) In recovery enter sideload mode
5) adb sideload innerUpdate.zip file (the zip file you unzipped from the downloaded file).
6) works???
This is what worked for me. The other option is to fastboot a system.img. This is hard b\c Asus doesnt release them and when i dd'ed a system image off of the partition it wouldn't load. I did however find a way to get a system image on there through fastboot. If it comes down to this let me know and ill post more on it. Good luck!
---------- Post added at 08:55 PM ---------- Previous post was at 08:36 PM ----------
Sorry this is old, but just a couple of weeks ago i got the fastboot system.img to load. Here are the steps I did to produce this.
Some times its helpful to unpack a system image and/or repack to be flashed to an android device. For example the Asus tf103c required special compressing for parsing.
Tools you will need:
simg2img
make_ext4fs
Windows
SparseConverter_1.0.0.exe
Note: There were system.img files that were pulled directly from a rooted device using dd. These images would always give an error (flash_cmds_error!) while trying to write the image even if it had been compressed. The only way I got around this was to mount and unpack an image known to flash correctly (in my case the Intel BayTrail image from the intel android repo). The replace the contents with what every you wish to be in there (in my case the system folder from the Asus update.zip). The limitation here is you are limited to the size of the original flashable .img. Usually you can remove odex files to get around this and push those later if needed.
For the Asus images the NFC was removed from the list of features b\c it didnt have NFC which resulted in the settings app to crash during onCreate. These files were removed from the system directory.
/system/etc/permission/*.nfc*
Step-by-step guide
Steps 1-6 may be done in linux but step 7 and 11-15 must be done in windows.
In your workspace create a dir. mkdir sys
./simg2img system.img sys.raw
If you get : "Invalid sparse file format at header magi Failed to read sparse file"
You must decompress the image first with SparseConverter.
go to step 9 except replace 14 with this: SparseConverter.exe /decompress [.img to decompress] [.img to write to] then return to this step and continue.
SparseConverter.exe /decompress E:\system.img_sparsechunk1 D:\system.img
sudo mount -t ext4 -o loop sys.raw sys/
sudo ./make_ext4fs -s -l 1638M -a system new.img sys/
Note: The size needs to change depending on how big of an im age it is.
You may try to push the image as is, but if you get a "Invalid Sparse File Format At Header Magi" you have a compression error in the system image and can not be separated properly.
In windows open a command prompt window
Navigate to the SparseConverter_1.0.0.exe
SparseConverter.exe /compress [.img to compress] [.img to write to] [size in MB]
SparseConverter.exe /compress D:\system.img E:\ 256MB
Good Luck!
Click to expand...
Click to collapse
the link to system.img is not working
Well, as the title sugests, I've tried to root my phone (Samsung Galaxy J1 SM-J100MU) and failed. Since no twrp or any other custom recovery is made for my specific model, I tried the method that involves mounting the android systems and modifying the famous build.prop, or putting su binaries inside the /system folder.
I ran an unpack script from ubuntu to decompress the boot file, and simg2img to be able to mount /system following some guides I've found, and made use of mkbootimg to repack it and flash it.
The thing is that the phone won't boot because the modified boot image size differs from the original. The system also differs but Odin won't even flash it and I'll have to reflash the stock rom.
Any ideas about what it can happen? I get no apparently errors during the process of unpacking/repacking the images so I don't know. The only thing I can think of is that the unpack script says something like "There's an extra file in ramdisk; though this file can exist, the script is not made for this type of ramdisk", so I edited the script in order to skip this warning, and everything else went well. The bootimg got unpacked and then the ramdisk and then I modified default.prop.
Well, that's it, I hope you can understand and give me some help in order to proceed.
Thank you in advance.
Been trying for days to extract the kernel from Nougat to use it within Marshmallow in order to downgrade with vibration working on nougats bootloader - but for the life of me i can NOT get windows to actually read these files properly. have all kinds of mounting programs, a java based converter that doesnt actually work (sgs2ext4) i end up with this loop of the same lines, and a 0kb converted file. I can mount the regular img file fine, but it will NOT open without some sort of error. the files themselves are just fine as they will properly flash and run when using odin (when compressed into tar.md5)
Tried wthin twrp hoping the file manager might just let me browse through it since the phone is already linux based and can actually see the information... but no dice there either. It doesnt go into further detail than just showing me that theres an img file present, with options to delete, chmod, etc.
what can i do to dig down to this zimage portion of boot.img that everyone insists the kernel is within? (i say insist cuz i havent actually seen it for myself!)
none of the tutorials ive come across address these specific opening errors - other than that the error is happening because windows cant read it
diskinternals wont work, osfmount will mount but i cant read it .... where on earth are these drivers or programs or whatever i need to actually allow me to browse and explore these files properly? and dare i say, recompress them once ive found what im looking for!
i did also try flashify, thinking run nougat, backup kernel, install marshmallow, restore nougat kernel, but it just leads to freezing on boot logo. I need to get within these img files to actually do what i want to successfully, switching out only that one specific zimage part of the file, leaving the rest intact.
very frustrated here, would very much love some help with this...
Try this, helped so much!
https://forum.xda-developers.com/general/xda-university/unpacking-editing-packing-roms-img-dat-t3350261
Also, If you want to try, here is a link for the tools:https://www.androidfilehost.com/?fid=24459283995310951