System.img flash error - LG Optimus 3D

I am modifying a rom with dsixda's kitchen . I did the necessary changes to rom and did the system.img in Ubuntu using mkfs.yaffs2. After that I create a zip with system.img, data folder and META-INF folder.
when flash the rom using TWRP it flash everything excluding system.img.
I cant find where i did errrs?
the way i create system.img or updater-script may be wrong.
these are the codes i ued in updater-script.
mount("ext4", "/dev/block/mmcblk0p7", "/system");
delete_recursive("/system");
package_extract_file("system.img", "/dev/block/mmcblk0p7");
please help me to understand the error ?

Do you have error in recovery ??
Maybe you did something wrong in creating the system.img .
You can simply modify your ROM inside your phone ,, then boot into recovery . Then go to "Advanced" ,, "Terminal Emulator" then type :-
Code:
dd if=/dev/block/mmcblk0p7 of=/sdcard/system.img
IF the mmcblk0p7 is the system partition , I don't have this phone .
You can check that from /system/etc/fstab.cosmo (not sure about file name) .
Good Luck .
Sent from my Galaxy Nexus using xda app-developers app

Related

How to convert an rfs Rom to Ext4.

Hey guys, I am wanting to use a 2.3.6 stock rom with my Cwm but i need to first convert the filesystem from rfs to ext4. How do i do that? Thanks
Sent from my GT-S5670 using XDA App
I am actually wanting the same thing...
Same here, anyone care to share how it can be made ?
not very hard ,just extract initramfs.cpio from the zImage ,add this line
CONFIG_EXT4_FS=y in filesystems,then change Mount points in init.rc of Ramdisk
and then Format All Dev Blocks e.g. System,Data,Cache to ext4 !!
how to extract zimage..............or how to open zzimage ????? plz help
i followed this guide http://forum.xda-developers.com/showthread.php?t=777380
I did from step 4 to 11 smoothly
At step 1 i had a file called zImage( no extension but icon is CPIO)
I change zImage to initramfs.cpio and run this command
Code:
cat initramfs.cpio | cpio -i --no-absolute-filenames
Result
Code:
cpio: Removing leading `/' from member names
dev
cpio: dev/console: Cannot mknod: Operation not permitted
dev/console
root
1 block
and 2 folder
In Dev folder have a file with 0 byte
Dont bash me cause i have just started with ubuntu 2 day
And where can i find how to make pre-install rom with ext4 support?
Im on GT s5670 with stock DXKT4
Priyank Patel said:
how to extract zimage..............or how to open zzimage ????? plz help
Click to expand...
Click to collapse
can anyone tell?
Gendows said:
can anyone tell?
Click to expand...
Click to collapse
http://forum.xda-developers.com/showpost.php?p=5447589
Download the attacked file and do step 8 whit your boot.img
@pratyush.creed
u need to do something to the zimage in boot.img ? what if i take zimage and the modules from an ext4 rom (of the same base) and put it in the rfs rom? will it work?
I really need to know how to make a pre-install rom with ext4 support.
Anyone
May I answer a question?
U can open your updater-script from META-INF with notepad++
Write like this For converting your system:
Code:
unmount("/system");
unmount("/cache");
unmount("/data");
ui_print("[ ] Formatting system with ext4");
format("ext4", "EMMC", "/dev/block/stl12");
ui_print("[ ] Formatting cache with ext4");
format("ext4", "EMMC", "/dev/block/stl14");
ui_print("[ ] Formatting data with ext4");
format("ext4", "EMMC", "/dev/block/stl13");
*(ui_print) is command for notes. So, U may not care about it
Thx. I hope it can help ya, guyz!
Delanoister said:
May I answer a question?
U can open your updater-script from META-INF with notepad++
Write like this For converting your system:
Code:
unmount("/system");
unmount("/cache");
unmount("/data");
ui_print("[ ] Formatting system with ext4");
format("ext4", "EMMC", "/dev/block/stl12");
ui_print("[ ] Formatting cache with ext4");
format("ext4", "EMMC", "/dev/block/stl14");
ui_print("[ ] Formatting data with ext4");
format("ext4", "EMMC", "/dev/block/stl13");
*(ui_print) is command for notes. So, U may not care about it
Thx. I hope it can help ya, guyz!
Click to expand...
Click to collapse
Ya u need d lines from script n boot.img of an ext4 rom for not editing zimage
Not exactly what i want. I want to learn how to build kernel support ext4 from stock rom.
When search around i see some way to:
+Unpack boot.img
+Add ext4.ko , jdb2.ko to ramdisk and edit init.rc with new mount point.
+Repack boot.img
I flash new boot.img, phone work fine but i dont know if it supports ext4 ^^
And other guide is compile kernel from source is provided by samsung. Oh god with this way i have to learn java, c @#^%!
Maybe i should go to some class
Anyway thank you very much. Have a good day.

[Q] Manually flash a new recovery

I've been looking around, and I can't really find anything on how to do this on a Transformer TF101(C10). Most of what I've read either uses outdated commands in the terminal that don't work anymore, or are just flashing a default recovery using an app. As the one that Gnufabio's recovery installer app flashes is very outdated and barely works, I'd like to flash something more recent, specifically CWM Touch Recovery. I have the recovery.img downloaded, but how would I go about flashing this?
If you really want to flash the recovery.img, use Wolf's method 3 or if you're already rooted, use RecoveryInstaller, flash cwm. Use the cwm to flash Roach's touch version. FYI touch version only read from internal sd.
Also on post 218 in the RecoveryInstaller thread is a modify version that flash Rouge XM recovery.
Here is the link of Rogue in case you need it.
http://forum.xda-developers.com/showthread.php?t=1446019&page=18
For learning purposes, if you still want to go about flashing manually, take a look at the update script (used from extracted RougeXM recovery) that CWM reads and uses to flash recovery.zips.
Code:
ui_print("[AnyKernel Updater by Koush]");
ui_print("Rogue XM Recovery 1.3.0 (CWM-based Recovery v5.0.2.7)");
ui_print("Built for the Asus Transformer TF101");
set_progress(1.000000);
ui_print(" ");
ui_print("Extracting dd...");
package_extract_dir("recovery", "/tmp");
set_perm(0, 0, 0777, "/tmp/dd");
ui_print(" ");
ui_print("Extracting new recovery blob...");
package_extract_file("recoveryblob", "/tmp/recoveryblob");
ui_print(" ");
ui_print("Flashing new recovery blob...");
run_program("/sbin/busybox", "dd", "if=/tmp/recoveryblob", "of=/dev/block/mmcblk0p4");
ui_print(" ");
ui_print("Cleaning up...");
delete("/tmp/recoveryblob");
If you look you see the commands:
dd if=/your/blob/here of=/dev/block/mmcblk0p4
So place the extracted recoveryblob on your tf, boot it up and using an onboard terminal app or adb shell run these commands (needs root and busybox):
adb shell (only if running off computer with adb)
su (gives a pound sign, approve root access when it asks you.)
dd if=/your/blob/here of=/dev/block/mmcblk0p4 (your/blob/here is the path on the storage of the recoveryblob you placed on the tf)
reboot.
You should get the asus logo with a blue line that fills up, then it reboots again, and you have new recovery!
EDIT: also, you want the recoveryblob file extracted from touch recovery's zip. it just says recoveryblob with no extension. Download, extract, extract, put on tf, run commands. Easy
Thing O Doom said:
For learning purposes, if you still want to go about flashing manually, take a look at the update script (used from extracted RougeXM recovery) that CWM reads and uses to flash recovery.zips.
Code:
ui_print("[AnyKernel Updater by Koush]");
ui_print("Rogue XM Recovery 1.3.0 (CWM-based Recovery v5.0.2.7)");
ui_print("Built for the Asus Transformer TF101");
set_progress(1.000000);
ui_print(" ");
ui_print("Extracting dd...");
package_extract_dir("recovery", "/tmp");
set_perm(0, 0, 0777, "/tmp/dd");
ui_print(" ");
ui_print("Extracting new recovery blob...");
package_extract_file("recoveryblob", "/tmp/recoveryblob");
ui_print(" ");
ui_print("Flashing new recovery blob...");
run_program("/sbin/busybox", "dd", "if=/tmp/recoveryblob", "of=/dev/block/mmcblk0p4");
ui_print(" ");
ui_print("Cleaning up...");
delete("/tmp/recoveryblob");
If you look you see the commands:
dd if=/your/blob/here of=/dev/block/mmcblk0p4
So place the extracted recoveryblob on your tf, boot it up and using an onboard terminal app or adb shell run these commands (needs root and busybox):
adb shell (only if running off computer with adb)
su (gives a pound sign, approve root access when it asks you.)
dd if=/your/blob/here of=/dev/block/mmcblk0p4 (your/blob/here is the path on the storage of the recoveryblob you placed on the tf)
reboot.
You should get the asus logo with a blue line that fills up, then it reboots again, and you have new recovery!
EDIT: also, you want the recoveryblob file extracted from touch recovery's zip. it just says recoveryblob with no extension. Download, extract, extract, put on tf, run commands. Easy
Click to expand...
Click to collapse
This is probably the most helpful response I've ever gotten. Problem is though, that the touch recovery doesn't come in a zip. It's just a .img file. Is that the blob, just rename that to recoveryblob?
alunral said:
This is probably the most helpful response I've ever gotten. Problem is though, that the touch recovery doesn't come in a zip. It's just a .img file. Is that the blob, just rename that to recoveryblob?
Click to expand...
Click to collapse
Have you looked at Roach's thread?
http://forum.xda-developers.com/showthread.php?t=1213723
and now the new Team Rouge Touch
http://forum.xda-developers.com/showthread.php?t=1446019
both have CWM flashable zip.
Yeah, look in those linked threads for a CWM flashable zip to use, and either flash that or use the method I wrote above to extract and flash. I highly recommend RougeXM touch (second link)
Thanks!
Thing O Doom said:
For learning purposes, if you still want to go about flashing manually, take a look at the update script (used from extracted RougeXM recovery) that CWM reads and uses to flash recovery.zips.
If you look you see the commands:
dd if=/your/blob/here of=/dev/block/mmcblk0p4
So place the extracted recoveryblob on your tf, boot it up and using an onboard terminal app or adb shell run these commands (needs root and busybox):
adb shell (only if running off computer with adb)
su (gives a pound sign, approve root access when it asks you.)
dd if=/your/blob/here of=/dev/block/mmcblk0p4 (your/blob/here is the path on the storage of the recoveryblob you placed on the tf)
reboot.
You should get the asus logo with a blue line that fills up, then it reboots again, and you have new recovery!
EDIT: also, you want the recoveryblob file extracted from touch recovery's zip. it just says recoveryblob with no extension. Download, extract, extract, put on tf, run commands. Easy
Click to expand...
Click to collapse
I am going to have to do this..as I have just had to get a B80 version ands it got the Chinese HC rom on.. I have rooted it so now I have to push a recovery to it.
will have a play.. wish me luck..
Edit: Fantastic..worked like a charm.. shifted rogue's CWM 5.0.2.7 in and booted in to like a charm.. using on board terminal commands. now I can drop the US versions of ICS onto it and start having some fun..
Glad to hear, it's good to understand the mystery behind "install zip from..."

[GUIDE][FOR ADVANCED USERS] [Edit original LG Firmwares] root su760 ICS

Hi guys,
this is a big tutorial for advanced users on how to edit LG Firmwares.
This could be usefull to change recovery included, root the bin or give a try to
change bootloader to make su760 ics on p920 work.
First download a bin or a kdz file:
http://lg-phone-firmware.com/
Then download the attached zip file and unpack it somewhere on your
windows pc.
Put the downloaded firmware in the same directory.
If you have chosen a kdz file you have to unpack it with LGExtract.
Ope up cmd and go with cd to the directory where all the files are.
Then type:
Code:
LGExtract -kdz *nameofthekdzfile*.kdz
upack the new .cab file with winrar or something like that, then run
LGExtract -wdb ***.wdb ***.dll
Click to expand...
Click to collapse
replace *** with the name of the files that you have unpacked
Now you should have a Folder caled BIN.
Use cd to enter that folder.
Run in cmd:
Code:
copy /b "LG****_AP[*].bin" "LG****_AP.bin"
Replace **** with p920 or su760 related to wich firmware you have downloaded.
Now use explorer to move the LG****_AP.bin in the folder where all the .exe files are.
Extracting the bin
Run in cmd
Code:
extract.exe ***_AP.bin
At first you will see all the partitions in the bin and their offsets,
then the tool will extract them to .img files, stay tuned this will take some time.
Root the system partition
You can skip this if you just want to replace a partition.
Rename the extracted sstem partition from something like "7 - system.img" to "system.img"
Download this:
http://downloads.noshufou.netdna-cdn.com/superuser/Superuser-3.1.3-arm-signed.zip
and put it together with the system.img into a linux distro.
In linux unpack the zip and copy the superuser.apk and the su file
in the same directory with the img
go with the terminal in the folder with the system.img
and run:
Code:
sudo mkdir temp
sudo mount -o loop system.img temp
sudo cp superuser.apk temp/app
sudo cp su temp/bin
cd temp/app
sudo chmod 0644 superuser.apk
cd ..
cd bin
sudo chmod 6755 su
sudo umount temp
Copy the image back to windows.
Replace a Partition
Install winhex or an other hex editor.
Open the downloaded or extracted bin.
Go to offset that extract.exe showed you,
and select everything to the end of the partition and delete it.
The end of the partition is the offset + size of extract.exe showed you.
For example:
If the offset of the system partition is 00DA0000
and the size of is 2BC00000 the end of the partition is DA0000 + 2BC00000 = 2C9A0000
now open up the image you want to replace i with in hex editor,
select everything go back to the offset of the partition in winhex and paste it there,
just save it and you have your new own bin file ready to flash with LGFlashTool.
Hope this helps you, please post if you didn't understand anything, I forgot something or something is wrong.
Credits
LGExtract:
http://forum.xda-developers.com/showthread.php?t=1566532
BIN Extracting Tool:
http://forum.xda-developers.com/showpost.php?p=31476664&postcount=17
Rooting img file:
http://forum.xda-developers.com/showthread.php?t=1517457
Please sent pm if I forget somebody
Changelog
--reserved--
↑
Sent from my LG-P925 using xda app-developers app
Hi berni, i managed to insert your bootloaders into an ics bin but it didnt boot good news though the bootloaders seemed to have flashed fine. Now just finding a way back into android.
berni987654321 said:
Hi guys,
this is a big tutorial for advanced users on how to edit LG Firmwares.
This could be usefull to change recovery included, root the bin or give a try to
change bootloader to make su760 ics on p920 work.
First download a bin or a kdz file:
http://lg-phone-firmware.com/
Then download the attached zip file and unpack it somewhere on your
windows pc.
Put the downloaded firmware in the same directory.
If you have chosen a kdz file you have to unpack it with LGExtract.
Ope up cmd and go with cd to the directory where all the files are.
Then type:
Code:
LGExtract -kdz *nameofthekdzfile*.kdz
upack the new .cab file with winrar or something like that, then run
replace *** with the name of the files that you have unpacked
Now you should have a Folder caled BIN.
Use cd to enter that folder.
Run in cmd:
Code:
copy /b "LG****_AP[*].bin" "LG****_AP.bin"
Replace **** with p920 or su760 related to wich firmware you have downloaded.
Now use explorer to move the LG****_AP.bin in the folder where all the .exe files are.
Extracting the bin
Run in cmd
Code:
extract.exe ***_AP.bin
At first you will see all the partitions in the bin and their offsets,
then the tool will extract them to .img files, stay tuned this will take some time.
Root the system partition
You can skip this if you just want to replace a partition.
Rename the extracted sstem partition from something like "7 - system.img" to "system.img"
Download this:
http://downloads.noshufou.netdna-cdn.com/superuser/Superuser-3.1.3-arm-signed.zip
and put it together with the system.img into a linux distro.
In linux unpack the zip and copy the superuser.apk and the su file
in the same directory with the img
go with the terminal in the folder with the system.img
and run:
Code:
sudo mkdir temp
sudo mount -o loop system.img temp
sudo cp superuser.apk temp/app
sudo cp su temp/bin
cd temp/app
sudo chmod 0644 superuser.apk
cd ..
cd bin
sudo chmod 6755 su
sudo umount temp
Copy the image back to windows.
Replace a Partition
Install winhex or an other hex editor.
Open the downloaded or extracted bin.
Go to offset that extract.exe showed you,
and select everything to the end of the partition and delete it.
The end of the partition is the offset + size of extract.exe showed you.
For example:
If the offset of the system partition is 00DA0000
and the size of is 2BC00000 the end of the partition is DA0000 + 2BC00000 = 2C9A0000
now open up the image you want to replace i with in hex editor,
select everything go back to the offset of the partition in winhex and paste it there,
just save it and you have your new own bin file ready to flash with LGFlashTool.
Hope this helps you, please post if you didn't understand anything, I forgot something or something is wrong.
Click to expand...
Click to collapse
Unable to extract bin of P725. it says "MAGIC HEADER NOT FOUND: any suggestions ?
Eklovya said:
Unable to extract bin of P725. it says "MAGIC HEADER NOT FOUND: any suggestions ?
Click to expand...
Click to collapse
The bin got corrupted or they aren't supported there is also a tool made by wkpart it doesn't support the p920 but maybe you re phone
Sent from my LG-P920 using xda app-developers app
berni987654321 said:
The bin got corrupted or they aren't supported there is also a tool made by wkpart it doesn't support the p920 but maybe you re phone
Sent from my LG-P920 using xda app-developers app
Click to expand...
Click to collapse
The bin are correct i used them to recover my phone.
Can you provide me the link towards wpark tool?
Sent from my LG-P725 using xda premium
berni987654321 said:
Hi guys,
this is a big tutorial for advanced users on how to edit LG Firmwares.
This could be usefull to change recovery included, root the bin or give a try to
change bootloader to make su760 ics on p920 work.
First download a bin or a kdz file:
http://lg-phone-firmware.com/
Then download the attached zip file and unpack it somewhere on your
windows pc.
Put the downloaded firmware in the same directory.
If you have chosen a kdz file you have to unpack it with LGExtract.
Ope up cmd and go with cd to the directory where all the files are.
Then type:
Code:
LGExtract -kdz *nameofthekdzfile*.kdz
upack the new .cab file with winrar or something like that, then run
replace *** with the name of the files that you have unpacked
Now you should have a Folder caled BIN.
Use cd to enter that folder.
Run in cmd:
Code:
copy /b "LG****_AP[*].bin" "LG****_AP.bin"
Replace **** with p920 or su760 related to wich firmware you have downloaded.
Now use explorer to move the LG****_AP.bin in the folder where all the .exe files are.
Extracting the bin
Run in cmd
Code:
extract.exe ***_AP.bin
At first you will see all the partitions in the bin and their offsets,
then the tool will extract them to .img files, stay tuned this will take some time.
Root the system partition
You can skip this if you just want to replace a partition.
Rename the extracted sstem partition from something like "7 - system.img" to "system.img"
Download this:
http://downloads.noshufou.netdna-cdn.com/superuser/Superuser-3.1.3-arm-signed.zip
and put it together with the system.img into a linux distro.
In linux unpack the zip and copy the superuser.apk and the su file
in the same directory with the img
go with the terminal in the folder with the system.img
and run:
Code:
sudo mkdir temp
sudo mount -o loop system.img temp
sudo cp superuser.apk temp/app
sudo cp su temp/bin
cd temp/app
sudo chmod 0644 superuser.apk
cd ..
cd bin
sudo chmod 6755 su
sudo umount temp
Copy the image back to windows.
Replace a Partition
Install winhex or an other hex editor.
Open the downloaded or extracted bin.
Go to offset that extract.exe showed you,
and select everything to the end of the partition and delete it.
The end of the partition is the offset + size of extract.exe showed you.
For example:
If the offset of the system partition is 00DA0000
and the size of is 2BC00000 the end of the partition is DA0000 + 2BC00000 = 2C9A0000
now open up the image you want to replace i with in hex editor,
select everything go back to the offset of the partition in winhex and paste it there,
just save it and you have your new own bin file ready to flash with LGFlashTool.
Hope this helps you, please post if you didn't understand anything, I forgot something or something is wrong.
Click to expand...
Click to collapse
how can I extract the other partitions?
need modify the exe file? with that program? VS2012?
sorry for my english .. I'm Italian.
fabersantucci said:
how can I extract the other partitions?
need modify the exe file? with that program? VS2012?
sorry for my english .. I'm Italian.
Click to expand...
Click to collapse
Extract .exeextracts all the partitions
Sent from my LG-P920 using xda app-developers app
Thank you very much for this guide. I hope somebody makes a working recovery without wkparks u-boot
Sent From My LG Optimus 3D SU760
berni987654321 said:
Extract .exeextracts all the partitions
Sent from my LG-P920 using xda app-developers app
Click to expand...
Click to collapse
not work ... You can make an example?
Put for example v21e bin and the extract tool in one folder and run extrct .exe name of bin file
Sent from my LG-P920 using xda app-developers app
Hey, great guide! I'm trying this on an LG Motion and the LGExtract worked great. Unfortunately, I'm getting an error with extract.exe "Failed to match header."
Could you please provide a link to the wpark tool?
Lg su760 ics
hi,
my mobile sets info are:
Model LG SU760(korean T)
Android ver 4.0.4
baseband XMM6260
karnel 3.0.21
build number ICS
Software ver LGSU760-V30b-OCT-18-2012
Problems:
1. how i uninstall korean skt and T applications??
2. My data speed on gprs is slow, highest is 12kbps. wifi speed is ok. why the gprs is slow??
Is there i need to root or change baseband? i live in bangladesh.
thanks.
I do not understand this problem
I hope you give me detailed instructions. Thank you very much!!!
"Replace a Partition
Install winhex or an other hex editor.
Open the downloaded or extracted bin.
Go to offset that extract.exe showed you,
and select everything to the end of the partition and delete it.
The end of the partition is the offset + size of extract.exe showed you.
For example:
If the offset of the system partition is 00DA0000
and the size of is 2BC00000 the end of the partition is DA0000 + 2BC00000 = 2C9A0000
now open up the image you want to replace i with in hex editor,
select everything go back to the offset of the partition in winhex and paste it there,
just save it and you have your new own bin file ready to flash with LGFlashTool."

[INTRODUCTION] Updater script

Hi guys this is a small intro to updater script by a newbie for a newbie to understand more and more what it has and what it means:highfive::highfive::highfive:
now what is the updater-script and update-binary present in the META-INF>com>google>android in any flashable zip package
1. updater-script - it is just a text file which contains all the commands which tells the clockworkmod what to do with the given
zip file. the updater-script is written in the edify scripting language.
2. update-binary - it is a binary which is requiered by the clockworkmod to translate the human readable format of the updater-
script to machine readable format for execution of the updater-script in our device.
exploring the updater-script:
now let's start exploring the updater-script !
1. open the updater script with notepad++ (strongly recommended)
2. now i will try and explain commands generally used in the updater-script,
assert(getprop("ro.product.device") == "ST15i" || getprop("ro.build.product") == "ST15i" ||
getprop("ro.product.device") == "ST15a" || getprop("ro.build.product") == "ST15a" ||
getprop("ro.product.device") == "smultron" || getprop("ro.build.product") == "smultron");
the above bunch of lines checks the device model to confirm that the zip file is flashed on the device
for which it is specifically created for. These bunch of lines are very important because it prevents
flashing of zip file which is not intended for the device hence avoiding any problems due to flashing
the wrong zip. for example the above lines checks for the value of "ro.product.device" and
"ro.build.product"in the build.prop file of the already existing rom in the device, if any of the three
defined values ST15i, ST15a, smultron are found it will continue with the next line of updater-script
otherwise flashing gets aborted with error in getprop.
format("yaffs2", "MTD", "system", "/system");
the above command explains itself, it is used to format the specified partition
syntax explanation:
format - the main command to direct the cwm to format using the following parameters
"yaffs2" - filesystem type used in the device
"MTD" - type of the partition used in the file system
"system" - location of the partition to be formatted
"/system" - name of the partition to be formatted
ui_print("Format Completed");
the above command is also self explanatory, it directs the cwm to display the following text
enclosed in double quotes in the user interface (display).
after succesful formatting it displays "Format Completed" in the device screen.
mount("yaffs2", "MTD", "system", "/system");
the mount command directs the cwm to mount the following file system and the following partition
the syntax is just as explained in the format command except that this command mounts the
defined partition whereas the format command formats the defined partition.
let's review what we have done till now,
1. we have checked the device to confirm that this is the device for which we created the zip.
2. we have formatted the system partition of the device.(this is only done when a new complete rom is being flashed, for flashing mods you
should never format the system partition!)
3. we have mounted the system partition of the device.
now let's continue,
package_extract_dir("system", "/system");
this command searches for the directory (folder) named "system" in the root of the zip file and
copies all the content of the "system" folder from the zip file into the "/system" partition
which is already mounted by the previous mount command.
remember the structure of the file system in the zip file and the "/system" partition of the device must be always identical.
for eg., you have created a mod by editing the systemUI.apk and you want to flash it, the system UI.apk resides in "/system/app"
so the structure of the file system in the update zip should be "/system/app/systemUI.apk"
ie., the update zip should contain folder named "system" at the root of it and folder named "app" inside the "system" folder and the
modded "systemUI.apk" must be placed inside the "app" folder.
package_extract_file("autoroot.sh", "/tmp/autoroot.sh");
this command searches for the file named "autoroot.sh" in the root of the zip file and
copies the file to "/tmp" folder and names it as "autoroot.sh" (here it does not change the name)
symlink("mksh", "/system/bin/sh");
the above command creates a symlink.
okay, now let's see about symlinks,
symlink is nothing but shortcuts, for example if a file is requiered in two different places instead of copy pasting the file
in two different locations, the file is copied to one of the two locations and in the other location a shortcut to the file(symlink)
is created. the source and the symlink can have different names (actually this is the prime use of symlinks).
to explain in a noob friendly manner,
take the above symlink, it creates a shortcut(symlink) for the command "mksh" and places it in the path of the operating system.
the shortcut(symlink) directs to the file "/system/bin/sh" , so whenever the os gets a request to execute the "mksh" command, the actual
binary that gets excuted will be "/system/bin/sh" .
creating symlinks saves a lot of space because instead of copying the whole file and placing it in requiered places we are just
creating shortcuts which directs to the source file which can be placed anywhere in the file system (generally placed in the path of the os).
set_perm_recursive(0, 0, 0755, 0644, "/system");
the above command is used to set permission recursively for the files and folders present inside a folder (in this case for "/system" folder).
syntax explanation:
0 - uid - it defines that the following permission is set for the user id 0 .
0 - gid - it defines that the following permission is set for the group id 0 .
0775 - dirmode - it defines that 0775 permission to set to directories contained within the specified directory.
0644 - filemode - it defines that 0644 permission to set to files contained within the specified directory.
"/system" - target directory to set the above mentioned permissions.
set_perm(0, 3003, 06755, "/system/bin/ip");
the above command is used to set permission for a individual file (in this case for "/system/bin/ip" file).
syntax explanation:
0 - uid - it defines that the following permission is set for the user id 0 .
3003 - gid - it defines that the following permission is set for the group id 3003 .
06775 - it defines that 06775 permission to set to the specific file.
"/system/bin/ip" - target file to set the above mentioned permissions.
run_program("/tmp/autoroot.sh");
remember the file autoroot.sh from package_extract_file command?
that file is supposed to be a shell script, the above command directs cwm to execute the "autoroot.sh" shell script present in "/tmp" folder.
unmount("/system");
the unmount command directs the cwm to unmount the following partition
the syntax is just as explained in the mount command except that this command unmounts the
defined partition whereas the mount command mounts the defined partition.
Okay now going into slightly complex and/or not widely used updater-script commands,
Ifelse
Syntax:
Ifelse(condition),(do_this),(else_do_this);
Example:
ifelse mount("yaffs2", "MTD", "system", "/system") == "system", ui_print("Mounted!"), ui_print("Mount Failed!");
Ifelse command can be explained simply as asking the system to do something based on the result of a condition.
From the example:
The ifelse command would attempt to mount the MTD partition named "system" to "/system".
If the mounting process succeeds (the condition), the script will display "Mounted!", else it will display "Mount Failed!"
abort()
It just abort's the script execution
Note: it is usually paired with some other command for example the getprop command or with ifelse.
Independently specifying abort() in the updater-script will kill the script abruptly right there so use this command carefully.
ALWAYS LEAVE A BLANK LINE AT THE END OF THE update-script (if the code contains 50 lines then 51 lines should be visible
in the notepad++ including a blank line after the end of the script)
ALWAYS REMEMBER TO SET THE EOL (end of line) CONVERSION OF updater-script
IN UNIX FORMAT BEFORE SAVING (notepad++ > edit > EOL conversion > UNIX format)
the above mentioned commands are just basic edify scripting commands which are generally used in updater-script.
for detailed scripting and coding in edify scripting language check out the following sources:
source of update-binary
introdution to edify
http://forum.xda-developers.com/wiki...cript_language
scratchpad-documenting-edify-commands-for-android-updater-scritps
http://forum.xda-developers.com/show....php?t=1290062
Broken Links!!!
source of update-binary
introdution to edify
http://forum.xda-developers.com/wiki...cript_language
scratchpad-documenting-edify-commands-for-android-updater-scritps
http://forum.xda-developers.com/show....php?t=1290062[/QUOTE]
broken links!!! :silly:
Dude cut the reply short
Sent from my Droid Bionic using xda app-developers app
Sorry brother! i mean these links are not working!!
Current Device : MT11i Xperia Neo V
ROM : Xperia Ultimate HD ™
Build Number : 2.0.3
Kernel : Suave Kernel
Root Status : Rooted
Bootloader : Unlocked
Previous Devices : Samsung Galaxy Y
GT-5360(Sold)
Sent from my MT11i using XDA Premium HD app
tharu_roxx said:
Sorry brother! i mean these links are not working!!
Sent from my MT11i using XDA Premium HD app
Click to expand...
Click to collapse
Dont quote large posts on a whole...be specific...if u dont be specific..it may annoy others and even may affect the beauty of XDA... Next time do take a note of this....
Now please modify ur post..and keep only those links that u were referring to...
-via my "Galaxy Royale"
First i noticed it dude! When um gonna edit it, xda doesn't allowed me(as i was a new member) now it's ok....thanx!!!
Current Device : MT11i Xperia Neo V
ROM : Xperia Ultimate HD ™
Build Number : 2.0.3
Kernel : Suave Kernel
Root Status : Rooted
Bootloader : Unlocked
Previous Devices : Samsung Galaxy Y
GT-5360(Sold)
Sent from my MT11i using XDA Premium HD app
kartiknnn said:
Dude cut the reply short
Sent from my Droid Bionic using xda app-developers app
Click to expand...
Click to collapse
Thanks kartik for the thread...
Learnt some new stuff...thank you...
I would suggest u to add some ready made zips with standard updater scripts... So that people can use them for faster modding...
What say?
Sent from my GT-I9103 using xda app-developers app
bhargav143 said:
Thanks kartik for the thread...
Learnt some new stuff...thank you...
I would suggest u to add some ready made zips with standard updater scripts... So that people can use them for faster modding...
What say?
Sent from my GT-I9103 using xda app-developers app
Click to expand...
Click to collapse
Try these threads
http://forum.xda-developers.com/showthread.php?t=1561463
http://forum.xda-developers.com/showthread.php?t=732957
Hit thanks if i helped!!
Current Device : MT11i Xperia Neo V
ROM : Xperia Ultimate HD ™
Build Number : 2.0.3
Kernel : Suave Kernel
Root Status : Rooted
Bootloader : Unlocked
Previous Devices : Samsung Galaxy Y
GT-5360(Sold)
Sent from my MT11i using XDA Premium HD app
Lemme see guys will try and upload them today
Sent from my GT-I9103 using xda premium
kartiknnn said:
Dude cut the reply short
Sent from my Droid Bionic using xda app-developers app
Click to expand...
Click to collapse
dont you have your exams buddy..
Sent from my GT-I9103 using xda premium
Yup formative 2 be exact
Sent from my GT-I9103 using xda premium
Where to get the update-binary file from???
prohank said:
Where to get the update-binary file from???
Click to expand...
Click to collapse
Read the second paragraph.
Sent from my CM10.1-powered GT-I9103
2. update-binary - it is a binary which is requiered by the clockworkmod to translate the human readable format of the updater-
script to machine readable format for execution of the updater-script in our device.
Click to expand...
Click to collapse
you mean this one?
It says what it is but where to get it from?
prohank said:
you mean this one?
It says what it is but where to get it from?
Click to expand...
Click to collapse
its in any CWM zip of Galaxy R. check in Meta-info/...../Android
prohank said:
you mean this one?
It says what it is but where to get it from?
Click to expand...
Click to collapse
This:
now what is the updater-script and update-binary present in the META-INF>com>google>android in any flashable zip package
Click to expand...
Click to collapse
Sent from my CM10.1-powered GT-I9103

Make your own updater-script!

To create updater-script or to edit updater-script you need Notepad++ (don’t use notepad). Download it from Here and install in your pc
updater-script is located in Meta-inf/com/google/android/updater-script
To create your own updater-script
Open notepad++ and from file menu select new and create the commands and create your own updater-script with this tutorial
After typing the commands save it as all types(*.*) and name it as updater-script and click save and put it in folder Meta-inf/com/google/android/updater-script
In this tutorial i will explain you all commands used in updater-script so that you can edit or create updater-script
ui_print – This command prints the prints the word inside the quotations
Example – ui_print(“xolo – next level”); prints xolo next level in your cwm recovery
mount – This command mounts the partition, if you want to add files to system partition you have to mount system partition, data for data partition
To mount system - mount(“ext4″, “EMMC”, “/dev/block/mmcblk0p5″, “/system”);
Here mmcblk0p5 is the name of system partition for mtk 6589 chipsets (this name varies from device to device)
To mount data - mount(“ext4″, “EMMC”, “/dev/block/mmcblk0p7″, “/data”); (partition name varies from device to device)
format - This command formats the partition specified
It is highly recommended to include this command to format system and data if you are making updater-script for ROM
To Format system - format(“ext4″, “EMMC”, “/dev/block/mmcblk0p5″, “0″);(partition name varies from device to device)
To Format data - format(“ext4″, “EMMC”, “/dev/block/mmcblk0p7″, “0″);(partition name varies from device to device)
package_extract_dir(” “, “/”) – This command extracts all the files from the folder mentioned inside first quotation to the partition or directory inside second quotation
For system - package_extract_dir(“system”, “/system”);
(this copies all files from system folder in zip to system partition in phone)
For data - package_extract_dir(“data”, “/data”);
package_extract_file(” “,”/”) - This command extract the single file inside between first quotation from zip to the partition or directory inside second quotation
symlink – This command creates links to its executable files
Here is an example
for super su binaries - symlink(“/system/xbin/su”, “/system/bin/su”);
set_perm_recursive - This command sets permission for folders
here android uses unix permission system
in unix
4 – read
2 – write
1 – execute
so
rwx is 4+2+1 = 7
rw is 4+2 = 6
rx is 4+1 = 5
Example - set_perm_recursive(0, 0, 0755, 0644, “/system”);
In this 0 is a user id for owner that refers to root. It means that permission owner for system folder. and 0 is root user means it unrestricted access to system. it is given in order to run programs to run properly
second 0 also refers to root. but here it refers to group id 0
we are only seeing about folders because “set_perm_recursive” is a command that sets permission to folders
next 0755 it means rwxr-xr-x permission has been given to system folder and rw-r-r is set for all folders inside system folder
set_perm – This command sets permission for a specific file
Example - set_perm(1000, 1000, 0640, “/system/etc/bluetooth/auto_pairing.conf”);
here the 1000 refers to user id system and 0640 is rw-r—–
and this command sets the permission rw-r—– for the file auto_pairing.conf
unmount – This command unmounts the partition
Example - unmount(“/system”); – unmounts system
General rule in updater-script – all commands should end with semi colon ; otherwise it will show error and if cwm or twrp shows status 7 error the error is in updater-script:laugh:
try fixing it by going through this thread
Use zipme app from Playstore to Make .Zip Flashable Files....
----------Signature---------
Need Some Cool Guides Visit Hmpshah Guides
Zeuscluts said:
Use zipme app from Playstore to Make .Zip Flashable Files....
----------Signature---------
Need Some Cool Guides Visit Hmpshah Guides
Click to expand...
Click to collapse
i use kitchen always
anyways thanks for the info :good:
and do you know any app to decompile in phone like apk multitool in pc?
Renaming is the Option
pradeepxtremehacker said:
i use kitchen always
anyways thanks for the info :good:
and do you know any app to decompile in phone like apk multitool in pc?
Click to expand...
Click to collapse
Bro its not possible,
but if you rename the .apk to .zip
you can decompile it,
but you need a PC to recompile.
Eg
sms.apk to sms.zip
then just Unzip sms.zip
you can get the Details.
Zeuscluts said:
Bro its not possible,
but if you rename the .apk to .zip
you can decompile it,
but you need a PC to recompile.
Eg
sms.apk to sms.zip
then just Unzip sms.zip
you can get the Details.
Click to expand...
Click to collapse
bro i think you are saying like extract
in fact we no need even to rename to extract we can directly extract with es file explorer from .apk but when we extract the xml will not be editable it will show like boxes
i am asking like a app like apk multi tool
No not Possible in Mobile.
Yet
Hope anyone Make this Possible In Future.
:Fingercrossed:
Let's Hope for the Better. ..
----------Signature---------
Need Some Cool Guides Visit Hmpshah Guides
OK thanks
Sent from my GT-I9070 using xda app-developers app
I have a question, i and my friend both port the rom for HTC One International to HTC One J (the japan variant of HTC One) and we edit the updater-script the same way but then my friend's rom can be flashed without any error and my, it's stuck at format step, the log file say:
Code:
format() expects 4 args, got 5
format() expects 4 args, got 5
here is the command line that was corrupted:
HTML:
format("ext4", "EMMC", "/dev/block/mmcblk0p38", "0", "/system")
my friend use the same and he has no error @@
Can you tell me why i can't make the rom to be able to flashed
Very helpful... Thanks.
KuroKeita said:
I have a question, i and my friend both port the rom for HTC One International to HTC One J (the japan variant of HTC One) and we edit the updater-script the same way but then my friend's rom can be flashed without any error and my, it's stuck at format step, the log file say:
Code:
format() expects 4 args, got 5
format() expects 4 args, got 5
here is the command line that was corrupted:
HTML:
format("ext4", "EMMC", "/dev/block/mmcblk0p38", "0", "/system")
my friend use the same and he has no error @@
Can you tell me why i can't make the rom to be able to flashed
Click to expand...
Click to collapse
The format command depends on the update-binary you are using. If you use the one your friend is using it will probably work with the existing command. If you would like to keep using your existing update-binary, change the above line to
Code:
format("ext4", "EMMC", "/dev/block/mmcblk0p38");
SuperR. said:
The format command depends on the update-binary you are using. If you use the one your friend is using it will probably work with the existing command. If you would like to keep using your existing update-binary, change the above line to
Code:
format("ext4", "EMMC", "/dev/block/mmcblk0p38");
Click to expand...
Click to collapse
Yeah, i changed to that and the rom was flashed properly, thanks guys
Sent from my HTC J One using Tapatalk
Zeuscluts said:
No not Possible in Mobile.
Yet
Hope anyone Make this Possible In Future.
:Fingercrossed:
Let's Hope for the Better. ..
----------Signature---------
Need Some Cool Guides Visit Hmpshah Guides
Click to expand...
Click to collapse
Yes I think so. Even Stericson's NinjaMorph can't do it.
Hello. I am making a flashable zip that flashes a modified build.prop. i dont know much about how to do it. the screenshot attached below, shows the code i already have. All i want is an updater script that will delete the build.prop and replace it with the modified one.
[HELP] generic updater script
I do have a "strange" question: is possible to update (overwrite) just specific files/dir ?
This could allow to make "generic" roms for a whole class of devices (for example all MT65xx).
Thanks in advice for any suggestion you can provide.
How to delete files in order to replace them with new ones? You didn't specify any commands for that one.
Sent from my Nokia_XL
I need help porting a ROM that always gives me status 7 and error setting permissions.
I think it is having problems identifying my device and I might've erased the get_prop commands.
Any help?
thank you
Hey. was wondering if you had any idea what im doind wrong by this log:
AROMA INSTALLER version 2.70B6
(c) 2013 by amarullz xda-developers
ROM Name : Project Unity
ROM Version : Google Apps
ROM Author : LiquidSmokeX64
Device : Any Device
Start at : Sat Aug 9 19:34:06 2014
Installing Google Core Apps
Mounting system...
Copying files...
Extract: /system/app/GoogleContactsSyncAdapter.apk
Extract: /system/etc/permissions/com.google.android.ble.xml
Extract: /system/etc/permissions/com.google.android.camera2.xml
Extract: /system/etc/permissions/com.google.android.maps.xml
Extract: /system/etc/permissions/com.google.android.media.effects.xml
Extract: /system/etc/permissions/com.google.widevine.software.drm.xml
Extract: /system/etc/permissions/features.xml
Extract: /system/etc/preferred-apps/google.xml
Extract: /system/framework/com.google.android.ble.jar
Extract: /system/framework/com.google.android.camera2.jar
Extract: /system/framework/com.google.android.maps.jar
Extract: /system/framework/com.google.android.media.effects.jar
Extract: /system/framework/com.google.widevine.software.drm.jar
Extract: /system/lib/libAppDataSearch.so
Extract: /system/lib/libconscrypt_gmscore_jni.so
Extract: /system/lib/libgames_rtmp_jni.so
Extract: /system/lib/libgcastv2_base.so
Extract: /system/lib/libgcastv2_support.so
Extract: /system/lib/libgmscore.so
Extract: /system/lib/libgoogle_hotword_jni.so
Extract: /system/lib/libgoogle_recognizer_jni_l.so
Extract: /system/lib/libjgcastservice.so
Fixing Permissions...
Installing Google Chrome
package_extract_file: can't open /system/app/Chrome.apk for write: Read-only file system
package_extract_file: can't open /system/lib/libchrome.1985.128.so for write: Read-only file system
Installing Cloud Print
package_extract_file: can't open /system/app/CloudPrint.apk for write: Read-only file system
Installing Google Play Music
package_extract_file: can't open /system/app/Music2.apk for write: Read-only file system
Installing Gmail
package_extract_file: can't open /system/app/Gmail.apk for write: Read-only file system
Installing YouTube
package_extract_file: can't open /system/app/YouTube.apk for write: Read-only file system
package_extract_file: can't open /system/lib/libm2ts_player.so for write: Read-only file system
Fixing permissions again...
Finished
script result was [@Finished]
Installer Sucessfull (Status 0)
End at : Sat Aug 9 19:34:06 2014
Problems with script
Greetings, I am new to the forum and have a question, I use a program to change my boot image, this generates me an update.zip and works perfect, but using as a basis the same script and copy any file to the same path, the script does nothing at all.
this is the script that changes the boot image
ui_print("Flashing logo...");
show_progress(0.200000, 0);
package_extract_file("logo.bin", "/dev/logo");
ui_print("Patched!");
ui_print("");
ui_print("Now you can reboot your phone");
Click to expand...
Click to collapse
and this is my script
ui_print("Flashing logo...");
show_progress(0.200000, 0);
package_extract_file("test.txt", "/dev/test.txt");
ui_print("Patched!");
ui_print("");
ui_print("Now you can reboot your phone");
Click to expand...
Click to collapse
i don't see what the problem is, any ideas?
Gorgonitte said:
Greetings, I am new to the forum and have a question, I use a program to change my boot image, this generates me an update.zip and works perfect, but using as a basis the same script and copy any file to the same path, the script does nothing at all.
this is the script that changes the boot image
and this is my script
i don't see what the problem is, any ideas?
Click to expand...
Click to collapse
if understood correctly, your script should extract to /tmp/scriptname.sh or /temp/scriptname.sh
after which your updater script in you meta-inf/com/google/android directory of your update.zip
need to include instruction to set permission and execute the script that actually performs the function.
m

Categories

Resources