Guest Darael Posted February 17, 2014 Report Posted February 17, 2014 (edited) Some of the information below also applies to the 37MiB update, but I have no idea what, so don't ask me. Do, however, feel free to give any extra information you have regarding the 58MiB patch. It is not possible to use the AIO tool to root your phone while the 58MiB patch is applied. It is possible to downgrade by flashing the 299MiB update.zip, but this tends to mess up the screen, needing an HDMI cable to actually do anything Both recovery from this state and obtaining a 58MiB-patched rooted OSD are possible, and that is the subject of the next part of this post. Recovery from the flashing-screen state is probably easiest to do by using fastboot to apply the 58MiB patch. This is the method I'm going to suggest, but it's also doable by changing the GPU drivers in use (which has the advantage that it's not necessary to apply the dreaded patch) or by using HDMI output to OTA-upgrade (which has the advantage of not needing to have fastboot installed on your PC). That said, the purpose of this post is to provide information about the patch, so that's the only method we'll discuss here. THIS IS SLIGHTLY TECHNICAL, but frankly I don't think the rooted 58MiB-patched version of the ROM is ready for use by those who can't handle a bit of technical stuff yet (and if you disagree, feel free to update the AIO tools and drop me a link so I can put it in my mirror of such things). IF YOU ARE A NON-TECHNICAL PERSON, STICK TO STOCK ICS (with as many changes using the AIO tools as you like) So, to obtain a patched-yet-rooted phone (the same principle, adjusted as appropriate, should work for the 37MiB patch (but why would you bother?)): Gather your tools: Ensure that you have both adb and fastboot installed on your PC. As mentioned, I'm writing for a relatively-technical audience, so I'm sure you can work out how. Bear in mind that fastboot will need the "-i 0x8087" option and under Linux may need to be run as root. If your phone is in the bootloader and fastboot still hangs on "<waiting for device>", try running it as root. Make sure you have both the Xolo stock ICS 299MiB update.zip and the corresponding 58MiB update.zip. Both can be found on my server at http://darael.tpchq.org/SanDiego/updatezips/ if you don't have them already . Unfortunately my mirror suffered a hard drive failure and I no longer have these files. See post 7 in this thread for another way to get the 58M update.zip. The former you'll only need to get back to stock if you aren't there already, but hey, it can't do any harm (unless you really can't afford to download 299MiB) Disable anything you applied with the AIO tool that is listed in this post's final section as not working with the patched ROM. Fail to do this and you will be stuck in a bootloop and have to use fastboot to get out of it - if you find yourself in that situation, follow the advice on doing this whole thing a second time, hidden in my explanation for the use of fastboot in Step 5. Back everything up. You shouldn't need to, but it's safest, just in case anything goes wrong. Enable USB debugging. If you haven't done that automatically knowing what we're doing... shame on you. The next two steps can be skipped if you run through this process a second time (or more) on a given phone, as the changes made will persist pretty much whatever you do to it. Now you need a root ADB shell. If you've applied the 58MiB update, then the first time you do this you'll need to downgrade and use the AIO tool to change the graphics drivers in use, or use an HDMI display to re-root. Sorry. There are guides elsewhere on this forum. Having obtained a rooted, stock-ICS phone, you can begin your prep. su and busybox are in /system/xbin/. You're going to need spare copies of these, because the 58MiB update will remove the suid and sgid permissions from su and may delete busybox. As such, you need to stick copies somewhere that a) doesn't ignore suid and B) won't be overwritten by the update. A quick look at the output of "mount" on the phone suggests /config is a good bet (and it is. I tried it. It works.). Problem is, it's mounted read-only. As such, we'll need to remount it. I'll give the command to do that in a sec, but first: The next thing is to make a new directory in /config - I'll call it reroot - and finally to copy su and busybox there. The commands, in that order (with remounting /config read-only at the end for neatness) are as follows: mount -o remount,rw - /config mkdir /config/reroot cp /system/xbin/su /system/xbin/busybox /config/reroot/ mount -o remount,rw - /config It's time to apply the update. We're going to use fastboot rather than anything while the phone is booted, because it's much easier the second and later times one runs through this process due to not needing the screen to be usable (fastboot "update" to stock, use adb to reboot to the bootloader, fastboot to apply the patch). Now, you can get the phone into the bootloader by powering it off, then on while holding the volume-down button, sure, but there's an easier way. Issue "adb reboot-bootloader" on your computer. This will also work if the dash is replaced with a space. Now that you're in the bootloader, flash the update. I'm going to use /path/to/58M/update.zip as a shorthand, but if you're on Windows then you need to use Windows-style paths with backslashes and a drive letter if appropriate... obviously. This is done as follows: "fastboot -i 0x8087 flash update /path/to/58M/update.zip" The phone should reboot, and you'll be in a fully-functional (but unrooted) patched ICS. If you get bootlooped instead, you applied some mod or other that disagreed with the patch. Use fastboot as above to revert to stock ICS, then immediately again to patch it - YOU DO NOT NEED TO REDO STEPS 1-4, which means you also do not need to be able to see what you're doing as you can use adb to get into the bootloader since USB debugging should still be enabled. After we're done here you can apply the mods from the tool one at a time to see which caused the bootloop, and get back to me so I can add it to the incompatible-mods list. Finally, it's time to regain root. Here's how. First, get an adb shell. It won't be a root shell but that doesn't matter right now. Then issue the following commands: /config/reroot/su #this should work, and the last character of the prompt change to # - you're acting as root mount -o remount,rw - /system #mount /system read-write cp /config/reroot/su /config/reroot/busybox /system/bin #note NOT /system/xbin. Don't know why but that no longer works. reboot #not strictly necessary but does no harm and keeps things clean exit #you may or may not get the chance before the reboot terminates the shell anyway exit #see above (first exited su, second exited adb shell) Be aware that you can skip everything past the hash (#) in those lines *or* leave it in. They're comments and will have no effect either way. Your phone will reboot. Congratulations; you have a rooted 58MiB-patched phone, and root-using apps should work fine (including insecure ADB, SuperUser, &c.). Now, three more things and then I'll shut up for a bit. Firstly, some of the options in the AIO tool are irrelevant to a phone in the state we've just got to - rooting, especially, would be kind of pointless since it's already rooted. Don't bother! I'll mention others The following options from the AIO tool are confirmed to work on a rooted phone with the 58MiB patch - if something's not listed here or in the next list I for one would be grateful if someone would try it out and see whether or not it works: Brick-fixing (of course; it works regardless of the ROM on the phone. Just uses fastboot.) Reverting to stock Xolo Flashing boot logos Enabling the µSD card slot Swapping the internal storage and the card in the µSD slot Probably others. More testing needed. The following I know NOT to work after applying the 58MiB patch and rerooting (and if anyone wants to provide fixes, I am happy to host them, but dev discussions should probably go in the main dev thread, or threads of their own, rather than here): The "enable both SD card" option. This WILL bootloop the phone. Personally I suspect framework-res.apk rather than MediaProvider.apk to contain the conflict but I haven't the skill to prove anything. Probably others. More testing needed. Edited March 14, 2014 by Darael
Guest BlueMoonRising Posted February 18, 2014 Report Posted February 18, 2014 Excellent work Darael, now I know where to send people who PM me when they've flashed a patched Xolo rom in desperate need for help :P Is there any advantage that I can't see to going this root if you've got an original Xolo or Orange ICS rom with say Flibblesans mods and the SD card enabled (and of course rooted)? If any mods are around I think this thread could do with pinning please.
Guest Darael Posted February 18, 2014 Report Posted February 18, 2014 Is there any advantage that I can't see to going this root if you've got an original Xolo or Orange ICS rom with say Flibblesans mods and the SD card enabled (and of course rooted)? Well, I've heard mention of the update solving certain issues with overheating, but otherwise no, I don't know of any. It would help if we knew exactly what the update changed and why.
Guest BlueMoonRising Posted February 18, 2014 Report Posted February 18, 2014 BTW, Ricky Wyatt developed a way to combine both USB and SD card storage into one. He would only pass on details to people who PM'ed him as I think he (wisely) vetted them to see if they were capable as it was highly technical and not without risk. Perhaps it may give you some ideas for enabling both storage areas with the patch? You'd have to PM him directly if you think it's of any use.
Guest Titan146 Posted March 13, 2014 Report Posted March 13, 2014 Hi, I'm looking to use this method to re-root my phone, after Orange updated the software when my phone was repaired (because the lock button had fallen off, but that's a story for another time), however your link for the 58mb update.zip file isn't working. Please could you upload a new link? I can't use titanium backup to get my apps back until its rooted. Thanks in advance for your help.
Guest BlueMoonRising Posted March 14, 2014 Report Posted March 14, 2014 Hi, I'm looking to use this method to re-root my phone, after Orange updated the software when my phone was repaired (because the lock button had fallen off, but that's a story for another time), however your link for the 58mb update.zip file isn't working. Please could you upload a new link? I can't use titanium backup to get my apps back until its rooted. Thanks in advance for your help. It might just be down temporarily. PM Darael and ask him.
Guest Darael Posted March 14, 2014 Report Posted March 14, 2014 Unfortunately, the machine on which I was mirroring those files had a total hard drive failure two days ago, and the SanDiego files are not in my most recent backup set. This *sucks*. I can, however, tell you that if you download the OTA update, then before you install it the update.zip file will be on the phone as /cache/fota/ipth_package.bin and can be retrieved with adb pull (I used "adb pull /cache/fota/ipth_package.bin 58M-update/xolo/update.zip" because I thought I might go and get the Orange one at some point, but you can put whatever path you like for the destination, though I suggest making the filename part update.zip). Yes, it's got a .bin extension, but run "file" on it and you'll see that it *is* a zip archive. Note that after actually installing the update it'll be deleted from the phone, so there's quite a small window in which to get it. If you can get it in this way, I'm happy to host it on the replacement machine at the same address for anyone else who wants it.
Guest Titan146 Posted March 18, 2014 Report Posted March 18, 2014 (edited) Unfortunately, the machine on which I was mirroring those files had a total hard drive failure two days ago, and the SanDiego files are not in my most recent backup set. This *sucks*. I can, however, tell you that if you download the OTA update, then before you install it the update.zip file will be on the phone as /cache/fota/ipth_package.bin and can be retrieved with adb pull (I used "adb pull /cache/fota/ipth_package.bin 58M-update/xolo/update.zip" because I thought I might go and get the Orange one at some point, but you can put whatever path you like for the destination, though I suggest making the filename part update.zip). Yes, it's got a .bin extension, but run "file" on it and you'll see that it *is* a zip archive. Note that after actually installing the update it'll be deleted from the phone, so there's quite a small window in which to get it. If you can get it in this way, I'm happy to host it on the replacement machine at the same address for anyone else who wants it. I downgraded, downloaded the update but didn't install, however the response I got when I went to pull the file was "remote object '/cache/fota/ipth_package.bin' does not exist". Do you know where else it may be or have any advice on what to do instead? Just a thought, but would you need to have root access to be able to access the file? Edited March 19, 2014 by Titan146
Guest Darael Posted March 21, 2014 Report Posted March 21, 2014 I downgraded, downloaded the update but didn't install, however the response I got when I went to pull the file was "remote object '/cache/fota/ipth_package.bin' does not exist". Do you know where else it may be or have any advice on what to do instead? Just a thought, but would you need to have root access to be able to access the file? Hmm. That, according to my command history, is definitely what I used - and I'm pretty sure I wasn't rooted when I got it. Besides, I'd expect an "access denied" message rather than a "does not exist" one if it needed root access. Perhaps try using "adb shell" to see what's in /cache/fota? I'd suggest using "busybox ls -lh /cache/fota" if busybox is in place, as this'll show file sizes in a more-easily-human-readable form. If there's nothing of a likely-looking size there, then frankly I'm stumped.
Guest Darael Posted March 21, 2014 Report Posted March 21, 2014 Ooh! While this is an interesting exercise, I've just discovered that I *do* in fact have a backup copy of the 58M update.zip, which I shall upload to the dead server's replacement at the same address (which is http://darael.tpchq.org/SanDiego/updatezips/58MiB-patch/xolo/update.zip - just to save you a trip back to the top) immediately.
Guest Neeraj 9462 Posted April 18, 2014 Report Posted April 18, 2014 great really works........... thank u very much............
Guest Darael Posted August 19, 2014 Report Posted August 19, 2014 I've made a little progress on the SD cards, and also some on the screen-not-working-after-downgrade, but unfortunately not a lot. This is what I know about the cards: The mod to enable both cards modifies two APKs: the MediaProvider, and framework_res. The latter of these is the fundamental framework APK for the whole system The main change in this file is to /res/xml/storage_list.xml The change is not quite what it should be in any case I can decompile the 65M-patched version with apktool I cannot recompile this file even without altering the decompiled version because ant complains about some things in the plurals files I can make the changes to these that were also made in the mod. This allows me to recompile the apk with apktool, even if I change storage_list.xml as well Pushing this new modded framework_res.apk causes a bootloop from which I have to use recovery to downgrade-sidegrade-upgrade-reroot. Presumably the updated system is checking the certificate used to sign framework_res.apk Now for the screen: Using the AIO tools to change the video libs does not seem to fix the problem I adb pulled /system after downgrading and compared it to /system in the Xolo stock update.zip with diff Only a few files differed All of these were files that existed in the post-downgrade system and not the dump All of those were libraries with filenames that ended in .so where the dump only had versions with .so.majorversion.minorversion (or some similar scheme) removing these libraries did not fix the screen From this I conclude that the problem is not caused by a change to anything in /system.
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now