TWRP
This project provides the TWRP recovery for for the Sony Xperia XZ1 (poplar).
FEATURES
File-Based Encryption (FBE) support
EXT4 support
F2FS support
EXFAT support
Provides unzip
Additional languages
FBE encryption should be related to the security patch level anymore. The android version and patch level is extracted from the system partition and set in the recovery.
DOWNLOAD
Make sure you download the .img and corresponding .asc.txt file (see INTEGRITY)!
You can always find the latest version of the recovery HERE.
INTEGRETY
The recovery images also come with an GPG armor file (.asc). With that file you verify that the image I created hasn't been altered.
How do you do that?
Download my gpg keyring here: https://cryptomilk.org/gpgkey-8DFF53E18F2ABC8D8F3C92237EE0FC4DCC014E3D.gpg.
Download the recovery.img and recovery.img.asc.txt file
Rename the recovery.img.asc.txt file to recovery.img.asc
Verfiy the signature using the following command:
Code:
gpg --keyring ./gpgkey-8DFF53E18F2ABC8D8F3C92237EE0FC4DCC014E3D.gpg --verify recovery.img.asc
A good tutorial is: How to verify signatures for packages from the Tor Project.
XDA:DevDB Information
recovery_twrp_sony_poplar, Tool/Utility for the Sony Xperia XZ1
Contributors
modpunk, Dees_Troy
Source Code: https://github.com/cryptomilk/android_device_sony_poplar
Version Information
Status: Stable
Current Stable Version: 3.2.3-0
Stable Release Date: 2018-07-30
Created 2017-12-30
Last Updated 2018-07-30
reserved
Work awsome!
Wysłane z mojego G8342 przy użyciu Tapatalka
Thank you for your work
Dear modpunk. Is it possible to fix a bug in TWRP related to updater-script .zip:
set_metadata_recursive("/system/app", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "ubject_r:system_file:s0");
set_metadata_recursive("/system/framework", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "ubject_r:system_file:s0");
set_metadata_recursive("/system/priv-app", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "ubject_r:system_file:s0");
set_metadata_recursive("/system/vendor/app", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "ubject_r:system_file:s0");
Click to expand...
Click to collapse
Out error 7 (the log shows that he doesn't know these commands), trying to do Deodex, thanks!
Edit: My request is canceled, I did what I wanted!
Thank you for the great work! Everything seems te work fine. Just one important detail: when booting up twrp for the first time it asks you if you want to let twrp alter the ROM or if you want to keep it read only. Choose to keep it read only otherwise you will run in to all sorts of trouble (learnt this first hand)
Maybe add this to OP?
And second but not TWRP related: if you are having trouble getting your device unlocked trough the sony site because drivers issues, download the flash tool (http://www.flashtool.net/downloads.php) and use their drivers. This worked for me after hours of fidling with the sony provided driver.
thanks for your great work!!!
@modpunk any chance you could create a new TWRP for the latest firmware (12.34) please bro? There's a new kernel released for the xz1c so I just asked that dev to make one for the xz1 and we'll need a functioning TWRP to flash it all successfully.
Well getting TWRP working with Android 8.1 took some time. I fixed it yesterday. I can do a new release tomorrow.
Excellent! Thanks brother. I know you do a lot for the community and it keeps you busy. Your work is much appreciated.
modpunk said:
Well getting TWRP working with Android 8.1 took some time. I fixed it yesterday. I can do a new release tomorrow.
Click to expand...
Click to collapse
Marvelous, @modpunk, but XZ1 fw 47.1.A.12.34 is still android 8.0.0, but with 1 Januari 2018 Security Patch Level
pergoteborg said:
Marvelous, @modpunk, but XZ1 fw 47.1.A.12.34 is still android 8.0.0, but with 1 Januari 2018 Security Patch Level
Click to expand...
Click to collapse
That doesn't matter, I'm building in a Android 8.1 tree ...
modpunk said:
That doesn't matter, I'm building in a Android 8.1 tree ...
Click to expand...
Click to collapse
Will we still be able to flash that new recovery on the stock ROM?
N1ghtr08d said:
Will we still be able to flash that new recovery on the stock ROM?
Click to expand...
Click to collapse
As @modpunk said, it doesn't matter, so Yes, we will
Excellent
New update is out!
Where is the download link? The link in the op just looks to the one I'm currently running.
N1ghtr08d said:
Where is the download link? The link in the op just looks to the one I'm currently running.
Click to expand...
Click to collapse
twrp-3.2.1-0-poplar-2-patchlevel-2018-01-05.img , Got it via @modpunk and his Developer Profile and New uploads
Code:
fastboot flash recovery twrp-3.2.1-0-poplar-2-patchlevel-2018-01-05.img
Works as a charm
I humbly bows before you, @modpunk, and say 'Thank you'
Outcome of the next step in the process cam be found in the [oreo]XZ1-drmfix-root-ricoff thread
Thank you @modpunk for your hard work and thanks @pergoteborg for the heads up.
New twrp build is up:
Added unzip from core system
Additional languages are included
Removed some unneeded stuff
Enabled QCOM RTC fix
Related
In dsixda's kitchen, i enabled init.d scripts support but i can't find any folder in /system/etc. I tried creating a folder name "init.d" and flash my rom, but the scripts would not run. Anyone can help me
terratrix said:
In dsixda's kitchen, i enabled init.d scripts support but i can't find any folder in /system/etc. I tried creating a folder name "init.d" and flash my rom, but the scripts would not run. Anyone can help me
Click to expand...
Click to collapse
Well, maybe you could try use some other startup-init scripts. I am NOT android developer but LINUX developer, so i suppose that android-modified kernel still uses Linux-style boot sequence.
Maybe you could try to create this file
/etc/rc.local
its text file, in this file you can store your bash script, everything us executed with superuser permissions so avoid using su.
Another deep-system file is /etc/inittab, but you should avoid modifying this file unless you know, what you are doing.
terratrix said:
In dsixda's kitchen, i enabled init.d scripts support but i can't find any folder in /system/etc. I tried creating a folder name "init.d" and flash my rom, but the scripts would not run. Anyone can help me
Click to expand...
Click to collapse
Do you have a (working) busybox installed?
How are the scripts called (the filenames)?
dr.notor said:
Do you have a (working) busybox installed?
How are the scripts called (the filenames)?
Click to expand...
Click to collapse
1.Yes
2. example: 00banner
Ok, i added some permissions into updater-script for the scripts copied from other GB roms and edit them.
Code:
set_perm(0, 0, 0777, "/system/etc/init.d/00banner");
set_perm(0, 0, 0777, "/system/etc/init.d/01zipalign");
set_perm(0, 0, 0777, "/system/etc/init.d/02zipalign");
set_perm(0, 0, 0777, "/system/etc/init.d/03ramscript");
set_perm(0, 0, 0777, "/system/etc/init.d/04sdcard");
set_perm(0, 0, 0777, "/system/etc/init.d/05loopysmoothnesstweak");
set_perm(0, 0, 0777, "/system/etc/init.d/06screenstate");
set_perm(0, 0, 0777, "/system/etc/init.d/07sysctl");
set_perm(0, 0, 0777, "/system/etc/init.d/99complete");
and this too
set_perm_recursive(0, 2000, 0755, 0750, "/system/etc/init.d");
set_perm(0, 0, 0755, "/system/etc/init.d");
Well, if you are sure you have not screwed up when adding init.d support in the kitchen, move to the relevant thread. The guy is very responsive.
dr.notor said:
Well, if you are sure you have not screwed up when adding init.d support in the kitchen, move to the relevant thread. The guy is very responsive.
Click to expand...
Click to collapse
Ok thanks
I tried to flash the current version 0.1.6 and then flash the the patch.
But don't understand why I'm getting an error message
CDMA, 1.58 S-OFF,4EXT Recovery.
Formatted all partitions, flashed cm-10-DisarmedToaster-0.1.6-shooter.zip.
Rebooted to bootloop.
Flashed PA-DisarmedToaster-0.1.6-pa_shooter-patch.zip
The following occurred:
assert failed: getprop("ro.product.device") == "shooteru" || getprop("ro.build.product") == "shooteru"
E:Error in /sdcard/PA-DisarmedToaster-0.1.6-pa.shooter-patch.zip
(Status 7)
Installation aborted.
Can someone please tell me if I am doing something wrong?
bocceballstud said:
I tried to flash the current version 0.1.6 and then flash the the patch.
But don't understand why I'm getting an error message
CDMA, 1.58 S-OFF,4EXT Recovery.
Formatted all partitions, flashed cm-10-DisarmedToaster-0.1.6-shooter.zip.
Rebooted to bootloop.
Flashed PA-DisarmedToaster-0.1.6-pa_shooter-patch.zip
The following occurred:
assert failed: getprop("ro.product.device") == "shooteru" || getprop("ro.build.product") == "shooteru"
E:Error in /sdcard/PA-DisarmedToaster-0.1.6-pa.shooter-patch.zip
(Status 7)
Installation aborted.
Can someone please tell me if I am doing something wrong?
Click to expand...
Click to collapse
It sounds like a bad download to me
Sent from my PG86100 using xda app-developers app
beneath-a-burning-turtle said:
It sounds like a bad download to me
Sent from my PG86100 using xda app-developers app
Click to expand...
Click to collapse
I downloaded it twice. Tried the mirror with the same results.
bocceballstud said:
I tried to flash the current version 0.1.6 and then flash the the patch.
But don't understand why I'm getting an error message
CDMA, 1.58 S-OFF,4EXT Recovery.
Formatted all partitions, flashed cm-10-DisarmedToaster-0.1.6-shooter.zip.
Rebooted to bootloop.
Flashed PA-DisarmedToaster-0.1.6-pa_shooter-patch.zip
The following occurred:
assert failed: getprop("ro.product.device") == "shooteru" || getprop("ro.build.product") == "shooteru"
E:Error in /sdcard/PA-DisarmedToaster-0.1.6-pa.shooter-patch.zip
(Status 7)
Installation aborted.
Can someone please tell me if I am doing something wrong?
Click to expand...
Click to collapse
I could be wrong, but from what I have experienced in the past you will not be able to boot any AOSP rom with 1.58 hboot. I know that alone will cause a bootloop. Do some searching and there is a thread with different hboot information and downloads. I am personally running the 1.04 ENG hboot and have not had a single problem with any AOSP roms. If I remember correctly there is something in the install script for the PA patch that is looking for shooteru which will not be changed as agrabren is not technically building it for the shooter. You should be able to boot DisarmedToaster 1.6 with the correct hboot, but will not be able to install the PA patch.
krowley3 said:
I could be wrong, but from what I have experienced in the past you will not be able to boot any AOSP rom with 1.58 hboot. I know that alone will cause a bootloop. Do some searching and there is a thread with different hboot information and downloads. I am personally running the 1.04 ENG hboot and have not had a single problem with any AOSP roms. If I remember correctly there is something in the install script for the PA patch that is looking for shooteru which will not be changed as agrabren is not technically building it for the shooter. You should be able to boot DisarmedToaster 1.6 with the correct hboot, but will not be able to install the PA patch.
Click to expand...
Click to collapse
I have tried both 1.6 & 1.5 with & w/o the applying patch. Still bootloop with standalone 1.6 & 1.5 and obviously, due to your explanation regarding hboots, still received the same error. Guess I should try and to get another hboot installed?
bocceballstud said:
I have tried both 1.6 & 1.5 with & w/o the applying patch. Still bootloop with standalone 1.6 & 1.5 and obviously, due to your explanation regarding hboots, still received the same error. Guess I should try and to get another hboot installed?
Click to expand...
Click to collapse
Ok. Just flashed engboot. I flashed 1.6 & the patch. Still got the error message. Booted to rom had a single bootloop but not it's up and running!
Still don't understand the error message...but whatever. Thanks!
Flash the engineering hboot 1.04 pcimg file in bootloader..you won't need the 0.1.6 patch.
Been running 0.1.6 all day without a problem. Well other than camera/video not working for me, haven't tested 3d or 4g yet. Not a single random reboot.
quickfixguru said:
Flash the engineering hboot 1.04 pcimg file in bootloader..you won't need the 0.1.6 patch.
Been running 0.1.6 all day without a problem. Well other than camera/video not working for me, haven't tested 3d or 4g yet. Not a single random reboot.
Click to expand...
Click to collapse
You have to downgrade hboot. These guys are right. You'll not be able to boot aosp based roms with 1.58.
krowley3 said:
I could be wrong, but from what I have experienced in the past you will not be able to boot any AOSP rom with 1.58 hboot. I know that alone will cause a bootloop. Do some searching and there is a thread with different hboot information and downloads. I am personally running the 1.04 ENG hboot and have not had a single problem with any AOSP roms. If I remember correctly there is something in the install script for the PA patch that is looking for shooteru which will not be changed as agrabren is not technically building it for the shooter. You should be able to boot DisarmedToaster 1.6 with the correct hboot, but will not be able to install the PA patch.
Click to expand...
Click to collapse
Sent from my PG86100 using xda app-developers app
quickfixguru said:
Flash the engineering hboot 1.04 pcimg file in bootloader..you won't need the 0.1.6 patch.
Been running 0.1.6 all day without a problem. Well other than camera/video not working for me, haven't tested 3d or 4g yet. Not a single random reboot.
Click to expand...
Click to collapse
raptoro07 said:
You have to downgrade hboot. These guys are right. You'll not be able to boot aosp based roms with 1.58.
Sent from my PG86100 using xda app-developers app
Click to expand...
Click to collapse
Yeah, I have since figured that out. Engboot allowed me stop holding my breath every time I wanted to flash a new rom and rebooted.. I couldn't be more pleased with 0.1.6. DisarmedToaster is BAUS! Can't wait until it's fully functional!
Thanks again folks!
You're downloading the shooter zip (CDMA), the update script is looking for ShooterU (GSM).
He may be compiling for CDMA, but the script still is set for GSM - you can modify it and remove the U after shooter.
mildlydisturbed said:
You're downloading the shooter zip (CDMA), the update script is looking for ShooterU (GSM).
He may be compiling for CDMA, but the script still is set for GSM - you can modify it and remove the U after shooter.
Click to expand...
Click to collapse
What are the odds this would brick my phone? If I bypass that check for a GSM device, will it then proceed to set wrong mount points, or whatever it is set to do? The unpatched version works fine for me but I was eager to try PA.
By the way here's the code in the updater script file:
Code:
assert(getprop("ro.product.device") == "shooteru" || getprop("ro.build.product") == "shooteru");
mount("ext4", "EMMC", "/dev/block/mmcblk0p22", "/system");
package_extract_dir("system", "/system");
set_perm_recursive(0, 0, 0755, 0644, "/system");
set_perm_recursive(0, 0, 0755, 0755, "/system/addon.d");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
set_perm(0, 3003, 02750, "/system/bin/netcfg");
set_perm(0, 3004, 02755, "/system/bin/ping");
set_perm(0, 2000, 06750, "/system/bin/run-as");
set_perm_recursive(1002, 1002, 0755, 0440, "/system/etc/bluetooth");
set_perm(0, 0, 0755, "/system/etc/bluetooth");
set_perm(1000, 1000, 0640, "/system/etc/bluetooth/auto_pairing.conf");
set_perm(3002, 3002, 0444, "/system/etc/bluetooth/blacklist.conf");
set_perm(1002, 1002, 0440, "/system/etc/dbus.conf");
set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks");
set_perm_recursive(0, 2000, 0755, 0755, "/system/etc/init.d");
set_perm(0, 0, 0755, "/system/etc/init.d");
set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh");
set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
set_perm(0, 2000, 0755, "/system/vendor");
set_perm_recursive(0, 2000, 0755, 0644, "/system/vendor/etc");
set_perm(0, 0, 0644, "/system/vendor/etc/audio_effects.conf");
set_perm(0, 2000, 0755, "/system/vendor/firmware");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
set_perm(0, 0, 06755, "/system/xbin/librank");
set_perm(0, 0, 06755, "/system/xbin/procmem");
set_perm(0, 0, 06755, "/system/xbin/procrank");
set_perm(0, 0, 06755, "/system/xbin/su");
unmount("/system");
A couple of people asked me how to create a CWM Flashable zip so I thought Id make a quick guide for it Firstly, I've provided a quick runthough of making such a zip. Secondly, I've given a quick brief of the Edify Scripting Language which is used to make flashable zips
And finally, Ill include a sample zip with detailed instructions of how it works
I. Creating your CWM flashable zip
Tools Required
1) Archiving tool (WinZip/WinRAR)
2) Unix based text editor (Anything for Linux Users, Notepad++ recommended for Windows users ) DO NOT use Notepad or Wordpad.
3) Good eyesight (Important to catch small typing mistakes lol )
How To
First, we create a new folder where we are gonna put all our files. Let that be ROM
Inside it, we gotta create this new Folder META-INF
Here's how the file Structure of META-INF is going to look like
META-INF
-->com
------>google
---------->android
-------------->update-binary
-------------->updater-script
The names colored in Blue are files while the others are folders. Just create the folders as per the Layout I just posted.
Now, you must be wondering about the two fines in question ?
The first file, update-binary is a binary file which performs all the actions of the CWM Flashable zip. There are loads of binaries each with their own properties and syntaxes. Ill show some of the common variations of the syntaxes next to the command.
I've attached a binary that works fine with Xperia phones. Just unrar the file and keep it in the directory as I said . You might need another for another rom though
The second and most important file of all is the updater-script. Note that it has no file extension. However, it can be edited like a normal textfile using Notepad++. This file will determine all the commands to be performed by the CWM zip. So here's where the commands go.. Ill explain the commands at the end of this. The commands are in a language called Edify. Google can give some hints of usage if nothing else
Note : The Encoding of this updater-script should be ANSI and the EOL formatting should be Unix. Otherwise, Flash will fail with a Status 6 Error. If you get a Status Error 7, either the update binary is out of date( Unlikely) or you made a logical error.
After typing out all the commands, Click the Save As. Make sure to select "Any type" for Filetype to save as,then give the name updater-script.
After this, we proceed to add any files we want to flash to the zip. The updater-script is in charge of what file goes where.etc so if you understand how to do that properly, you're pretty much ready to make the files
Now, after adding all the files you want, we select the folders META-INF and all the other folders/files present in ROM (without the folder ROM itself) and create a ZIP Archive with *Compression Ratio set to STORE*.. That is very important. Dont make any edits,etc..
After making that zip,we now need to sign it to get CWM or any other recovery to flash it.Im including a zip that contains two files for Signing zip files. Rename your created zip to a.zip and place it in the same directory as the two files from Sign.zip.. Run Sign.bat and a new file update.zip If you open it, you'll notice 3 new files in the META-INF folder (This is the sign created for CWM to verify ) And voila, now you have your own CWM flashable zip
II. Creating the Updater-Script using Edify
Now, we have to look into writing the updater-script to write the commands to be performed The Edify Language has all its commands separated by Semicolons. Presence of extra spaces or Newlines between two commands is not considered. With that said, I think we can start with a list of Commands Note: All address starting with a '/' are in Phone's system and not the zip file.
I've included a list of the commands you'll probably need
Command: ui_print()
Example: ui_print("My Name is Sam!");
Explanation: As expected this command writes the line "My Name is Sam! " and shows it as output when this line is encountered in CWM. Can also support concatenation of strings ie, ui_print("My Name is" + "Sam"); is equally valid and same output.
Command: showprogress()
Example: showprogress(0.6, 10);
Explanation: This command will set the fraction of Progress Bar Filled to the first parameter specified in the time in seconds given as second parameter. eg, if previously, ProgressBar was 30%(0.3) filled, running that command would cause the Progress bar to slowly fill up so that when 10 seconds pass, The total percent filled is 60% (0.6) and ProgressBar stops filling up after that till another Progress statement is encountered.I read somewhere that using two digits of precision,ie 0.85.etc can cause errors so be wary.
Command: setprogress()
Example: setprogress(0.6);
Explanation: This command can be used to set the value of the Progressbar Instantaneously. However, note that the value of progress completed given (ie, 0.6) is less than or equal to the amount specified in the previous show_progress() command.
Command: unmount()
Example: unmount("/cache");
Explanation: Unmounts the partition marked at the address given in file. Always unmount your partitions before your script exists.. Its just plain etiquette
Command: format()
Example: format("ext4", "EMMC", "/dev/block/mmcblk0p11"); or format("ext4", "EMMC", "/dev/block/mmcblk0p11", "0");
Explanation: First major command to vary with update-binary. Make sure you use the right command based on the binary or you'll get an error when you flash via CWM. First part denotes partition type,2nd is EMMC for most phones, Ithink ? (Please Confirm) and 3rd is the partition to be wiped. To be honest, I have no clue what the "0" does but thats the way I got it working. Always unmount a partition first before formatting. *ALWAYS*
Command: mount()
Example: mount("ext4", "EMMC", "/dev/block/mmcblk0p10", "/system");
Explanation: Mounts the partition in /dev/block/mmcblk0p10 as /system with filetype ext4 and Type EMMC. Similarly, you can mount data with mmcblkop11, and cache with mmcblkop12. This might vary with update-binary files but it works fine on the one I uploaded When you need to make an edit to Phone's Files, you need to mount the partition first. Its preferable to mount in this manner as opposed to using busybox because this method is universal whereas when busybox is missing or misconfigured, you get Errors and its not easy to resolve.
Command: delete()
Example: delete("system/app/YourApp.apk", "/system/app/a.apk");
Explanation: Simply deletes whichever files are specified in the parameters. Supports unlimited parameters. Do NOT use with folders. And make sure that in the example, System is mounted first so that it can delete the file correctly. No error is shown if file is missing or couldnt be deleted !
Command: delete_recursive()
Example: delete_recursive("/system/app");
Explanation: Deletes all the files in the specified folders and also the folders themselves. Accepts multiple arguements. See delete() for more details.
Command: package_extract_dir()
Example: package_extract_dir("system", "/system");
Explanation: Extracts the contents of the folder system in zip to the directory of /system in phone.
Command: package_extract_file()
Example: package_extract_dir("system/app/a.apk", "/system/app/anew.apk");
Explanation: Extracts the file specified in zip to the directory of /system/app in phone and names new file as anew.apk in Example..
Command: set_perm()
Example: set_perm(0, 2000, 0777, "/system/etc/init.d/1script", "/system/app/12.apk");
Explanation: Sets the permission of the files specified as 777 with uid as 0 and gid as 2000. Google for Android User ids and Group Ids to get more clues. Supports multiple files. In example, 2 files are given.
Command: set_perm_recursive()
Example: set_perm_recursive(0, 2000, 0777, 0644, "Dir1", "Dir2");
Explanation: Sets the permission of all files in Dir1,Dir2.etc as 0644 (recursively searches Folders and subfolders for files) And sets 0777 as permission for folders (Checked Recursively).. uid will be 0 and gid 2000 in example.
Click to expand...
Click to collapse
These commands should be enough to get you started Ill post a few more tomorrow when Im properly awake.. Very sleepy now Sorry guys,, Will upload rest later And try to open a rom or two and take a peak at updater-script Should give you a good idea until I upload my sample file as well Cheers Gn
This concludes Part 2 of the Guide. Finally Finished Part III Sorry For Dealy
III. An Example Of A Working Updater-Script with functions explained.
For the sample, we'll go through my installer Script for the Xperiance Rom Series Addon Package. Its not much to go on, but sometimes, editing someone else's finished work makes it alot easier to learn yourself Let me know if you guys want any more help Feel free to PM me anytime Cheers
####
#Your Stylish Intro Never forget it
####
ui_print(" ");
ui_print(" ");
ui_print("==============================================");
ui_print("| Xperiance Lite v1.0 |");
ui_print("==============================================");
ui_print("| Xperiance Lite By Min3r |");
ui_print("| Xperia U ST25i |");
ui_print("| Working On 6.1.1.[B.1.10/B.1.54/C.1.10] |");
ui_print("|********************************************|");
ui_print("| Addons Pack |");
ui_print("|********************************************|");
ui_print("| AC!D Audio Engine by Team AC!D |");
ui_print("| Cybershot Experience 4.7 by Rizal Lovins |");
ui_print("| InfiniteView Mod by reaper61616 |");
ui_print("| Jellybean 4.2 Keyboard |");
ui_print("| Xperia T Statusbar by destroyy |");
ui_print("==============================================");
ui_print("Flashing in Progress.....");
ui_print(" ");
ui_print(" ");
#Mount System & Data
mount("ext4", "EMMC", "/dev/block/mmcblk0p10", "/system");
mount("ext4", "EMMC", "/dev/block/mmcblk0p11", "/data");
#Copying all the Directories
package_extract_dir("system", "/system");
#Setting Required Permissions
set_perm_recursive(0, 0, 0777, 0777, "/system/etc/init.d");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/beatsbass");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/beatsnormal");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/image_beatbox_bt");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/image_beats_wireless_bt");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/image_gec");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/image_gec_bt");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/image_htc_earbud");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/image_htc_midtier");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/image_ibeats");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/image_ibeats_solo");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/image_ibeats_solo_v2");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/image_ibeats_v2");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/load_mg_driver");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/load_sony_driver");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/mm-audio-acdb-test");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/mm-audio-native-test");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/pm_snd");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/snd");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/sound");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/sound8960");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/xaplay");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/snd3254");
set_perm_recursive(0, 2000, 0755, 0755, "/system/etc/init.d/10acidmod");
set_perm(1000, 1000, 0644, "/system/app/SystemUI.apk");
set_perm_recursive(1000, 1000, 0777, 0777, "/system/app/SystemUI.apk");
set_perm(1000, 1000, 0644, "/system/app/QuickPanelSettings.apk");
set_perm_recursive(1000, 1000, 0777, 0777, "/system/app/QuickPanelSettings");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/mm-gs-camctrl-test");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/MPQStrMgrTest");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/MPQUnitTest");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin/MPQVideoRendererTestApp");
ui_print(" ");
ui_print(" ");
#Wiping Dalvik Cache
delete_recursive("/data/dalvik-cache");
#Unmounting
unmount("/system");
unmount("/cache");
Click to expand...
Click to collapse
Making this guide took me the better part of 2 hours so please take the 5 seconds necessary to hit the Thanks button to remind me my work isnt for naught
Changelog
29/12 : Added Sample Script & Rearranged commands in order of the natural order in which they are likely to be used
Created : 27/12
Most wanted for me
Sent from my Xperia U using Forum Runner
drsanket_xperia_u said:
Most wanted for me
Sent from my Xperia U using Forum Runner
Click to expand...
Click to collapse
Sorry for delay bro.. I managed to get net working temporarily but the speed is low, huge lag at times and frequent disconnecting.. It took me over 3 tries to just make the thread :/ Requests keep timing out
Impressive. Thx.
Explanations r really helpful
This is some awesome guide. Always wanted it
---------- Post added at 03:22 PM ---------- Previous post was at 03:21 PM ----------
drsanket_xperia_u said:
Most wanted for me
Sent from my Xperia U using Forum Runner
Click to expand...
Click to collapse
Me too
Why not busybox mount?
Hit
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
For keep up my Developing!!
That question came to my mind too first time I saw this usage ;P It took me a while to guess the answer (This is my own derived answer.. If any experienced devs know better, please enlighten us all )
There are loads of busybox binaries and not all are fully compatible with our phones. So why create a dependency on them when we have an inbuilt function to do the same ?
Plus, the obvious fact that we are limiting usage to just 1 binary instead of calling up busybox as well should be sufficient Hope it helps
Cheers
This is a great guide.
You mentioned the update-binary is good for 2012 xperia line up, would this include xperia t (LT30a).
can i put this in my zip file, or do i need to sign it with the sign.rar?
Again Thanks.
Glad you liked it mate Several ppl asked me at the same time so I thought it would be better if I made a guide so everyone can use it I hope I can complete it soon.. Keep getting interrupted at hostel when I try to make
And yes, it should work But in case it doesnt, just get a binary from any of the zips for custom roms there Also, I believe signing is based mostly on the script not binary so shouldnt be necessary. But as a precaution, Id advice you do it all the same to avoid issues You can resign an edited zip (without deleting the old certificates.etc )
Sample Script added And if you have any doubts about how a specific script works, feel free to post here or message me
And Ill see about adding more advanced function in future updates for Advanced users ;D
Great work bro..!!
Earlier i used to do it without knowing what i was doing
Now i know what i am doing Thanks a lot..!!
Can u please explain a lil more on busybox and binary thing?? I didn't get it... :silly:
Busybox is a binary which adds alot of unix shell commands to Android. Unfortuntately, not all Busybox binaries (versions of a software,kinda ) work without bugs, and some are incompatible with some phones.. So the less you depend on busybox for your operations, The more likely it is to work properly Plus, if update-binary works, then you can be sure that mounting can work fine
Thanks mate
Wow, Thanks for the GUIDE man... :good: for ya +1
Thanks
Sent from my GT-S5570 using xda app-developers app
it will be great if there is a video tutorial
Sent from my Xperia U using xda premium
To be honest, I don't think it will be necessary but If enough people are interested, Ill try making one, next week Till then, if you have any doubts, Feel free to PM me anytime
hello min3r broo wow finally I gonna learn about updater-script
thanks for these tut
reading now...:angel:
Great information pal,can you please try to post an easy and friendly tutorial explaining what all changes are to be done in framework.jar,services.jar etc while porting a rom to make it boot..this would be really be of great help..
Has anyone got one to boot on the Mega?
I have tried various ideas and have got the install working but it fails to boot after the reboot.
Is anyone further along than this?
Kangburra said:
Has anyone got one to boot on the Mega?
I have tried various ideas and have got the install working but it fails to boot after the reboot.
Is anyone further along than this?
Click to expand...
Click to collapse
Having similar issues, aroma is not parsing to update-script on 3 versions 2.00, 2.5 and 2.76. Standard install process not going great and cannot for the love of the big g work out why, yet i did a small test flash to system and all went fine. just gonna take time to plod on through lol
---------- Post added at 03:45 PM ---------- Previous post was at 03:22 PM ----------
scrub that by removing kernel its booted ok now
So you are able to flash a complete Rom with Aroma?
Sent from my GT-I9205 using Tapatalk 2
Kangburra said:
So you are able to flash a complete Rom with Aroma?
Sent from my GT-I9205 using Tapatalk 2
Click to expand...
Click to collapse
No
Aroma bums out at handing over to the update script. The updater script works fine on its own this was tested on 2.00 2.5 and 2.76 the first two worked fine on n7000 so I know its not my scripting. I have mentioned this to the peeps eho know.
The only thing struggling to flash is kernel but as we need stock anway for the mo thats not an issue. But that will be easy to sort just ran out of yime yesterday
Whats the issue you facing in aroma or normsl update script. Can you post your script here
Sent from my GT-I9205 using xda premium
thering1975 said:
No
Aroma bums out at handing over to the update script. The updater script works fine on its own this was tested on 2.00 2.5 and 2.76 the first two worked fine on n7000 so I know its not my scripting. I have mentioned this to the peeps eho know.
The only thing struggling to flash is kernel but as we need stock anway for the mo thats not an issue. But that will be easy to sort just ran out of yime yesterday
Whats the issue you facing in aroma or normsl update script. Can you post your script here
Sent from my GT-I9205 using xda premium
Click to expand...
Click to collapse
I have gone down the updater-script from the kitchen, I am having problems with permissions but I have got it booting now.
I am working on tweaks and bloat for now and trying them out.
What permissions you having probs with. Whats the issue
Sent from my GT-I9205 using xda premium
I have removed them.
I am down to this
Code:
set_perm_recursive(0, 0, 0755, 0644, "/system");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
set_perm(0, 1000, 0755, "/system/xbin/busybox");
set_perm(0, 0, 06755, "/system/xbin/su");
set_perm(0, 0, 0644, "/system/app/Superuser.apk");
set_perm(0, 0, 04755, "/system/xbin/busybox");
Now just need to try it out.
Odd what issues did that cause you
thering1975 said:
Odd what issues did that cause you
Click to expand...
Click to collapse
I got the ROM to boot with this
Code:
set_perm_recursive(0, 0, 0755, 0644, "/system");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
set_perm(0, 1000, 0755, "/system/xbin/busybox");
set_perm(0, 0, 06755, "/system/xbin/su");
set_perm(0, 0, 0644, "/system/app/Superuser.apk");
set_perm(0, 0, 04755, "/system/xbin/busybox");
run_program("/system/xbin/busybox", "--install", "-s", "/system/xbin");
which is from the S3 script.
I cam attech my installer script
If u want for future ref
Sent from my GT-I9205 using xda premium
thering1975 said:
I cam attech my installer script
If u want for future ref
Sent from my GT-I9205 using xda premium
Click to expand...
Click to collapse
I have got it now, thanks, I am working on the bloat now.
Hey peeps, I'm attempting things here. I'm trying to modify an update.zip file that installs properly on my device. I'm mostly trying to get root access on this device.
So far in this little weekend project, I have already put the su binary in the system folder within updater.zip. So I have found that I need to edit a updater-script file.
I have found this line:
Code:
set_metadata("/system/xbin/su", "uid", 0, "gid", 0, "mode", 06755, "capabilities", 0x0, "selabel", "u:object_r:su_exec:s0");
This is here because this tablet already has root but is not in a place where supersu can find it. So, I already have the part where it copies the su binary into /system/bin.
So how should I set the permissions with this command?