Related
Hi all,
In this thread, I will try to share the knowledge I have on deodexing, making custom ROMs, modifying initramfs, building kernel and much more.
Please check the below posts for each of these tutorials.
Hope this opens doors to many new ROM and Kernel developers.
NOTE: THESE TUTORIALS ARE WRITTEN FOR GT-I9100. WILL NOT WORK ON OTHER DEVICES. I DON'T TAKE ANY RESPONSIBILITY IF YOU MESS UP AND BRICK YOUR DEVICE OR ANYTHING ELSE. USE AT YOUR OWN RISK.
Deodexing Stock Rom
For GINGERBREAD ROMS:
What you need to have:
xUltimate v2.3.3 - you can download it HERE (Thanks and Credits to Xeudoxus for this awesome app)
Rooted kernel with busybox
JDK installed on your Windows system
If adb is not available in your windows PC, in xUltimate folder open "jar" folder. You'll find adb there.
Extract stock app & framework folders and Deodex:
Connect your device to computer.
Start xUltimate (double-click on Main.exe)
Select option 1. (Pull /system/app)
Once option is done, select option 2. (Pull /system/framework)
In the same folder, now you'll see two new folders (origi_app, origi_frame)
Select option 3 in Main menu (Deodex /system/app)
Once its done, select option 4 in Main menu (Deodex /system/framework)
DONE!!
NOTE: If any apk/odex gives issues while deodexing, remove that corresponding apk and odex from origi_app folder and deodex again. (Mostly the apps which can be downloaded from play store might give errors.. ex: Maps, Voice search etc.)
Now you'll see two new folders done_app and done_frame.
Push deodexed app and framework to device:
Connect your device to PC in USB debugging mode.
Copy done_app and done_frame folders to root of sdcard (/sdcard).
Open Windows command prompt and type the below commands.
Code:
[LIST]
[*]adb shell
[*]su
[*]stop
[*]mount -o remount,rw /dev/block/mmcblk0p9 /system
[*]rm /system/app/*.odex
[*]rm /system/framework/*.odex
[*]busybox cp /sdcard/done_app/* /system/app/
[*]busybox cp /sdcard/done_frame/* /system/framework/
[*]chmod 644 /system/app/*
[*]chmod 644 /system/framework/*
[*]mount -o remount,ro /dev/block/mmcblk0p9 /system
[*]sync
[*]reboot recovery
[/LIST]
In Recovery, Wipe Cache and Wipe Data/Factory reset.
Reboot.
Now you've deodexed app and framework.
For ICS ROMS:
For ICS Roms, the process is quite easy. (Thanks and Credits to jaydvn.)
Download the attached zip file.
Extract it on your windows PC.
Copy your /system/app to _app folder
Copy your /system/framework to _framework folder.
Run AutoDEOToolMain.bat
Follow the instructions.
deodexed jars and apks will be found in deodexed_APK and deodexed_JAR.
Push deodexed app and framework to device:
Connect your device to PC in USB debugging mode.
Copy deodexed_APK and deodexed_JAR folders to root of sdcard (/sdcard).
Open Windows command prompt and type the below commands.
Code:
[LIST]
[*]adb shell
[*]su
[*]stop
[*]mount -o remount,rw /dev/block/mmcblk0p9 /system
[*]rm /system/app/*.odex
[*]rm /system/framework/*.odex
[*]busybox cp /sdcard/deodexed_APK/* /system/app/
[*]busybox cp /sdcard/deodexed_JAR/* /system/framework/
[*]chmod 644 /system/app/*
[*]chmod 644 /system/framework/*
[*]mount -o remount,ro /dev/block/mmcblk0p9 /system
[*]sync
[*]reboot recovery
[/LIST]
In Recovery, Wipe Cache and Wipe Data/Factory reset.
Reboot.
Done.
Enjoy.
Building kernel
Okay. Let's learn how to build kernel for GT-I9100. There are many ways to build. I am just presenting here the way I build and make kernel.
NOTE 1: Follow the instructions exactly.
NOTE 2: Kernel is opensource. If you make any changes to it, you're expected to share your source. (Usually people share it over github )
NOTE 3: FLASHING KERNEL IS RISKY AND DANGEROUS. BE CAREFUL. BUILD AND FLASH ON YOUR OWN RISK.
What you need to have:
Ubuntu 10.04 and above (I use 10.04 )
ARM tool chain (Download HERE. Click on IA32 GNU/Linux TAR under Advanced Packages)
Samsung's opensource kernel for GT-I9100 (Download HERE. Go to Mobile->Mobile Phone-> Select I9100 (update 3 for Gingerbread and update 4 for ICS) and download the zip)
Setting up toolchain:
Extract the tar you downloaded(Suggestion: Extract to one folder where you can have everything. In my case /home/superatmos/build_kernel).
After extracting, you'll see a folder named arm-2010q1. Inside there will be many folders (ex. bin, lib and so on.)
Folder structure will be: /home/<your_name>/build_kernel/arm-2010q1
Setting up kernel:
Extract the zip you've downloaded from samsung's opensource.
You'll find two zips.
Extract GT-I9100_Kernel.tar.gz to /home/<your_name>/build_kernel/
Folder structure: /home/<your_name>/build_kernel/GT-I9100_Kernel
Setting up initramfs:
Samsung's zImage is divided into two parts: Opensource kernel (which you downloaded from samsung's website) and initramfs (which is root file system to boot up the device).
You can extract initramfs from your zImage using the below mentioned links (Credits and Thanks to Chenglu) Original Thread: HERE
To extract initramfs from Gingerbread zImage: HERE
To extract initramfs from ICS zImage: HERE
Folder structure: /home/<your_name>/build_kernel/initramfs
Now the entire setup is ready. Let's start modifying kernel configuration.
Setting up kernel config:
For Gingerbread:
Go to /home/<your_name>/build_kernel/GT-I9100_Kernel/arch/arm/configs folder.
Copy c1_rev02_defconfig file and paste it in kernel root folder (/home/<your_name>/build_kernel/GT-I9100_Kernel/).
Rename c1_rev02_defconfig to .config in kernel root folder.
Now open Makefile which is in your kernel root folder(/home/<your_name>/build_kernel/GT-I9100_Kernel/).
Modify the below lines (I guess line 195 and 196).
For ICS:
Go to /home/<your_name>/build_kernel/GT-I9100_Kernel/arch/arm/configs folder.
Copy u1_defconfig file and paste it in kernel root folder (/home/<your_name>/build_kernel/GT-I9100_Kernel/).
Rename u1_defconfig to .config in kernel root folder.
Now open Makefile which is in your kernel root folder(/home/<your_name>/build_kernel/GT-I9100_Kernel/).
Modify the below lines (I guess line 195 and 196).
Code:
ARCH ?= arm
CROSS_COMPILE ?= /home/<your_name>/build_kernel/arm-2010q1/bin/arm-none-linux-gnueabi-
Save and close.
Modifying kernel configuration:
Now open .config file(which you renamed). If its not seen, it might be hidden. Go to View->Show hidden files and there you go.
Do the below things:
Adding local version:
Change CONFIG_LOCALVERSION=" " to anything you like. I add this way:
CONFIG_LOCALVERSION="-I9100-superatmos"
Adding initramfs path:
You need to let kernel know the path from which it needs to take initramfs.
Change CONFIG_INITRAMFS_SOURCE=" " to ../initramfs (In this tutorial it's the path. If you had copied anywhere else, give the path properly).
Enough for now. Once you get experience, you can modify many configurations as per your liking and save. This configuration can be changed by GUI too with the command make menuconfig.
The Important part: Building the kernel:
For Gingerbread:
Open terminal.
Go to path /home/<your_name>/build_kernel/GT-I9100_Kernel/
Type make.
For ICS:
Open terminal.
Go to path /home/<your_name>/build_kernel/GT-I9100_Kernel/
Type export USE_SEC_FIPS_MODE=true
Type make.
THAT'S ALL. YOUR zImage is ready and is available in /home/<your_name>/build_kernel/GT-I9100_Kernel/arch/arm/boot/zImage.
Install the zImage on the device:
Go to the path where zImage is present and type the below line in command line.
Code:
tar cvf I9100_kernel.tar zImage
Flash the tar using odin.
DONE. CONGRATULATIONS. NOW YOU'VE YOUR OWN KERNEL.
Give me your feedback so that I can improve this tutorial. And post here about how your build went. All the best.
Making custom ROM
Let's move on to make a custom ROM.
Inputs/Feedback/Suggestions are more than welcome. Lets improve this tutorial together for the betterment of the android community.
Steps involved in making a custom ROM:
Getting the system dump from the device.
Deodexing app and framework folders.
Creating various mods by modifying framework and system files.
Modifying build.prop and adding tweaks.
Making META-INF folder and writing an updater-script (edify scripting).
Signing the ROM and making a flashable zip.
Folder Structure:
Before going forward, let's follow the below structure folder to make the tutorial more understandable.
Let our ROM name be CustomROM. The folder structure will be C:\Users\<your name>\CustomROM.
Let's move step by step. Are you ready??
Getting the system dump from the device
Click to expand...
Click to collapse
Make sure USB debugging is ON and connect your device to the PC.
Open command prompt on your windows PC and go to CustomROM folder path.
Type adb devices. You should be able to see the device detected. (If not check environmental variables whether adb is in system path or not. If not present, add the adb path.)
Type the below command to get the dump of system folder.
Code:
adb pull /system system/
Now inside the folder CustomROM, you should be able to see system folder with many folders like app, etc, framework etc inside.
Done with first step.
Deodexing app and framework folders
Click to expand...
Click to collapse
Look HERE how to deodex app and framework folders. Copy the app and framework folders to xUltimate folder, rename them to origi_app and origi_frame and follow the given link to deodex.
NOTE: After deodexing, merge origi_app folder with app folder under C:\Users\<your name>\CustomROM\system\app and origi_frame with framework folder under C:\Users\<your name>\CustomROM\system\framework.
Creating various mods by modifying framework and system files
Click to expand...
Click to collapse
Okay. This the section where your hardwork, innovation and talent comes in. You can use the mods available already, create your own mods, port various mods from other devices and so on.
Below is a list of various mods which can be ported on to GT-I9100. All the credits go these respective thread owners. Thanks to them.
Lidroid 14 toggle mod
Extended power menu with/without header
CRT Off Animation & SIP Over LTE/HSPA
Swipe to remove notifications
NOTE: Let me know more mods with links so that I can add here.
Modifying build.prop and adding tweaks
Click to expand...
Click to collapse
Okay. This is one of those files where you name your ROM(to be visible in settings. ) and add many tweaks.
To name your ROM (to be visible in settings), change the below code.
Code:
ro.build.display.id=CustomROM v1.0
Check the below links for many other tweaks. All credits go to respective thread owners. Thanks to them.
build.prop tweaks by TheFrankenstain
build.prop tweaks by dhlalit11
Making META-INF folder and writing an updater-script (edify scripting)
Click to expand...
Click to collapse
Once you're done with all the modifications, mods and additions, its time to create META-INF folder and make the updater script. Once the user flashes the ROM zip, this is the script that runs and does everything written inside the script. PLEASE BE CAREFUL WITH THIS. TAKE REFERENCE FROM OTHER (SAME DEVICE) ROMS' UPDATER-SCRIPT. (In this case, take reference from other GT-I9100 roms.)
Check the below links for tutorial and how-to on writing edify script and making updater script. All credits go to respective owners of the threads. Thanks to them.
Edify Scripting, Making Flashable ZIPs, ZIP Signing & Key Creation
Edify Scripting Notes
How to Write an Updater-Script with Edify Code
Edify Installation Script Syntax's
NOTE: system folders path, boot/kernel partition path, modem partition path and so on are COMPLETELY DIFFERENT for DIFFERENT DEVICES. Check the partitions for your device properly, carefully and then work on updater-script. TAKE HELP OR REFERENCE FROM OTHER ROM DEVELOPERS FOR YOUR DEVICE.
Lets move on to last step. Making a signing and making a flashable zip.
Signing the ROM and making a flashable zip
Click to expand...
Click to collapse
Make sure, now you should be able to find two folders (META-INF and system) inside C:\Users\<your name>\CustomROM.
Check in THIS thread for test signing your ROM. It WORKS with GT-I9100.
or Check THIS thread to create your own signing key and certificate.
Now you're done with making a custom ROM. Hope to see more custom ROMs from many users.
Give me your feedback so that I can improve this tutorial. And post here about how your custom ROM making went. All the best.
last one
i don't see any tutorials just links to a diff thread and a rom that won't work on i9100
buster041284 said:
i don't see any tutorials just links to a diff thread and a rom that won't work on i9100
Click to expand...
Click to collapse
You're quite fast Updated Deodexing and Building kernel section..
Great thread Superatmos. I'll definately have a go at this.
Quick question ? Am i right in assuming that although your tutorial says to connect your device this line from xUltimate seperceeds that ?
"Alright xUltimate has been updated to v2 What this means is that you do not need your phone connect to your computer to deodex. So you can just manually place the .odex files in (\origi_frame\) and (\origi_app\) and it will deodex. You can also transfer the .odex files from your phone like the last version."
where do I get the zImage to extract the initramfs from? I can't seem to find the zImage on my phone or in the source anywhere.
Great
Very useful.. Added to my favorite.
Thank's man, i'll read that
puccini said:
Great thread Superatmos. I'll definately have a go at this.
Quick question ? Am i right in assuming that although your tutorial says to connect your device this line from xUltimate seperceeds that ?
"Alright xUltimate has been updated to v2 What this means is that you do not need your phone connect to your computer to deodex. So you can just manually place the .odex files in (\origi_frame\) and (\origi_app\) and it will deodex. You can also transfer the .odex files from your phone like the last version."
Click to expand...
Click to collapse
Connect your device to the PC and double click Main.exe inside xUltimate folder. Follow the instructions you see from then. Its quite self explanatory.
If you already have origi_app and origi_frame folders, then just double click on Main Skip.bat.
dmp450 said:
where do I get the zImage to extract the initramfs from? I can't seem to find the zImage on my phone or in the source anywhere.
Click to expand...
Click to collapse
Use ktool (available on market.. compatible with I9100) and click on Dump current kernel. You'll find it on sdcard.
One more way is when you download firmware from sammobile.com, just extract the file and you'll find zImage inside it.
Nice thread,
I m waiting from long time.
Thanks for your work.
Sent from my GT-I9100 using XDA
Making custom ROM section updated
Hi all,
Please find updated custom rom section HERE.
Feedback and suggestions welcome.
Thanks for the kernel part, will come in handy
Enviado desde mi GT-I9100 usando Tapatalk 2
Good tutorial, thanks.
How do you guys sign the rom if you are on Linux (ubuntu for me)
hi superatmos
thanks for this handy thread...may i ask your for a help here?why in my every deodexing always gives error result?
I attach the screenshots.
Many thanks in advance
tks mate will try to pack my own kernel following this method
Sent from my GT-I9100 using Tapatalk 2
Work in Progress, this not work for now
Hi guys,
So, for now i'm trying to build CM9 from source for xt910.
Before starting a Huge thanks to
STS-dev-team (droidhive.com) (droidth3ory / hashcode / dhacker29)
For their huge work to add spyder into cm9 & aokp.
Now the hard stuff
i won't make another tutorial on how sync cm9 repo etc... i lead you to this thread which worked well for me.
http://forum.xda-developers.com/showthread.php?p=27722264
Follow everything and you will be able to build cm9.
What you need for spyder
so you need to download few folder from STS-dev-team github
https://github.com/STS-Dev-Team
Here's the list of what i dowloaded from 'em:
- https://github.com/STS-Dev-Team/android_local_STS (which is the local_manifest you have to replace)
Code:
put into :
.repo/local_manifext.xml
- https://github.com/STS-Dev-Team/android_device_motorola_spyder (file needed to build spyder)
Code:
put into :
devices/motorola/spyder
- https://github.com/STS-Dev-Team/android_hardware_ti_omap4xxx (hardware file for OMAP4xxx)
Code:
put into :
hardware/OMAP4XXX (replace the existing one)
- https://github.com/STS-Dev-Team/android_vendor_motorola_spyder (vendor file for spyder)
Code:
put into :
vendor/motorola/spyder
- https://github.com/Hashcode/android_hardware_ti_wpan (hardware file needed)
Code:
put into :
hardware/wpan
- https://github.com/Hashcode/android_hardware_ti_camera (hardware file needed)
Code:
put into :
hardware/camera
How to
Once you synced up cyanogen repo download and place all the file above.
then do:
Code:
curl -L -o .repo/local_manifest.xml -O -L https://raw.github.com/STS-Dev-Team/android_local_STS/ics/local_manifest.xml
once finished you'll have to edit this file : device/motorola/spyder/extract-files.sh to make it work with xt910 (just replace it by the file attached
Ok, now you can start trying to build:
Code:
make clean && make clobber
lunch
(choose cm_spyder, 5 for me)
make bacon -j4
Now my error
my building stop with this error
Code:
make: *** No rules to build target « out/target/product/spyder/obj/STATIC_LIBRARIES/libhostapdcli_intermediates/libhostapdcli.a », needed for « out/target/product/spyder/obj/EXECUTABLES/tiap_cu_intermediates/LINKED/tiap_cu ». Stop.
i tried to google it but nothing helped me.
So here we are, if someone have any ideas tips knowledge to share, you're welcome.
Nice! Keep your hard work! Congrats!
Into what path are you putting them into? I had problems compiling if the path contained any spaces or some other special characters.
Check the listing of the Makefile, it will execute some special commands and if those have spaces it will as well fail.
private files under the system/bin is much less, so the error is inevitable.
PS:My English is not very good
---------- Post added at 02:27 AM ---------- Previous post was at 02:08 AM ----------
Reference cdma xt912 extract-files.sh file, executed once, and then to private files the gsm xt910 does not exist shielding to name the difference between rename the file.
Note, divided into two:
1, copy the file
2, spyder-vendor-blobs.mk file creation
Must make the appropriate match to modify.
brainwash123 said:
Into what path are you putting them into? I had problems compiling if the path contained any spaces or some other special characters.
Check the listing of the Makefile, it will execute some special commands and if those have spaces it will as well fail.
Click to expand...
Click to collapse
Well, check the OP i edit it with path.
mapleshadow said:
private files under the system/bin is much less, so the error is inevitable.
PS:My English is not very good
---------- Post added at 02:27 AM ---------- Previous post was at 02:08 AM ----------
Reference cdma xt912 extract-files.sh file, executed once, and then to private files the gsm xt910 does not exist shielding to name the difference between rename the file.
Note, divided into two:
1, copy the file
2, spyder-vendor-blobs.mk file creation
Must make the appropriate match to modify.
Click to expand...
Click to collapse
Exactly, that's why i attached a new extract_files.sh, working for xt910, i only removed missing files, but we may need to add other files.
Yes, you need to add the missing files.
Hi guys, i'm actually builing for 20mn now without error, so i think it's on good way, but don't yeld victory too fast, i have to test the build after that.
Anyway i'll update OP to make it easier and with all the new file & script i added.(probably monday, little busy for weekend )
Stay tuned
Damned computer crashed, dont use it while building
sevenup30 said:
Damned computer crashed, dont use it while building
Click to expand...
Click to collapse
Lol
Are you going to post this as a rom or just leave it as a guide? Be nice to try it but then I need more motivation to learn to build
Sent from my XT910 using xda premium
MarkyG82 said:
Lol
Are you going to post this as a rom or just leave it as a guide? Be nice to try it but then I need more motivation to learn to build
Sent from my XT910 using xda premium
Click to expand...
Click to collapse
i had to add somes files, but for now > bootloop. Try to figure it out
edit:: Ok problem with audio, it can found it because of lib.
I tried replace most part of the lib, it fix display issue but logcat is not wirking anymore :s
i think we have to rework a lot the work done by STS dev team before compile. monday i'll upload the build if someone want to try something with it.
Hi,
I've backup a few apps from my Nexus 5 (Unrooted),
I've copied the .ab file to my PC and I wondered how can I extract it to edit some file and then repack it again.
I've already tried to extract it using DroidExplorer but I'm getting an un-openable tar file.
Can someone please point me how to can I do it right? and how can I repack it again,
Thanks in advance!
Gilco:good:
There is a sweet guide here
UltraWelfare said:
There is a sweet guide here
Click to expand...
Click to collapse
Thanks man, I tried but I get an error while trying to extract the tar file,
also I saw this warning at the end of the guide:
Warning about Helium (Carbon): helium backups are just android adb backups that are not compressed with Java Deflater. It means they were created with the option static final boolean COMPRESS_FULL_BACKUPS = false.
A normal adb restore should work.
see log from first step:
C:\Users\Gil\Desktop\BandR>java -jar abe.jar unpack com.gameinsight.airport.ab A
C.tar
Strong AES encryption enabled
Magic: ANDROID BACKUP
Version: 1
Compressed: 1
Algorithm: none
20664320 bytes read
gilc8 said:
Thanks man, I tried but I get an error while trying to extract the tar file,
also I saw this warning at the end of the guide: ...
Click to expand...
Click to collapse
Hi all, I play a bit with the conversion from Helium backups. Here is the utility:
xaos.ic.cz/Helium_ab2tar.zip . Still don't know what are the last four bytes in the Helium .ab file. Is that some checksum or what? Anyone knows?
xaos.cz said:
Hi all, I play a bit with the conversion from Helium backups. Here is the utility:
xaos.ic.cz/Helium_ab2tar.zip . Still don't know what are the last four bytes in the Helium .ab file. Is that some checksum or what? Anyone knows?
Click to expand...
Click to collapse
Thank you so much! It's working. I was able to extract my (unencrypted) Helium backup. Did you publish the code somewhere else? Here's a Makefile in case someone wants to build it for Linux. (Just remove .txt before running make or make extract)
Archived utility on Github
Hey everyone,
since the original utility has vanished and is somewhat hard to find, I've archived it at Github for convenience: github.com/floe/helium_ab2tar
If the original author wishes, I can transfer the repo to their ownership.
Best, Floe
floemuc said:
Hey everyone,
since the original utility has vanished and is somewhat hard to find, I've archived it at Github for convenience: github.com/floe/helium_ab2tar
If the original author wishes, I can transfer the repo to their ownership.
Best, Floe
Click to expand...
Click to collapse
Hi, the "helium_ab2tar" finally helped me. Good work!
I was running Win7 and didn't have any C compiler installed, so here is what I found:
• from the link above, extract helium_ab2tar-master.zip to a new directory
• from http://gnuwin32.sourceforge.net/packages/make.htm download Binaries and Dependencies and extract files make.exe, libintl3.dll, libiconv2.dll to your helium_ab2tar-master directory
• from https://bellard.org/tcc/ download a recent TinyCC build and extract the whole zip into your helium_ab2tar-master directory
• edit the makefile and change "CC=gcc" to "CC=tcc\tcc.exe"
• change "-o ab2tar_cut" to "-o ab2tar_cut.exe", "-o ab2tar_corr" to "-o ab2tar_corr.exe", "-o tar2ab_cut" to "-o tar2ab_cut.exe", "-o tar2ab_corr" to "-o tar2ab_corr.exe"
• finally run make.exe
How to use:
ab2tar_cut [.ab file] [temporary file]
ab2tar_corr [temporary file] [.tar file]
Thanks Commander!
It doesn't work for me =(
That's what I'm getting while trying to start it thru terminal
make: *** No targets specified and no makefile found. Stop.
download https://github.com/floe/helium_ab2tar, unzip, run make.exe from helium_ab2tar-master folder
aIecxs said:
download "https://github.com/floe/helium_ab2tar"]https://github.com/floe/helium_ab2tar, unzip, run make.exe from helium_ab2tar-master folder
Click to expand...
Click to collapse
there is no such file as make.exe.
of course, you must follow the steps in Post #7
or use linux. you can use Unetbootin and install Xubuntu to usb flash drive
aIecxs said:
of course, you must follow the steps in Post #7
or use linux. you can use Unetbootin and install Xubuntu to usb flash drive
Click to expand...
Click to collapse
I did so and it gives me another error
Code:
tcc\tcc.exe ab2tar_cut.c -o ab2tar_cut.exe
process_begin: CreateProcess(NULL, tcc\tcc.exe ab2tar_cut.c -o ab2tar_cut.exe, ...) failed.
make (e=2): The system cannot find the file specified.
make: *** [ab2tar_cut] Error 2
try with full path in makefile for example CC="C:\Users\Admin\Downloads\helium_ab2tar-master\tcc\tcc.exe" (path to tcc.exe)
aIecxs said:
try with full path in makefile for example CC="C:\Users\Admin\Downloads\helium_ab2tar-master\tcc\tcc.exe" (path to tcc.exe)
Click to expand...
Click to collapse
ok it seems to work,
PS C:\Users\danbe\Downloads\folders\helium_ab2tar-master\helium_ab2tar-master> C:\Users\danbe\Downloads\folders\helium_ab2tar-master\helium_ab2tar-master\make.exe
C:\Users\danbe\Downloads\folders\helium_ab2tar-master\helium_ab2tar-master\tcc.exe ab2tar_cut.c -o ab2tar_cut.exe
C:\Users\danbe\Downloads\folders\helium_ab2tar-master\helium_ab2tar-master\tcc.exe ab2tar_corr.c -o ab2tar_corr.exe
C:\Users\danbe\Downloads\folders\helium_ab2tar-master\helium_ab2tar-master\tcc.exe tar2ab_corr.c -o tar2ab_corr.exe
C:\Users\danbe\Downloads\folders\helium_ab2tar-master\helium_ab2tar-master\tcc.exe tar2ab_cut.c -o tar2ab_cut.exe
PS C:\Users\danbe\Downloads\folders\helium_ab2tar-master\helium_ab2tar-master>
Click to expand...
Click to collapse
what's next ?
---------- Post added at 01:52 PM ---------- Previous post was at 01:47 PM ----------
aIecxs said:
try with full path in makefile for example CC="C:\Users\Admin\Downloads\helium_ab2tar-master\tcc\tcc.exe" (path to tcc.exe)
Click to expand...
Click to collapse
what should be instead of [temporary file] ?
backup.ab.tmp (or any other name)
aIecxs said:
backup.ab.tmp (or any other name)
Click to expand...
Click to collapse
PS C:\Users\danbe\Downloads\folders\helium_ab2tar-master\helium_ab2tar-master>
>> ab2tar_cut backup.ab backup.ab.tmp
ab2tar_cut : The term 'ab2tar_cut' is not recognized as the name of a cmdlet, function, script file, or operable
program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:2 char:1
+ ab2tar_cut backup.ab backup.ab.tmp
+ ~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (ab2tar_cut:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Suggestion [3,General]: The command ab2tar_cut was not found, but does exist in the current location. Windows PowerShell does not load commands from the current location by default. If you trust this command, instead type: ".\ab2tar_cut". See "get-help about_Command_Precedence" for more details.
PS C:\Users\danbe\Downloads\folders\helium_ab2tar-master\helium_ab2tar-master>
Sorry I was using powershell for it, it doesn't work in PS but it works in CMD
Hello, I am feeling as dumb as a caveman right now because I could not figure out how to decompress and .ab file created with an old version of Helium which pretty much screw me over this.
I'm pretty much an illiterate with command lines in general. I tried cygwin but can't manage to find the right command combo, also android backup extractor doesn't even work despite I've installed the Java SE SDK etc (running Win10 x64). Can someone tell me step by step how I can decompress this hellish .ab file once for all? Thank you in advance.
P.s.= And yes, I also tryied using the method described on these last 2 pages and I get this:
C:\Users\Dingo Dash>"C:\Users\Dingo Dash\Desktop\helium_ab2tar-master\bin\make.exe" ab2tar_cut "C:\Users\Dingo Dash\Downloads\com.koushikdutta.backup\SM-G900F - 353687063301086\backup.ab" xxx.tmp
make: *** No rule to make target `ab2tar_cut'. Stop.
Click to expand...
Click to collapse
- download and edit makefile from post #5
- compile the binaries (.exe files)
- unpack backup + convert to tar
- unpack tar file
aIecxs said:
- download and edit makefile from post #5
- compile the binaries (.exe files)
- unpack backup + convert to tar
- unpack tar file
Click to expand...
Click to collapse
Thank you but I wanted to know what I was doing wrong on the prompt because I had already compiled the binaries aka followed the whole procedure.
Anyway, I managed to extract the whole damn file on another device. I don't have an explaination of why helium behaved this way but it actually worked on a more recent device instead of the original one, were the backup was created, also using a 2015 or so old version of the app, which should be the one the file came from.
Extracting:
1. Download this package: https://tusfiles.net/oaiw9ze20tbl
2. Extract to a folder and chmod 777 -r /path/to/the/folder
3. cd (change directory) to that folder
4. Run prereq.sh
5. Place system.transfer.list and system.new.dat into the folder
6. Open extractor.sh using a text edit program
7. Find the line containing chown command, replace yash:yash with yourusername:yourusername
8. Run extractor.sh
9. Modify contents found in output folder
Rebuilding:
1. Do above first and then run compress.sh
2. Find the rebuilt system.new.dat and system.transfer.list in sdat folder
Making it into a ROM:
1. Do above first
2. Find a zip ROM for OnePlus 2 that contains system.transfer.list and system.new.dat
3. Replace it with your rebuilt ones from above mentioned steps
4. Voila! ROM ready!
NOTE:
The package contains OxygenOS SELinux file contexts in progs subfolder...
So, to modify CM ROMs you need to get file_contexts file from the zip of the ROM and replace the one found in progs subfolder
Credits:
@xpirt
Please mention
Two questions; Is this a rom kitchen like tool for OxygenOS? Are there any libs or binaries or other dependencies?
I'm a bit busy, but I'll take it for a spin when I can.
Oh one last thing, is there a repo for this?
Ta,
ALQI
Sent from me mobile.
Nice guide
alquimista said:
Two questions; Is this a rom kitchen like tool for OxygenOS? Are there any libs or binaries or other dependencies?
I'm a bit busy, but I'll take it for a spin when I can.
Oh one last thing, is there a repo for this?
Ta,
ALQI
Sent from me mobile.
Click to expand...
Click to collapse
The dsixda kitchen had much more functions then this but you may cknsidet it as a temporary lollipop kitchen with not much extra functionality..
This was like a automation script for me and was a quick one so repo wasn't needed
I have used this script on Ubuntu 64bit and the only extra dependency apart from those included in package are installed by prereq.sh
Btw this is not just for oxygen os it can also be used for any cm or cm based rom here but.do read the note then
Yash98 said:
Extracting:
1. Download this package: https://tusfiles.net/oaiw9ze20tbl
2. Extract to a folder and chmod 777 -r /path/to/the/folder
3. cd (change directory) to that folder
4. Run prereq.sh
5. Place system.transfer.list and system.new.dat into the folder
6. Open extractor.sh using a text edit program
7. Find the line containing chown command, replace yash:yash with yourusername:yourusername
8. Run extractor.sh
9. Modify contents found in output folder
Rebuilding:
1. Do above first and then run compress.sh
2. Find the rebuilt system.new.dat and system.transfer.list in sdat folder
Making it into a ROM:
1. Do above first
2. Find a zip ROM for OnePlus 2 that contains system.transfer.list and system.new.dat
3. Replace it with your rebuilt ones from above mentioned steps
4. Voila! ROM ready!
Click to expand...
Click to collapse
So does this allow you to make ROM's for the OP2 from ROM's based on other devices, or what? Sorry if I'm sort of a noob, I just don't understand what is being done.
Thanks!
Me1256 said:
So does this allow you to make ROM's for the OP2 from ROM's based on other devices, or what? Sorry if I'm sort of a noob, I just don't understand what is being done.
Thanks!
Click to expand...
Click to collapse
You can make ROMs from prebuilt ROMs like OxygenOS or any other built ROM like Exodus, CM12, etc.
Basically modify ROMs without rebuilding from source (which takes a lot of time!)
Sir I downloaded your tool and followed ur guide....But after I run extract.sh there is no files/folders in output folder.Plz reply thankz in advancw
Thank you. I really wanted to extract .dat file..
Sent from my ONE A2003 using Tapatalk
This is a great tool but I wanted to know how to edit the system folder in ubuntu. Like using chmod and chown to pre-root and uninstall some other apps. Can somebody please direct me in that direction.
I go test...
So, I'm doing this tutorial due to the trial and error I got.
Prerequisites:
Ubuntu or any linux-based os with the right packages installed
Source code from the kernel
Backup of you boot partition
These tools here
Patience
1) The first thing you want to do is to do a backup of your boot partition.
Code:
adb shell
dd if=/dev/block/mmcblk0p9 of=/sdcard/boot.img
2) Download the source code from here, extract it and place it somewhere. I placed it in /home/fabio/Documentos/Kernel/sourcecode
3) Download a toolchain, I downloaded "aarch64-linux-android-4.8" from google and placed in "/home/<your username>/Documentos/Kernel/aarch64-linux-android-4.8"
4) Go to your kernel source code and find the file "Makefile", open it and change CROSS_COMPILE= to say the place where you stored the toolchain "/home/<your username>/Documentos/Kernel/aarch64-linux-android-4.8" + "/bin/aarch64-linux-android-"
5) Now that you are done setting up the stuff, open a console and navigate to your kernel source code root and type
Code:
make
make pxa1908_grandprimevelte_eur_defconfig
make -j#
# is the number of cores + 1
6) While that runs, go to where you stored those mkbootimg tools and unpack that boot.img you backed up
7) Once the kernel building is complete. Go to your kernel folder and navigate to arch/arm64/boot and copy the file "Image.gz"
8) Download bless or an Hex Editor of your liking and open the following files: boot.img (the original boot), Image.gz, boot.img-zImage.
Search on the "boot.img-zImage" for 1F 8B 08 and copy everything before then on your Image.gz place what you copied and save it as a different file otherwise it will fail to save.
9) Go to your mkbootimg folder and where you stored the unpacked files and build one boot.img with the following command
Code:
./mkbootimg --kernel image2.gz --ramdisk boot.img-ramdisk.gz --dt boot.img-dt --signature boot.img-signature -o boot2.img
10) Flash the boot2.img using any software you want!
THIS MIGHT NOT WORK! If it doesn't you can send me a DM! I will be retouching this post again and make it prettier adding pictures and stuff but for now I can't do much!
If you know a better way of doing this please say in the replies! I will be building a kernel for this device soon enough
RESERVED
Can you please upload link of custom kernel
I'm still trying to do a kernel with new features, but don't know what to add yet. Trying to make Init.d support without 3rd party apps!
EDIT1: I give up! My phone is too much trouble and since SAMSUNG doesn't care about it neither do I anymore! Try to build the kernel yourself and tweak it as you like! Make a script to automate this process to be easier! Good luck! Anything you need just say
Can you help this guy for porting kernel source code http://forum.xda-developers.com/grand-prime/general/developers-discussion-sm-g531f-custom-t3444598
fabiossilva21 said:
So, I'm doing this tutorial due to the trial and error I got.
Prerequisites:
Ubuntu or any linux-based os with the right packages installed
Source code from the kernel
Backup of you boot partition
Degas mkbootimg tools
Patience
1) The first thing you want to do is to do a backup of your boot partition.
Code:
adb shell
dd if=/dev/block/mmcblk0p9 of=/sdcard/boot.img
2) Download the source code from here, extract it and place it somewhere. I placed it in /home/fabio/Documentos/Kernel/sourcecode
3) Download a toolchain, I downloaded "aarch64-linux-android-4.8" from google and placed in "/home/fabio/Documentos/Kernel/aarch64-linux-android-4.8"
4) Go to your kernel source code and find the file "Makefile", open it and change CROSS_COMPILE= to say the place where you stored the toolchain "/home/fabio/Documentos/Kernel/aarch64-linux-android-4.8" + "/bin/aarch64-linux-android-"
5) Now that you are done setting up the stuff, open a console and navigate to your kernel source code root and type
Code:
make
make pxa1908_grandprimevelte_eur_defconfig
make -j#
# is the number of cores + 1
6) While that runs, go to where you stored degas-mkbootimg tools and unpack that boot.img you backed up
7) Once the kernel building is complete. Go to your kernel folder and navigate to arch/arm64/boot and copy the file "Image.gz"
8) Download bless (Hex Edit) and open the following files: boot.img (the original boot), Image.gz, boot.img-zImage.
Search on the "boot.img-zImage" for 1F 8B 08 and copy everything before then on your Image.gz place what you copied and save it as a different file otherwise it will fail to save.
9) Go to your degas-mkbootimg folder and where you stored the unpacked files and build one boot.img with the following command
Code:
./degas-mkbootimg --kernel image2.gz --ramdisk boot.img-ramdisk.gz --dt boot.img-dt --signature boot.img-signature -o boot2.img
10) Flash the boot2.img using any software you want!
THIS MIGHT NOT WORK! If it doesn't you can send me a DM! I will be retouching this post again and make it prettier adding pictures and stuff but for now I can't do much!
If you know a better way of doing this please say in the replies! I will be building a kernel for this device soon enough
Click to expand...
Click to collapse
i follow this step and build kernel after flash boot.img phone not booting
my boot.img size is 8.2MB (image.gz size 6.5MB) where stock size is 8MB
is problem with size?
sorry for my bad english
How did you flash the boot.img?
fabiossilva21 said:
How did you flash the boot.img?
Click to expand...
Click to collapse
using odin
What changes did you make to the kernel?
fabiossilva21 said:
What changes did you make to the kernel?
Click to expand...
Click to collapse
Add governors
Other setting same as stock
If i build with stock setting without any changes then kernel boot but if i change something then its stuck on Samsung logo
Sorry, I can't really help you... I no longer work with Grand prime... switched to a J5
fabiossilva21 said:
Sorry, I can't really help you... I no longer work with Grand prime... switched to a J5
Click to expand...
Click to collapse
Ok
Noice