Updater script & Update Binary - LG Optimus 3D

Hello there
I havent done any kind of rom building for well over a year now and it seems that the update script seems to have changed to updater script along with update binary.
can anyone give me information or point me somewhere where i can learn this new method and can the building of the updater script and binary be an automatic process? as if it can i will write some software to do that and post it here as there is no where i can find with this information so must be frustrating for those not in the know
also do the update packages still require signing?

does nobody seriously know about the updater script nor update binary? normally i would post in development forum where i would get an answer but get told off for posting there. At the end of the day once i know the format i will write an application that would do it all for you.
looking through several updater scripts i get the whole mounting partitions thing to then write information to. the whole symlink thing with busybox, every rom i unzip seems to have different symlinks, is there a reason for this or can i look to see what symlinks are needed for a certain rom? this so far seems to be the bit im strugglin with?any help will be thanked with a donation

Related

JesusFreke auto-updater in the works.

OK, here is the latest. This thread topic has changed a lot since I started it so I deleted it all and am cleaning it up.
A few weeks ago I wrote a .sh script that would check a file to find if there was a new version of the JF roms available. Updating is a pain and I wanted to make it easier. Not knowing Java I decided to write a .sh script which worked but was not very easy to use itself. To make it easier I asked for help here in making a frontend Android app to go with it. Since then, [RiS] has written a nice client that not only does what my script did, but does it without needing my script. The whole process is taken care of within the application. This makes it easier to use, faster and able to do a lot more than my script ever. The app is still in beta at this time but is coming along nicely.
The app name is JFupdater and currently it read a text file on my server (http://android-dls.com/up.txt). The info in that file tells the app if there is a new JF Rom available. I update this file whenever JesusFreke releases a new rom. There are fields for US G1, UK G1 and ADP1 which allows roms for all 3 to be tracked and updated. The version, description, md5sum and a list of mirrors to download. The application checks your phone type (or the phone type you select in the settings) and then checks this file to see if a newer version is available. IF there is it will let you know which are ready for download and give you a download button. Once downloaded the file can be applied by rebooting into recovery.
I believe he is working on making the reboot to recovery/apply update more automates so that after download you would be asked if you want to apply it now, and by choosing yes it would reboot and auto install the update like an official OTA would do.
There is currently a service set that allows you to set it to look for an update ever 1 hour, 24 hours or on boot.
The url where this project is located is: jfupdater.googlecode.com
I'm not sure how to run shell commands through an app. If anyone knows how I can definitely write the service to do this.
I know its possible because someone in #android wrote one. Also another thing that might need to be done would be to copy this file to /cache and chmod it (if its on sdcard it cannot be executed). I will try to ask around how to run a shell command for you.
ok, not sure if this helps, but this is from the source of Koush's superuser whitelist (thanks for making that available for us):
String command = String.format("echo \"mount -oremount,rw /dev/block/mtdblock3 /system\" | %s\nexit\n", suCommand);
Process p = Runtime.getRuntime().exec("sh");
OutputStream writer = p.getOutputStream();
writer.write(command.getBytes("ASCII"));
Thread.sleep(500);
and
if (superuser.exists())
{
// return device to original state
Process process = Runtime.getRuntime().exec("superuser");
DataOutputStream os = new DataOutputStream(process.getOutputStream());
os.writeBytes("busybox cp /system/bin/superuser /system/bin/su\n");
os.writeBytes("busybox chown 0:0 /system/bin/su\n");
os.writeBytes("chmod 4755 /system/bin/su\n");
os.writeBytes("rm /system/bin/superuser\n");
os.writeBytes("exit\n");
os.flush();
}
Hopefully the info you need is in this (i dont know java, but that looks like the code to me)
What about "running" the script code directly in the service? I mean, translate the script into java code.
This would remove the need of executing a shell script, and you wouldn't rely on system tools (that may change or crash in future updates / new devices).
Moreovew, it would also allow to add more options (Like check for updates, and when an update is found, ask the user if they want to download it or not. This could be useful if he is on a slow connetion, or it has not an unlimited data plan...)
I can start/work with LPChris on this.
I was just looking at your update.sh script.
Just to clean it up a little, you can use a split function.
myString = jlatest.split("|")
That would split the text at everyone and give you
myString(0) = "version"
mystring(1) = "md5sum"
mystring(2) = "mirror1"
mystring(3) = "mirror2"
etc...
So yeah. I'm glad that you're doing this though.
I'm not any good at java so I can't help sadly enough.
I should start learning though.
I'm also interested in an app the can run scripts (which I can make shortcuts for..)
I'm not an java developer, however I've started writing something that could do that using a code similar to the above.
any other developers that can assist ?
ido said:
I'm also interested in an app the can run scripts (which I can make shortcuts for..)
I'm not an java developer, however I've started writing something that could do that using a code similar to the above.
any other developers that can assist ?
Click to expand...
Click to collapse
I'm actually building out the service now, I'll work on it more after I get home from work tonight. If you're good with building services too, by all means have a crack at it.
this will be awesome. can you make it for uk versions too please
I have started working on this, hopefully will have a working version by tommorow.
Also, we have some bandwidth available at modmygphone.com which we can use for the mirror.
As I said I am a n00b when it comes to .sh scripts, and this is probably my third. If you have a way to make it work better, by all means let me know. As for making a java app that does all of this, if you can do it, great! I do not really care about the script other than the fact that I couldnt do this any other way and didn't want to be begging for a developers help unless I had already done what I could myself.
I have been working on a similar concept myself. I even got the /cache/recovery/command stuff working. Just write the following commands to that file:
Code:
boot-recovery
--update_package=partition:file
Then you can run 'reboot recovery' from the terminal and the phone will automatically reboot into recovery mode and apply the update. It won't go back into user mode on its own though (you have to hold home+back to do so).
I would much prefer this to be a GUI based utility, instead of a shell script that just runs in the background. We could apply ROM updates, themes etc right on the phone by simply giving a URL to the location of the file and have the phone do the rest
Datruesurfer said:
Then you can run 'reboot recovery'
Click to expand...
Click to collapse
Thanks for this, we were looking into how to do this. How did you find that out? I guess the android app that does all this can now force the reboot also
Datruesurfer said:
I have been working on a similar concept myself. I even got the /cache/recovery/command stuff working. Just write the following commands to that file:
Code:
boot-recovery
--update_package=partition:file
Then you can run 'reboot recovery' from the terminal and the phone will automatically reboot into recovery mode and apply the update. It won't go back into user mode on its own though (you have to hold home+back to do so).
I would much prefer this to be a GUI based utility, instead of a shell script that just runs in the background. We could apply ROM updates, themes etc right on the phone by simply giving a URL to the location of the file and have the phone do the rest
Click to expand...
Click to collapse
That's too easy! good find
Any word on the progress?
Darkrift said:
Any word on the progress?
Click to expand...
Click to collapse
LPChris and myself have started a project on google code, we expect to have some working code soon.
Anyone who wants to contribute with ideas, testing, etc.. is welcome!
For some reason my Subclipse isn't playing nice with the Google Code repository right now so I haven't been able to get any of my code up there yet, but hopefully we'll have something going fairly soon. I'm going to rewrite as much of it as I can in Java so that the user can be notified and authorize the download in two separate steps.
[RiS] said:
LPChris and myself have started a project on google code, we expect to have some working code soon.
Anyone who wants to contribute with ideas, testing, etc.. is welcome!
Click to expand...
Click to collapse
Any details for this?
[RiS] said:
LPChris and myself have started a project on google code, we expect to have some working code soon.
Anyone who wants to contribute with ideas, testing, etc.. is welcome!
Click to expand...
Click to collapse
I had actually registered a domain with this type of thing in mind in the past. androidupdatetracker.com. I would be happy to donate it to the cause
Darkrift said:
Any details for this?
Click to expand...
Click to collapse
So far we have an empty Google Code project going. Like I said before, I haven't been able to connect my environment to the google code cvs. I'm hoping to be able to spend some time on it tonight if I can. If anyone else wants to help out here that has some free time then I'm open to it. I've just been busy with work and my GasBot application.

What is this 0775 Folder on my Xoom??

Ok so after flashing the newest Tiamat kernel (1.3.1) for SD support, I now see this new folder in my root called "0775". It appears empty, but has a date of Dec. 31, 1969. Unless I never noticed this before, I am pretty sure it appeared after flashing the kernal. Anyone else see this, or know what it is???
Does anyone else have this folder on their Xoom??
Hexbug said:
Ok so after flashing the newest Tiamat kernel (1.3.1) for SD support, I now see this new folder in my root called "0775". It appears empty, but has a date of Dec. 31, 1969. Unless I never noticed this before, I am pretty sure it appeared after flashing the kernal. Anyone else see this, or know what it is???
Click to expand...
Click to collapse
I have it also.
I would hate to say definitively, but I suspect that was just a typo of sorts with the setup.
0755 is a linux file permission that is commonly used for files installed during the rooting process. My guess is that someone accidently told it to "please create directory 0755" rather than "please modify the file permissions to 0755". It is PROBABLY safe to delete, yet also probably harmless to leave.
Please though, someone correct me if I'm wrong. My only real knowledge of linux consists of stuff I have learned from tinkering with Android, and I am FAR from an expert. But I hope this may help.
DavidThompson256 said:
I would hate to say definitively, but I suspect that was just a typo of sorts with the setup.
0755 is a linux file permission that is commonly used for files installed during the rooting process. My guess is that someone accidently told it to "please create directory 0755" rather than "please modify the file permissions to 0755". It is PROBABLY safe to delete, yet also probably harmless to leave.
Please though, someone correct me if I'm wrong. My only real knowledge of linux consists of stuff I have learned from tinkering with Android, and I am FAR from an expert. But I hope this may help.
Click to expand...
Click to collapse
This is the obvious and likely conclusion.
Sent from my HTC Desire using Tapatalk

[Q] Challenging Link2SD issue

Hey guys...
I would have loved to post this to the author of this CM10.1 rom i'm running but the forum won't allow me to do that yet. It's the HTC Aria/Gratia/Liberty running user WinSuk's CM10.1 homebrew mod. S-OFF and working beautifully with a bunch of other apps for many weeks now.
I've read a couple of dozen threads with the same issue and after trying maybe 10 different suggestions that solved other peoples problems, I am forced to post another topic with this boring subject. Any suggestions would be very helpful and grateful.
The questions is about Link2SD in conjunction with this ROM. Are there any limitations on using Link2SD with this rom?
I must have read 20 forum threads and I see that there are literally thousands out there about the "Mount script cannot be created"-error.
I've tried all file systems for the second partition (FAT16/FAT32/EXT2/EXT3/EXT4) and all give this error. The only difference is that when the file system is EXT3 I get a different error. Instead of being just plain "Mount script cannot be created" I get instead "Mount script cannot be created. Mount: Invalid argument".
Either Ext3 is showing some progress or it's the only file system not supported.
The phone is obviously S-OFF so nand is unlocked. I'm very close to trying the CronMod script instead but I really would like to try Link2SD before falling back on something potentially less popular.
Thanks for reading and helping out... /s

[Q] reading partition images other than recovery and boot (such as aboot and firmware

Hello! So this should be an interesting first post. First, a little background:
I'm relatively new to this, and I've been trying to root my NEC Terrain for a little while now. I've followed the instructions on numerous pages in order to understand how to do things. And now I have been able to rip any partition from the phone. I've looked through everything I could in both the boot and recovery partitions but I haven't found anything I can use (I also explored /system but there doesn't seem to be anything in there either). Also, I tried to do everything on this page: http://forum.xda-developers.com/showthread.php?t=2337642 but I can't get SuperSU or TiBu to work. (As an aside, if anybody can point me in the right direction for the most recent su binary, that would be awesome). SuperSU wants to update the binary but fails. I would assume it's because it tries to install it directly into /system/bin, which isn't writable. If I could make it install it into /data/sbin, it might work, but that's off topic right now.
I would like to explore more of the partitions to understand what they are and what they do (I can't seem to find much information about them anywhere). I'm hoping to find something in the code to give a hint as to how to get into the bootloader. So, I have things like "aboot", "firmware", "MM", and "GROW", among others. Is there any way to decode or decompile those images so I can see what coding goes into them? Am I going about this the wrong way?
Thanks in advance to anyone that can help!
Maybe this will help you
In this post by E:V:A you can find some information about partitions and links to more!
I think latest SuperSU should be with latest SU binary (I can be wrong about this), so you could download "CWM / TWRP / MobileODIN installable ZIP" from this post and take one from "x86" folder.
Good luck.
Thanks for the links! Some of these may be very helpful. However, the su binary I got from that link was much older than the other most recent I had. It's a version 2.0 and they're up to at least 3.2 (I'll check the link again to see if I missed something). Also, for these phones, if anybody is wondering, they are ARM, not x86.
There seems to be only one direction I can go with this: Find an exploit that can run at boot that will interrupt it at the right time and allow editing of the /system partition. I can get a root shell with that script and a bind mount, but it's not enough to get anything else to work (ro.secure is still active, so there's no way to change it after the system is booted). Root is granted to root, and that's all. Any app requesting root does not get it.
The guys on that other thread said they got SuperSU and TiBu to work, but they provided very limited information and I can't seem to make them work. I wonder though, if that would matter as long as ro.secure is still enabled.

updater script for Installing a ROM

Hello,
I wanted to reach out to you about creating a all stock ROM with minor modifications.
I did a system dump using the terminal emulator command to basically output the system to system.tar
I used a updater script I found from someones ROM that was as close to stock as possible and made some minor changes, removing the name , I compared a few and removed any differences.. I flashed it, no errors but I booted right back into recovery.
I followed this ROM guide as best I could and failed epically. Chances are its my updater script.I am aware that the updater script in that thread is specific for that device so I didn't use it in its entirety. I'm guessing anyways and I'm not sure where to start with that.
Would anyone have any advice or be able to assist in this?
Thanks in Advance

Categories

Resources