Universal Android Flasher - Other Tools & General Discussion

From now on, Android rom can be easy to pack. You don't need to worry about the permissions of the files or the symlinks anymore.
What does this package do:
1. Automatically find and recognize the img with patterned name in the same folder of this package.
2. Automatically wipe and flash the system partition when system.img is found.
3. Automatically flash the addon pack without wiping the system partition when addon.*.img is found.
4. Automatically backup efs and efs_gsm partition, on Samsung Duo sim card phones.
5. Be able to flash the unmountable partitions like boot, recovery, modem, etc.
How to pack:
1. Make you rom on on the Phone or Linux. On the Phone? Yes, you can test your patches on your phone.
2. No matter on the Phone or on Linux, cd /system/ or cd <your system folder>, check the permissions and symlinks. Usually I don't check cause I modify directly on a system I dumped from my phone. Yes a dump of system partition is a good idea.
3. You have two optitions: 1. Use the modified dumped system partition dump as system.img. This usually generate a big img to flash, but will flash faster. 2. If you use extracted folder or want to use small files, cd to the system folder in shell and make the folder to a tarball with the command: 'tar --lzma -cf <your tar file> * .[!.]*'. Why use * .[!.]*? This will put the .* files and folders in the tarball.
4. Then rename the dumped image or the tarball to system.img and put it in the same folder of the FLASHER.
5. Want to make an addon? Just make the name like addon.<your name>.img. Don't for get the permissions and ownership of the files and folders.
Future plan:
1. Make a packer/dumper for the system partition.
Github:
https://github.com/maxfu/universal_android_flasher
I will edit this post and post some pictures later.

Related

[GUIDE] How to create a your own ROM

How to create your own ROM update.zip for the T-Mobile MyTouch 3G
Things you will need to perform this:
Java SE Dev Kit from Sun. java.sun.com
May need Cygwin with zlib0 package, from cygwin.com
This will give you Android 1.6 with all the Google applications, Root access.
I never found one place where all this information is all together, so that is why I compiled this together.
Now anyone can do this themselves.
Thanks to all the hard work others have done before this.
1.
First Root your phone and install a new Recovery image, either Amon Ra or Cyanogens Recovery image.
Instructions for one-click root: http://theunlockr.com/2009/08/22/how-to-root-the-mytouch-3g-or-g1-in-one-click/
2.
Download the Android 1.6 System image from
http://developer.htc.com/google-io-device.html
extract the contents of signed-google_ion-img-14721.zip.
3.
You now need to extract the contents of system.img using a tool called unyaffs. The source code is here:
http://code.google.com/p/unyaffs/downloads/list
Or download a prebuilt win32 version here.
http://jiggawatt.org/badc0de/android/index.html
Note you may also need cygwin1.dll and cygz.dll (zlib0 package). Found at cygwin.com
Of course if you already have Cygwin installed with the GCC packages, you can just compile it yourself. Then also
if you comment out the line 67 to "// symlink(oh->alias, full_path_name);"
then it will not create the copies of the symbolic link file, and you will not have to worry about deleting duplicate
symbolic link files later.
Now in the directory where system.img exists, create a new directory called "system"
go into the "system" directory.
type the following command:
unyaffs ..\system.img
That should extract all the files from the system.img file into the system directory.
4.
Now we just need to clean up some items. Since the system.img is a linux file system, it has symbolic
links built into it, but when we extracted it, it just created duplicate files, if you used the prebuilt unyaffs.exe.
So we can just delete the duplicates and have a script recreate the symlink on install.
So we need to delete some extra files from the system\bin directory.
Run the attached DeleteExtras.bat file from the same directory where system.img is in.
If you notice, all the files it deletes are 28 byte files, and if you open them in notepad only contain:
"!<symlink>toolbox..."
And we will remake the symbolic link when it is installed.
5.
Now from the directory where the system.img is, enter the following commands
mkdir META-INF
mkdir META-INF\com
mkdir META-INF\com\google
mkdir META-INF\com\google\android
Now copy the included file "update-script.txt" into the "META-INF\com\google\android" directory
and RENAME it to just "update-script".
This update-script gets run to recreate the symbolic links.
Not sure if these two are needed but they are in some custom ROMs here:
Copy the two files "fix_permissions" and "flash_image" to the "system\bin" directory.
6.
-- Optional --
These add root and Superuser access to the ROM, plus the Terminal Emulator application.
Copy the file "su" from Cyanogen's rom to the folder "system\bin"
Copy the file "Superuser.apk" to the folder "system\app"
Copy the file "Term.apk" to the folder "system\app"
You can also replace the "system\etc\apns-conf.xml" with a more complete one from here:
http://forum.xda-developers.com/showthread.php?t=547718
or here
http://docs.google.com/Doc?docid=0AZNbAmKkmakoZGZxZHNwMnpfMjJkaHg3ejN3eg&hl=en
Turn data roaming off by default by editing line in the build.prop file:
ro.com.android.dataroaming=false
Also to fix the Market program to show "Protected" applications change the ro.build.fingerprint line to the following:
ro.build.fingerprint=tmobile/opal/sapphire/sapphire:1.5/COC10/150449:user/ota-rel-keys,release-keys
Only phones with a fingerprint of a "released" device can access some market applications.
--------------
7.
Now we just need to create a ZIP file for the final ROM
Zip up the following file and two folders:
boot.img
META-INF
system
8.
Now sign the zip file.
See here how to sign a ZIP file for flashing it.
http://androidforums.com/developer-101/8665-how-signing-roms.html
9.
Copy it to your SD card, boot into recovery, wipe, apply the update, Reboot.
You are now running Android 1.6!
the finger print is found in build.prop is this correct and what app do you use to edit your build.prop
Yes the fingerprint is in build.prop
Make sure to use an advanced text editor like TextPad, UltraEdit, or EditPlus. It has to handle UNIX text files.
Also use this for the update_script.
how abt kernel parameters?
How would one go about customizing this with Hero? Or is that not possible at this point?
detox702 said:
How would one go about customizing this with Hero? Or is that not possible at this point?
Click to expand...
Click to collapse
Would like more info on hot to incorporate senseui
Thanks for sharing... Got nothing to do today, so I experimented on my phone... I gotta say, I'm pretty amazed w/ this feature. Was able to sort out and organize my files.
Kudos!
How does one create the system.img file once one has the system files...
What I want to do is use some of the custom roms here and put it on an AVD emulator system.
Can someone help with this please.
NOTE: I dont have linux. So if there is an alternative to mkbootimg, it will be excellent.
the ion is the 32b if I'm not mistaken?
Is there an image for the 32a or do we always have to use the ion and throw a patch over it?
Sorry if this is a stupid question
in step 5. it says
Not sure if these two are needed but they are in some custom ROMs here:
Copy the two files "fix_permissions" and "flash_image" to the "system\bin" directory.
Where do i copy the files from or download please?
thanks in advance
P.S. any tips on changing the splash screen would be much appreciated.
DeleteExtras.txt or DeleteExtras.bat doesn't work. I have to delete the extra files by myself - one by one.
codysoloman said:
DeleteExtras.txt or DeleteExtras.bat doesn't work. I have to delete the extra files by myself - one by one.
Click to expand...
Click to collapse
check this: http://forum.xda-developers.com/showthread.php?t=633246
Perhaps someone here knows or could point me to the right resources, but if the phone isn't supported by Cyanogen, how would a custom rom be made in that case?
How is a custom rom made from scratch? Since android is just linux, is it simply a matter of building it with the right drivers for the phone and installing it? How can an image be manually copied to the phone if it isn't supported by Clockwork recovery? How can it's steps be manually done?
ping pong...
Can i install my own rom on samsung ace?????
anybody knows how to make a ROM customized and make a "update.img" to run on a un-rootable device? I know when you backup a linux image for example ubuntu, this image will run on all other PCs, the image will automatically knows the new PC's drivers and adapt everything with that, is it what happening to an android too ?
---------- Post added at 08:36 AM ---------- Previous post was at 08:33 AM ----------
and pls let me know how to open/edit a "update.img" file, thnx
Question
androidcustomrom said:
How to create your own ROM update.zip for the T-Mobile MyTouch 3G
Things you will need to perform this:
Java SE Dev Kit from Sun. java.sun.com
May need Cygwin with zlib0 package, from cygwin.com
This will give you Android 1.6 with all the Google applications, Root access.
I never found one place where all this information is all together, so that is why I compiled this together.
Now anyone can do this themselves.
Thanks to all the hard work others have done before this.
1.
First Root your phone and install a new Recovery image, either Amon Ra or Cyanogens Recovery image.
Instructions for one-click root: http://theunlockr.com/2009/08/22/how-to-root-the-mytouch-3g-or-g1-in-one-click/
2.
Download the Android 1.6 System image from
http://developer.htc.com/google-io-device.html
extract the contents of signed-google_ion-img-14721.zip.
3.
You now need to extract the contents of system.img using a tool called unyaffs. The source code is here:
http://code.google.com/p/unyaffs/downloads/list
Or download a prebuilt win32 version here.
http://jiggawatt.org/badc0de/android/index.html
Note you may also need cygwin1.dll and cygz.dll (zlib0 package). Found at cygwin.com
Of course if you already have Cygwin installed with the GCC packages, you can just compile it yourself. Then also
if you comment out the line 67 to "// symlink(oh->alias, full_path_name);"
then it will not create the copies of the symbolic link file, and you will not have to worry about deleting duplicate
symbolic link files later.
Now in the directory where system.img exists, create a new directory called "system"
go into the "system" directory.
type the following command:
unyaffs ..\system.img
That should extract all the files from the system.img file into the system directory.
4.
Now we just need to clean up some items. Since the system.img is a linux file system, it has symbolic
links built into it, but when we extracted it, it just created duplicate files, if you used the prebuilt unyaffs.exe.
So we can just delete the duplicates and have a script recreate the symlink on install.
So we need to delete some extra files from the system\bin directory.
Run the attached DeleteExtras.bat file from the same directory where system.img is in.
If you notice, all the files it deletes are 28 byte files, and if you open them in notepad only contain:
"!<symlink>toolbox..."
And we will remake the symbolic link when it is installed.
5.
Now from the directory where the system.img is, enter the following commands
mkdir META-INF
mkdir META-INF\com
mkdir META-INF\com\google
mkdir META-INF\com\google\android
Now copy the included file "update-script.txt" into the "META-INF\com\google\android" directory
and RENAME it to just "update-script".
This update-script gets run to recreate the symbolic links.
Not sure if these two are needed but they are in some custom ROMs here:
Copy the two files "fix_permissions" and "flash_image" to the "system\bin" directory.
6.
-- Optional --
These add root and Superuser access to the ROM, plus the Terminal Emulator application.
Copy the file "su" from Cyanogen's rom to the folder "system\bin"
Copy the file "Superuser.apk" to the folder "system\app"
Copy the file "Term.apk" to the folder "system\app"
You can also replace the "system\etc\apns-conf.xml" with a more complete one from here:
http://forum.xda-developers.com/showthread.php?t=547718
or here
http://docs.google.com/Doc?docid=0AZNbAmKkmakoZGZxZHNwMnpfMjJkaHg3ejN3eg&hl=en
Turn data roaming off by default by editing line in the build.prop file:
ro.com.android.dataroaming=false
Also to fix the Market program to show "Protected" applications change the ro.build.fingerprint line to the following:
ro.build.fingerprint=tmobile/opal/sapphire/sapphire:1.5/COC10/150449:user/ota-rel-keys,release-keys
Only phones with a fingerprint of a "released" device can access some market applications.
--------------
7.
Now we just need to create a ZIP file for the final ROM
Zip up the following file and two folders:
boot.img
META-INF
system
8.
Now sign the zip file.
See here how to sign a ZIP file for flashing it.
http://androidforums.com/developer-101/8665-how-signing-roms.html
9.
Copy it to your SD card, boot into recovery, wipe, apply the update, Reboot.
You are now running Android 1.6!
Click to expand...
Click to collapse
Could you tell me where I can correct the fake data in the phone like the real RAM is 512 MB but it say 1GB ,can you tell me how to
correct it thanks in advance:good:

[Need Help] Galaxy 3 Backup Tool

Hi,
i hope anybody can help me to make a Galaxy 3 Rom Backup Tool.
I made a little script for the German Forum, and it works fine but i can not flash the backupped Rom files.
Can somebody help me how i can push the backupped /data partition in datafs.rfs to the Phone without getting a Bootloop?
Here is a link to the Script http://www.multiupload.com/TAIJ9Z53J7
Sry for my english ^^
Nice work!
Will try ASAP...
And btw your english is good enough!
Ok, translated for you :
Code:
Install Total Commander and connect your Galaxy 3 to your PC in USB debugging mode
Next run Backup.bat
Your backup is finished when the window closes by itself. You can find the data in the folder backup on your SD
Copy the whole folder to your PC
Open the ROM Image.tar in total commander
Now you can flash your backup as One Package in Odin.
WARNING: please mention my name when you upload or translate the tool
Thanks for the code, I was just thinking along the same lines. You can skip the Total commander thing if you'd include something like 7zip commandline which is free. You can then call it from your batch file. Or tar it in the phone itself or is this too slow/bad for SD ?
You pull the files over with adb pull, but instruct to copy them from the SD as well.
As for why it bootloops : need to test it, but will probably wait for a fresh rom.
You can also put it back with dd ?
hmm
with which adb command i can put all 5 files in a flashable .tar file?
and how i can put the whole /data partition from the datafs.rfs in the /data folder and overwrite the files in the data folder?
Hmm, I see it's Busybox responding on my Galaxy, maybe it's not installed by default, but it was included in a custom ROM ?
Code:
BusyBox v1.18.4 (2011-03-20 15:16:04 CDT) multi-call binary.
Usage: tar -[cxtzjamvO] [-X FILE] [-f TARFILE] [-C DIR] [FILE]...
Create, extract, or list files from a tar file
Operation:
c Create
x Extract
t List
Options:
f Name of TARFILE ('-' for stdin/out)
C Change to DIR before operation
v Verbose
z (De)compress using gzip
j (De)compress using bzip2
a (De)compress using lzma
O Extract to stdout
h Follow symlinks
m Don't restore mtime
exclude File to exclude
X File with names to exclude
T File with names to include
You'd have to remount /data r/w to make any changes to it. But if you're dd-ing, it'll talk to the block device directly. Not sure how to clear it though, maybe dd does it by itself. Have a google for linux commands.
hmm ok,
and why i get a bootloop when i want to flash the files with odin?
one more question ^^
how i can pull the complete /data partition to SD card?
And Creating a .tar file with 7zip commandline works, but the File is not flashable.
you can find the info in i9000 forum
http://forum.xda-developers.com/showthread.php?t=943588
http://forum.xda-developers.com/showthread.php?t=960946
http://forum.xda-developers.com/showthread.php?t=965190
Okay i have a 1 click Rom backup now ^^
But its still the problem that i get a bootloop after flashing...
Ok, I tested it and /data was wiped, phone can't mount sd card etc. etc.
tgm28 said:
Ok, I tested it and /data was wiped, phone can't mount sd card etc. etc.
Click to expand...
Click to collapse
Use THIS from HERE.
Quoting deskjeti.
deskjeti said:
Hi,
I made a Backup & Recovery Script in the German Android Hilfe Forum for the Galaxy 3.
The Tool make a flashable Rom with 3 Clicks and Restore the Backup with one Flash and one Click.
The Script restores all Apps, app Data Google Account and Wifi key´s.
How To:
Unzip the zip file wherever you want and plug in your Phone with USB Debugging Mode.
Run the Step1 and wait, after Step1 is finished run Step2 and if Step2 finished Run Step3
In the "Alexgalaxys G3 Recovery v2 Final" Folder now is a CustomRom.tar.
Flash it as One Package.
If the Phone is started plug the Phone in Usb debugging mode and Run the Recovery.bat after it is complete you have to reboot you Phone.
Link: http://www.multiupload.com/NV0CFVYV2I
Click to expand...
Click to collapse
Although I edited the files to just be one click.

Help - unbrick using fastboot and files from update.zip?

I have bricked my kyobo ereader (gingerbread 2.3.5) but still have fastboot and limited adb (no shell commands since there is no valid system) access on the device.
I have various update.zips for the device but unfortunately these are installable only on a working system (via settings->privacy->updates) and I know of no way of installing the update.zip since there does not appear to be any custom recovery for this ebook reader and booting into recovery does not install the update.zip on the sdcard.
The update.zip for the Kyobo ereader contains boot.img, recovery.img and a system folder containing files and directories for the system partition (an example of an official update.zip is available from m.kyobobook.co.kr/mirasol/update.zip )
I have extracted the system folder on a ubuntu system and need to prepare a system.img file which may be flashed using fastboot. I have also changed owner of the extracted files to root:root and chmod 777 on all the executables in the extracted system folders. A complication is that I only have the windows qualcomm hsusb drivers for fastboot or adb to connect to a pc, so I must use a windows 7 notebook to flash the device (possibly precluding pushing the system folder files to the device since they don't have permission and owner settings in windows)
I have tried various tools to make a system.img including the native linux mkcramfs and tools suggested by various google searches such as mkfs.yaffs2.x86 and make_ext4fs. All these tools could prepare a system.img but unfortunately they have different sizes and I am not sure which img is the correct one. I have tried to flash the various system.img using both fastboot flash system system.img and also by adding the system.img to the update.zip (together with placeholders for the required android-info.txt but in all cases they do not any files onto the sytem partition (although fastboot does send the system.img successfully to the device and writes the 120~180MB img files in about 50-70seconds. I have tried using both the official boot.img and the rooted boot.img. I noticed that the device reboots twice after such flashing which may be because there is some protection from the official recovery.img which checks the system partition an erases it if it does not match.
My first 2 questions are general and the third is specific to my situation:
1. What is the correct tool to generate an android system.img file from the extracted update.zip's system folder on a linux system?
2. Any suggestions on how to flash an update.zip using fastboot or adb?
3. Are there any generic recovery.img which I could try to flash over the official recovery partition on the kyobo mirasol ereader?
Any suggestions anyone?

[DEV] Android M Apps and Framework deodexing (LINUX)

Okay so I decided I'd make a thread on this, so that everyone would know. (why else? )
Pretty Noob friendly...
needed libs:
https://drive.google.com/file/d/0B9uqk9InEzCYMUtaZGI0ekJRNUU/view?usp=sharing
EDIT: FRAMEWORK.jar IS TRASH
READ HERE
https://github.com/testwhat/SmaliEx/issues/3
If you just want nexus 5 andorid preview 1 (first) apps to add to your rom, https://drive.google.com/folder/d/0...3WVBuaHNMeVQwZ3lzbkZIM0ZLRGJIZTUxMWpFd00/edit
Put apps, some priv-apps, and even less frameworks
Requirements:
Java 8 JRE or JDK
git
Device targeted
Okay so first you need to
1. take your system.img (If you don't have that check the bottom of this post) and unexact it (if you don't know how, bottom of post).
2. "git clone --recursive https://github.com/Aaahh/deodex-app" to your home folder or folder of choosing
3. "cd ~/deodex-app" or to where you cloned it
4. Now copy that unextracted system.img (/system folder) to deodex-app's folder
5. Now open terminal and run "./all"
6. that will deodex everything, but bootclass frameworks are different.
7. Take your device, plug it in, run "./oat2dex devfw"
8. take the boot-jar-result and copy it to deodex-app/out/framework
9. Now copy the contents of deodex-app/out to /system
10. repack system (bottom of post)
11. fastboot flash system system_new.img and your done.
Dump system image from device:
If you don't have system.img than follow this: http://forum.xda-developers.com/showthread.php?t=2450045
Decompile system.img
Depending on how you got your system image,
if you took it from a flashable zip, http://forum.xda-developers.com/and.../how-to-conver-lollipop-dat-files-to-t2978952 (Post two, after mounting, make a copy of the mounted folder, thats /system)
if you took it from google preview, (or sparse)
1. git clone https://android.googlesource.com/platform/system/extras -b android-m-preview
2. cd extras/ext4_utils
3. cd ../../
4. ./extras/ext4_utils/simg2img system.img system.raw.img
5. then mount that and make a copy of the mouted folder, that's your /system folder
How to repack /system
Download this, https://mega.co.nz/#!8cxUALSK!tNFals1oIxqKzd51Czf7vORlc8NA_WKeHPxbDNfOYsg
then use it like this
./make_ext4fs -T 0 -S file_contexts -l 1073741824 -a system system_new.img output/
file_contexts is from your zip, if you can't find it check your boot.img, if you can't do that and you have selinux permissive, then just find any device's file and use it.
awesome
Nice
Sent from my LG-P705 using Tapatalk
Aaahh said:
Okay so I decided I'd make a thread on this, so that everyone would know. (why else? )
Pretty Noob friendly...
If you just want nexus 5 andorid preview 1 (first) apps to add to your rom, https://drive.google.com/folder/d/0...3WVBuaHNMeVQwZ3lzbkZIM0ZLRGJIZTUxMWpFd00/edit
Put apps, some priv-apps, and even less frameworks
Requirements:
Java 8 JRE or JDK
git
Device targeted
Okay so first you need to
1. take your system.img (If you don't have that check the bottom of this post) and unexact it (if you don't know how, bottom of post).
2. "git clone --recursive https://github.com/Aaahh/deodex-app" to your home folder or folder of choosing
3. "cd ~/deodex-app" or to where you cloned it
4. Now copy that unextracted system.img (/system folder) to deodex-app's folder
5. Now open terminal and run "./all"
6. that will deodex everything, but bootclass frameworks are different.
7. Take your device, plug it in, run "./oat2dex devfw"
8. take the boot-jar-result and copy it to deodex-app/out/framework
9. Now copy the contents of deodex-app/out to /system
10. repack system (bottom of post)
11. fastboot flash system system_new.img and your done.
Dump system image from device:
If you don't have system.img than follow this: http://forum.xda-developers.com/showthread.php?t=2450045
Decompile system.img
Depending on how you got your system image,
if you took it from a flashable zip, http://forum.xda-developers.com/and.../how-to-conver-lollipop-dat-files-to-t2978952 (Post two, after mounting, make a copy of the mounted folder, thats /system)
if you took it from google preview, (or sparse)
1. git clone https://android.googlesource.com/platform/system/extras -b android-m-preview
2. cd extras/ext4_utils
3. cd ../../
4. ./extras/ext4_utils/simg2img system.img system.raw.img
5. then mount that and make a copy of the mouted folder, that's your /system folder
How to repack /system
Download this, https://mega.co.nz/#!8cxUALSK!tNFals1oIxqKzd51Czf7vORlc8NA_WKeHPxbDNfOYsg
then use it like this
./make_ext4fs -T 0 -S file_contexts -l 1073741824 -a system system_new.img output/
file_contexts is from your zip, if you can't find it check your boot.img, if you can't do that and you have selinux permissive, then just find any device's file and use it.
Click to expand...
Click to collapse
Sorry for the question but ^^ you did upload the N5 apps and framework but what about libs for Google apps?
manups4e said:
Sorry for the question but ^^ you did upload the N5 apps and framework but what about libs for Google apps?
Click to expand...
Click to collapse
Ay you got me there
Forgot about that
Framework.jar is trash
https://github.com/testwhat/SmaliEx/issues/3

[Tutorial] NOOB-Friendly Instructions on Packing and Repacking system.new.dat file

I am a Windows user, and I was having quite the trouble unpacking and repacking system.new.dat files. I tried all sorts of Windows Chinese tools for the job, but no matter what I did, when I put the system.new.dat file and system.transfer.list file back into the flashable zip (even if I made no changes to the system.new.dat file... just unpacked and repacked), I would get an error flashing the file.
I finally got around this by installing Ubuntu 16.04 Xenial Xerus on VirtualBox. You can find a lot of tutorials online about how to do that. I am basing my instructions off of xpirt's tutorial on unpacking and repacking with the tools he provides. But it took me about 2 days to figure it out because I kept running into problems since some of the instructions made assumptions that the user knows how to use Linux. I am very new to Linux. I am not completely sure how to do *everything* from the command line, so if someone wants to add to my instructions to make it easier, please do so. But these are the things I did to figure it out.
So here are the noob-friendly Linux Ubuntu instructions on how to unpack and repack:
Section 1: Getting everything Ready
1. Download your flashable .zip rom. In my case, I downloaded cm-12.1-20150619-UNOFFICIAL-afyonltetmo.zip to my Ubuntu Desktop. You can download it to your Home Directory as well. Doesn't matter.
2. Download sdat2img. I downloaded mine to my Home Directory.
3. Download img2sdat. I also downloaded this to my Home Directory.
4. Extract all 3 zips, by right clicking on them and choosing 'Extract Here.' It will extract them into their own directories. The main directories that you need to pay attention to are /sdat2img-master/ and /img2sdat-master/
5. Download ext4fs either right into the sdat2img-master folder, or anywhere you want and then drag and drop it into the sdat2img-master folder.
6. Open Terminal, and install Python 2.7, if it's not already installed. Put
Code:
sudo apt-get install python-2.7 python-pip
Section 2: Beginning the Unpacking Process
*Note, you can copy and paste the codes; however, you can't use keyboard shortcuts in terminal. You have to right click and choose your option.
*Another note: Where you see "user" in the terminal commands, substitute it with your Linux username.
1. In your extracted folder from your flashable zip, right click on system.new.dat and system.transfer.list and choose 'cut.' Then paste them in the sdat2img-master folder.
2. Back in Terminal put
Code:
cd sdat2img-master
. That will get you into the right directory.
3. Now put
Code:
./sdat2img.py system.transfer.list system.new.dat system.img
. That will create your raw ext4 .img file.
4. You want to create an output directory for all the files that are in system.img. Put
Code:
mkdir output
5. Now you can mount system.img, and it will mount it into that output folder. Put
Code:
sudo mount -t ext4 -o loop system.img output/
6. You might have the problem that you don't have ownership of all the files (they have little "locks" on them). To gain ownership, put
Code:
sudo chown -R user:user /home/user/sdat2img-master/output
. If you still can't get read and write access, just try rebooting your Ubuntu virtual computer. That was the only thing that finally worked for me. You can start modifying stuff as you wish.
Section 3: Compress files back to a raw ext4 image
1. You are now going to need your file_contexts file from your original extract rom zip. COPY (not cut) and paste it into the sdat2img-master folder.
2. You are also going to need your 'make_ext4fs' file. Make sure it is in the sdat2img-master folder. You might have trouble with permissions, so just in case, put
Code:
chmod 777 /home/user/sdat2img-master/make_ext4fs
into terminal.
3. In Files (Ubuntu's "File Manager"), in the sdat2img-master folder, right click on your system.img file and go to 'Properties'. Notice the information in "Size." Ignore the GB, but look at the bytes. Mine is 2,411,724,800. Copy that number, but remove the commas. So mine is 2411724800.
4. Next is the actual compressing part. Put
Code:
./make_ext4fs -T 0 -S file_contexts -l 2411724800 -a system system_new.img output/
into terminal, but substitute '2411724800' with whatever size you got from the Properties in system.img. You will now how a new file called system_new.img.
Section 4: Converting ext4 (raw image) to img (sparse image)
1. Now you will need to install img2simg. In Terminal, put
Code:
sudo apt-get install android-tools-fsutils
2. Now you can put
Code:
img2simg system_new.img system_new_sparse.img
You will now have a file called system_new_sparse.img that is ready to be packed in a new dat file.
Section 5: Converting img (sparse image) to dat (sparse data)
1. Cut and paste your system_new_sparse.img into img2sdat-master folder that you made earlier.
2. Now you need to navigate to that folder in terminal. Put
Code:
cd /home/user/img2sdat-master
3. Now you can put
Code:
./img2sdat.py system_new_sparse.img
to create your new dat file. It will first ask you which Android version it's for. Enter the number corresponding and hit enter.
4. You're now pretty much done. As you'll see, it created 3 files: system.new.dat, system.patch.dat, and system.transfer.list. Just paste these files into your folder where your flashable zip files are, replacing any original ones in there. Make sure you also have your file_contexts file in there as well. Highlight all the files in there, right click, and zip them up. Then name your flashable zip whatever you want and try flashing!

Categories

Resources