[Android] Dr. NoMoRootfs! or How I learned to stop worrying and love the extra space - Touch CDMA Android Development

Everything needs to go in /sdcard/andboot
FILES YOU NEED:
the nbh flashed to your phone
an sd card with the andboot folder at the top level
an androidinstall.tar file plopped into the andboot folder
thats it
then just hold down volume up or dpad center or the middle of your touchscreen when booting and go through the menu to choose where to put things and then install the system. (for those without a dpad, pretend the touchscreen is a giant dpad)
if you're doing it with haret, extract basefiles to your sd, plop the androidinstall.tar into the same folder, and boot, hold down volume up (camera on kaiser/polaris) just like the nand people (but don't pick nand to store the files, it won't work)
---------
all the files
basefiles for the haret folks out there
Grab the nbh files for your device. Only difference between eclair and non-eclair is that eclair is set up to use the newer hw3d driver, non-eclair is set to use the older one (for donut/cupcake)
These do not use rootfs. They remove it completely and free up that extra space in your nand for a bigger, cleaner system.
They also have my new menu-based installer! Yay! Just hold-down volume-up or dpad center or the middle of your touchscreen
THIS WON'T WORK WITH ANY OF THE OLDER SYSTEMS! THE SYSTEM MUST INCORPORATE THE APPROPRIATE FILES FROM ROOTFS (and the rom cooks will let you know when theirs is ready)
The first system to use this is based on eclair 2.1 with working sleep and audio
Here's my tattoo system for this method
FYI Craig & I spent a lot of time on these!!!

How to create a build
How to make your build work with this
So it actually isn't that hard.
Extract your sqsh to a folder somewhere, so you have, say /android/system
Mount/extract whichever rootfs worked best with your system somewhere else, say /android/rootfs
Code:
cp -a /android/rootfs/init.etc/* /android/system/etc
cp /android/rootfs/lib/donut/* /android/system/lib
cp /android/rootfs/lib/modules/* /android/system/lib/modules
cp /android/rootfs/lib/hw/* /android/system/lib/hw
cp /android/rootfs/init.cfg/init.donut.rc /android/system/sysinit.rc
You'll need to modify the sysinit.rc a bit, as in the rootfs some things are commented out that shouldn't be, and it references a few things in /bin or /etc that aren't there anymore.
Also, don't forget to uncomment the line near the top of sysinit.rc that creates a symlink from /system/etc to /etc
Once you are done, just do this to create the installer:
Code:
cd /android
tar cvf androidinstall.tar system
Soon, I may upload some packs for making the process easier, with updated sysinit.rc's for each system type. If I have time, we'll see...
Note, you can update the contents of the .tar file from windows/izarc/winrar/etc and it'll still work. you don't need to keep messing about with linux anymore if you don't want to

How to update things
How to create an update pack
Since not everyone gets things right the first time, and we keep getting updates, the rootfs made it easy to install updates without downloading the whole system again.
Well now anyone can create an update pack
just create a tar file called androidupdate.tar, make sure it has everything in a /system folder with whatever files you want, drop it into /sdcard/andboot and reboot holding down volume-up (camera on kaiser/polaris). Choose the update option and you should be good to go.
If things get wonky when you try to boot up, give the fix permissions option a shot in the installer, if it still fails, try wiping the dalvik cache, that can fix things up too.
About the installer
I ripped it off from here, but put about 6 or 7 solid hours into getting it to fit and react with the keys/screen

May be new
rootfs
may be new
better eclair support
---
with android development this fast for "yomama so old" phone, who knows what future holds?

sshark said:
May be new
rootfs
may be new
better eclair support
---
with android development this fast for "yomama so old" phone, who knows what future holds?
Click to expand...
Click to collapse
whats a rootfs hahaha

Might be something called "Code Name Ginger"....or our tame racing car driver, we call the Stig.

nabicat said:
Might be something called "Code Name Ginger"....or our tame racing car driver, we call the Stig.
Click to expand...
Click to collapse
what the..... that was random

Holy cow.. like there's nothing even in this thread and it's already filling up..

I think I know what it is..
Vilord ported Dalvik from 2.5 which now includes native support for HW accel for MSM7500..

jesus.

Do we still need to have three partitions on the card? Or would one FAT32 partition be sufficient?

@vilord:
is everything needed for the rootfsless nbh in the git? I would like to test this with ´my kaiser

This works for Polaris? Really thanks!

the bootenv git should have everything needed for this. I haven't tested on my polaris yet, but it should "just work" on polaris and kaiser as long as martin's method to drop the active key into /proc works on all hardware.

What happens to the .conf files?
What about /media ?
Thanks for all of your efforts

conf files are no longer used from the sd card.
If the cook put things in the right places, there should be a /system/etc/userinit.conf that gets parsed during android boot, but it is up to the cook to not screw that up.
This way is a lot cleaner, but it does a LOT less handholding for lazy cooks.
the upside is that it is *very* easy for anybody to fix a broken androidinstall by just piecing together what needs to change into an androidupdate.tar
/media is still used if it is on your SD card, but there's enough space and things are fast enough that media files should be included in /system now

This is a HUGE development for rom devs.
I will be honest in saying I've been having a hard time not hitting the 90MB cap with my next Warm Donut release.
Infact, I spent 4 hours yesterday de-odexing and compressing the classes.dex back into the jars and apks to save space.
With this new method this gives us ALOT more space. I applaud you for doing this. It breaks alot of the current builds but at the same time gives us a ton more flexibility for future.
And what I really like from this is it removes the confusion and headaches on configuration, giving the power to the ROM dev to include the necessary settings.
Question though. Different phones (Vogue, Polaris, Kaiser) may require different configurations. In the past it was a simple "just use this conf with this phone"
Thanks again

so when running from haret - getting an error about looking for a system file, I have all the files in andboot folder, any ideas on what I'm missing.

Know what would be really nice? In the setup, the ability to change LCD_Density and resolution.
This would eliminate the confusion users may have in editing the build.prop and rom files to change these values.
I guess the ROM devs could distribute separate files/tars for each res/density but that gets redundant if you know what I mean.

I'm using haret, but I dont see any option to choose to install not to nand, i get into the installer and it says install system so i click that but then it just goes through installation and fails. How do i choose to install to sd card?

Related

old version don not use

please use this version moving forward.
http://forum.xda-developers.com/showthread.php?t=643045
mssmison said:
It's been a long time since I've posted a new build to the forum please go easy on me I've been a behind the scenes guy lately
So everyone's probably seen the extensive changes we did to the initrd. If not find them in this post here. We've removed the rootfs completely. And setup an amazing new install menu, this was all vilord and if anyone deserves a donation it's him. This means that no older builds with work with this until they've been updated. We're going to post a new thread with instructions to create a compatible system. These builds are both setup for 320x480 resolution, however it is very easy now to change stuff. So if on windows download 7zip, open the tar file with zip, than open the build.prop and change the LCD Density accordingly. Save the changes and when prompted add the changed file back in.
instructions
unrar the file and copy the androidinstall.tar so a folder on your sdcard called andboot.
Build 1.
Eclair 2.1 Vogue edition;
Features;
Working Audio
Working GPS
Partially working bluetooth (I've some kernel updates to finish I think)
Full sleep support
Customized Animated Wallpapers for our phones, I rewritten the app to use lower resolutions, less sprites and lowered other features. As well I've optimized the images to make them use ALOT less ram. I am still working on this app so watch this thread for updates for the livewallpapers. As example I've fixed, but not yet included the galaxy wallpaper, and made more progress on water.. But I've got to post this sometime
It's a little slow to start but runs great once it's up and running.
What doesn't work
Camera, that's next on the list of libs to work on.
Some of the animated wallpapers don't work and the grass one is way too big still.
While the audio in works, things like the voice search and voicekeyboard don't tend to get the right words. There's been some fun ones come up
Bluetooth syncs with my headset but I get no sound. Please let me know if it's the same for you. I believe there's more to do to the libs to get bluetooth working properly.
Additional Info
It's a little slow to start up because I'm making sure all the apps are optimized on every boot. Maps isn't included, so you can update it.
Download:
http://www.mediafire.com/?omdxj2znmwz
Build 2
This is just a port of an older WesG build from the dream forums. It's rock solid stable with no issues, again though you have to enter your own apn information. I haven't yet applied the BT fix yet, but as the system is so easy to work with now anyone can do it
Download
http://www.mediafire.com/?ngdo0jjdy5t
If you like my customize apps and drivers and want to use it in your build. Ask
If you like my work donate to DZO! He's done ALL the work, we've just done tidbits.
Click to expand...
Click to collapse
Great job on this my friend!
S H I T
[10 char limit]
EDIT: It boots fine, just follow the instructions.
! C:\Users\Owner\Documents\Downloads\Compressed\mssmison2.1.rar: CRC failed in androidinstall.tar. The file is corrupt
I'm getting this when trying to extract .tar file
don't extract it. just put it in /sdcard/andboot with the new initrd from the NoMoRootfs thread
I'll test this in a minute
vilord said:
don't extract it. just put it in /sdcard/andboot with the new initrd from the NoMoRootfs thread
I'll test this in a minute
Click to expand...
Click to collapse
I actually just tried to drop it (andriodinstall.tar) file not the whole .rar on my sd card and I got that error. Also tried to drop it on my desktop and got the same error. I'm using winrar could that be the problem?
You extract the androidinstall.tar from within the rar file and drop it on your sd card in the folder.
Crap. Failure to launch. Reuploading file, give it about 20 minutes..
Sorry everyone
mssmison said:
You extract the androidinstall.tar from within the rar file and drop it on your sd card in the folder.
Click to expand...
Click to collapse
Thanks ms Can't wait to see the live wallpaper water on my Vogue!!! lol
During unzipping "mssmison2.1.rar" with winrar it returns a CRC error on the .tar file
mssmison said:
These builds are both setup for 320x480 resolution, however it is very easy now to change stuff. So if on windows download 7zip, open the tar file with zip, than open the build.prop and change the LCD Density accordingly. Save the changes and when prompted add the changed file back in.
Click to expand...
Click to collapse
So, for 240x320 just put LCD Density to 120????
Also, when I try to extract with 7zip I get "data error in 'androidinstall.tar.' File is broken"
Yes about the density change, but you must open the tar with 7zip if you are in windows.
K I've reuploaded the file, and tested it before I uploaded.
sorry again about the 'failure to launch'
If I replace the rootfs file with the one that has BT fix, is it going to work with this build?
CyCLoBoT said:
If I replace the rootfs file with the one that has BT fix, is it going to work with this build?
Click to expand...
Click to collapse
There is no rootfs.
And like the first post says bluetooth connects but no sound yet. it's using the same setup as the bluetooth fix.
I'm getting this error during initial boot...
mount:mounting /data/sysfiles/su on /system/xbin/su failed: No such file or directory
A N D R O I D with a blinking cursor
Reddog80p said:
I'm getting this error during initial boot...
mount:mounting /data/sysfiles/su on /system/xbin/su failed: No such file or directory
A N D R O I D with a blinking cursor
Click to expand...
Click to collapse
are you using the files from the thread I posted too? the new nbh and basefiles?
mssmison said:
are you using the files from the thread I posted too? the new nbh and basefiles?
Click to expand...
Click to collapse
new nbh no basefiles running from nand with just the tar file on sd. I used the tar file from the re-upload around a half hour ago.
did you run the installer?
how long did you wait?
To people getting the "freeze at A N D R O I D"
You need to hold down VOLUME UP and install the system. That wasn't made super clear anywhere. Otherwise it'll just try to boot whatever you've got on there and fail because it doesn't have the former rootfs files in the /system.
Also, @msssmision, the tar file is still goofy (7-Zip's fault?) - GNU tar gets a lot of "skipping to next header" and then exits with an error code.
bri3d said:
To people getting the "freeze at A N D R O I D"
You need to hold down VOLUME UP and install the system. That wasn't made super clear anywhere. Otherwise it'll just try to boot whatever you've got on there and fail because it doesn't have the former rootfs files in the /system.
Also, @msssmision, the tar file is still goofy (7-Zip's fault?) - GNU tar gets a lot of "skipping to next header" and then exits with an error code.
Click to expand...
Click to collapse
Thanks...lol Thats a kick ass Installer! So check the sys on nand and the data on nand and select install system?
thats right
thanks for the props on the installer, spent a while getting it integrated.
I ripped it off from here, but put about 6 or 7 solid hours into getting it to fit and react with the keys/screen

SD/MemCard Nu-Incubus26Jc's FroYo 2.2 RLS10 7/13/2010

This is being released for TESTING PURPOSES ONLY. This is not intended to be a full release.
This is an SD Card release ONLY, if you want to flash the entire phone, visit the original thread. Beyond that, the build is 100% unchanged from the 7/10/2010 release of Incubus26Jc's Super FroYo 2.2 [Deodexed] [RLS10] - this is not the all languages release, just the standard RLS10 as downloadable from here.
All original information is in Incubus' original thread: http://forum.xda-developers.com/showthread.php?t=712310
I may just be being impatient, but this froze up on me a couple of times right after completing setup and beginning sync. Still, I have been able to fully install, boot the phone through HaRET, get text messages, and a little more. I've barely had much time to test this, but it's a step above your traditional proof of concept, so try it out!
Note, this release is not intended to either show up Incubus26Jc, nor claim his work as my own. I simply made the conversion and RAR'd it up. I'm sure Incubus26Jc chooses not to make an SDCard version available for his own reases and possibly doesn't want his name associated for whatever reason, I didn't clear this release in advance, and if requested, I will delete the thread.
>>>Direct Download Nu-Incubus Super FroYo 2.2 RLS10SD<<<
NuAngel said:
I actually bought a few pieces of software to do the conversion, but I figured a few bucks was worth it for something fun like this. Although, if anybody would like to donate a few bucks to the cause, PM me and I can get you my paypal address.
Click to expand...
Click to collapse
What exactly did you "convert"? And what software did you need? From first glance it just looks like you just threw the tar in with all the sdcard files found in other builds. The extracted tar and tgz are the same size... and you said that it's 100% the same thing... so why do we need a separate thread for this? Just ask Incubus if he could add the andboot files in a separate download in the original thread...
Well, in most basic terms all I did was convert the TGZ to a TAR, then grabbed the necessary HaRET files - but after this many releases, Incubus has intentionally had no SDCard version of his releases, so I just thought I'd toss this one out there for those like me who were interested in trying his latest release, but don't want to completely make the switch to Android and just like running it through WinMo.
NuAngel
NuAngel said:
Well, I'll just say the most basic thing I did was convert the TGZ to a TAR, then grabbed the necessary HaRET files - but after this many releases, Incubus has intentionally had no SDCard version of his releases, so I just thought I'd toss this one out there for those like me who were interested in trying his latest release, but don't want to completely make the switch to Android and just like running it through WinMo.
NuAngel
Click to expand...
Click to collapse
I read a post a while back by dzo on incubus' thread that in order to boot the TGZ from HaRet, you need to modify something in the default.txt (add a couple of lines in the cmd). Thanks for this though...
egzthunder1 said:
I read a post a while back by dzo on incubus' thread that in order to boot the TGZ from HaRet, you need to modify something in the default.txt (add a couple of lines in the cmd). Thanks for this though...
Click to expand...
Click to collapse
I am using Androidinstall.tgz files. Just install it to the SD card using the norootfs method that has been used for a while. His builds aren't anti-SD card from what I can tell...
Thanks for the kind words, EGZ. Wasn't trying to take any attention away from Incubus at all, I just wanted to tinker with it, myself, which was why I released it! I don't really intend to keep up with future releases, unless people actually want me to continue.
And the reason I had to spend money is because I don't currently have a single Linux machine in my place, and WinRAR doesn't make TAR files.
NuAngel
Do I understand this correctly?
Are you basically just wanting to install the Incubus FroYo build on the SD card? I was unsure about the exact method to do this as well. Here are the steps I followed to make it happen.
I think I did something similar to what you are doing here, except the convert the tgz to tar. All I did was take the tgz file and rename the extension to tar. No zipped or rar file program needed. Then I grabbed the basic haret files from Myn's eclair along with the updated zImage file. I threw it all in the andboot dir on the SD card. Everything installed just fine. Is this what you are trying to accomplish?
Vivafutbol - yup, pretty much the same process - I just never expected renaming the TGZ to TAR to work - they're similar fromats, but not identical... surprised it worked!
Still, if anyone is interested in checking it out, they can download it from the link above, no need to do any work.
NuAngel
NuAngel said:
And the reason I had to spend money is because I don't currently have a single Linux machine in my place, and WinRAR doesn't make TAR files.
NuAngel
Click to expand...
Click to collapse
There is no need to spend money for what you did. TGZ is just a gzipped TAR file and many freeware archivers can extract TAR from TGZ - like 7-Zip http://www.7-zip.org/ ..
Also, HaRET can handle TGZ..
NuAngel said:
And the reason I had to spend money is because I don't currently have a single Linux machine in my place, and WinRAR doesn't make TAR files.
NuAngel
Click to expand...
Click to collapse
Just out of curiosity, what program did you have to purchase that does this?
milanche said:
There is no need to spend money for what you did. TGZ is just a gzipped TAR file and many freeware archivers can extract TAR from TGZ - like 7-Zip http://www.7-zip.org/ ..
Also, HaRET can handle TGZ..
Click to expand...
Click to collapse
Doesn't HaRET just boot the zImage? Then in the kernel is where you would activate the system image like in the old days, or the adroidinstall.tar or tgz?
Forget I tried.
Oh, and 7-Zip will extract TGZ's - but the TGZ had folders in it, not another TAR file - thus getting those folders back in to a TAR required another piece of software - 7Zip doesn't create tar files.
It's okay, it was like $10. I didn't expect this to become the focal point of the ROM. Jesus.
NuAngel said:
Forget I tried.
Click to expand...
Click to collapse
It's great that you tried. You won't get the experience unless you do try.
The only problem I have with all of this is that you indirectly asked if people would donate to you. You couldve done a little research and found out that you didnt need to spend any money.
I'm not trying to attack you, you just couldve went about it differently. Asked Incubus if he could host it in the original thread (and at least given you credit), or if he would mind if you opened a new thread. I'm not speaking for him but I'm sure he would'nt have mind.
Again, I think it's great that you tried this on your own. We need more people like that in this community.
NuAngel said:
Oh, and 7-Zip will extract TGZ's - but the TGZ had folders in it, not another TAR file - thus getting those folders back in to a TAR required another piece of software - 7Zip doesn't create tar files.
It's okay, it was like $10. I didn't expect this to become the focal point of the ROM. Jesus.
Click to expand...
Click to collapse
I did it manually as well, and I didn't even rename the .tgz to .tar
I admit I had to hunt around for some files, so this does help, thank you
Its not my rom either. Its dzo's rom. I just done a few things to it. The reason i never put up sd install files in the roms is because of all the problems people usually have until they flash nand and all is better. I can put the haret files on the OP if you would like. No harm done buddy.
I saw your windows rom but haven't tried it yet because i'm still using nfsfan. Apreciate someone new taking an interest in vogue. Also I did flash froyo to my sd card but did have to read quite a bit. I am sure I would have appreciated being spoon fed. Thanks.
Since the last few posts have been pretty positive, one thing I might work on is slapping in an updated zImage file, since I did use a slightly olde one to try and boost stability (those who know my Windows Mobile ROM know that's my central focus).
NuAngel
NuAngel said:
Since the last few posts have been pretty positive, one thing I might work on is slapping in an updated zImage file, since I did use a slightly olde one to try and boost stability (those who know my Windows Mobile ROM know that's my central focus).
NuAngel
Click to expand...
Click to collapse
Also, the initrd.gz is very old (Maybe before the .tgz support was implemented). Try using THIS ONE (taken from HERE) with the tgz to see if it works.
I hope you did not take my post on the negative side. At the very least this thread has created some good conversation about how these files actually work together. I did have to search around for a while to get an understanding of which files should be used.
I personally like the SD version of the builds, because I don't have the guts to wipe out the windows install and risk breaking this great little device.

[ThinkTank]Replacing bootanimation.

Ok, so here is a bit of a preamble to stop flaming and unnecessary posts in this thread. This thread is not about changing bootdown animation for that go here.
Also do not do this if you don't understand what this all means, i am not responsible for your device, or anything else.
To the post:
I flashed back to stock last night to help everyone who wants to be able to use custom bootanimations (those like most other android phones can.) By placing a bootanimation.zip into /system/media and it should play when you boot. However as most of you know their is a proprietary format (QMG) getting called. Since I do not want to pay Quram and I also want custom bootanimations it leaves me with one choice, make it call the bootanimation.zip IN STEAD of the bootsamsung(loop).qmg. This is where what I am trying is different then other attempts I have read. Most other attempts try to break the QMG, why not just go around it and call what you want anyway.
The goodies:
I can get a custom bootanimation (specifically this one here) to play on my phone. Should work for any custom bootanimation.zip as long as it is built properly. Try to find one for our resolution or it will be tiny, but whatever I'm sure you can fix that right. You are in development forum anyways. There is a weird delay between the black and white VIBRANT screen and the animation playing but since it is progress and on the stock rom (rooted of course) I am going to post what I did, and others can come in and help. ALRIGHT!
What to do:
Open up your command prompt and cd to the directory with your adb i.e. cd C:\adb\. Also place the bootanimation.zip (C:\adb\bootanimation.zip)
Then run this below in your command prompt window.
Code:
1. adb push bootanimation.zip /sdcard/bootanimation.zip
2. adb shell
3. su (NOTE: Allow root access on actual phone)
4. mount -o remount,rw /dev/block/st19 /system (NOTE: This just allows read/write access on /system)
5. busybox cp /sdcard/bootanimation.zip /system/media/bootanimation.zip
6. cd /system/bin/
7. mv playlogo playlogoBKP
8. mv playlogos1 playlogos1BKP
9. busybox cp bootanimation playlogo
10. busybox cp bootanimation2nd playlogos1
Now go ahead and reboot and enjoy your own custom bootanimation.zip
Also when done playing around you might want to revert everything back, cause I do not know if there are other repercusions of doing this. Although none I have noticed.
Video Evidence. (Because I am not a recognized member of this forum)
Replacing the bootanimation sounds and bootdown is not something covered by this thread as it is super easy, just go here.
Q. Well it seems like you figured everything out already Zaduma, what do we need with a thinktank thread about this?
A. There is a delay that lasts between 3-5 seconds between VIBRANT Screen and actual animation playing. Let's get rid of this.
Updates (not reflected above.) -- I will try to keep this updated with important information so you can just jump in.
We might be able to remove the lag if we can edit the init.rc, it calls playlogos1 only, which pretty much means that playlogo, bootanimation, and bootanimation2nd are useless files, of course unless you rename them playlogos1. The problem with this is that playlogos1 is called like this.
Code:
service playlogos1 /system/bin/playlogos1
user root
oneshot
But bootanimation should be called like this (as we know from AOSP builds and from bootanimation2nd, which i think is probably samsungs first attempt to put proprietary QMG in opening)
Code:
service bootanim /system/bin/bootanimation(2nd)
user graphics
group graphics
disabled
oneshot
I am not 100% sure of why being called from user graphics (most likely a root access user, or the disabled line would have anything to do with anything, but they are there.)
Also something I have seemed to find conclusive, if you run /system/bin/bootanimation it plays the animation almost instantly, but if you run /system/bin/bootanimation2nd it plays after a bit of a delay. So after renaming bootanimation to playlogos1 I noticed no change at actual boot time. I really feel like being able to update init.rc might hold some key, this is just a hunch I'm kinda figuring out what I can as I go.
I can confirm that this does indeed work, and the lag is annoying is the lag from the bootanimation & bootanimation2nd?
camalot said:
I can confirm that this does indeed work, and the lag is annoying is the lag from the bootanimation & bootanimation2nd?
Click to expand...
Click to collapse
+1 confirmed working, plays for maybe two seconds, then displays home screen.
EDIT: in a logcat i noticed "Unable to open zip '/data/local/bootanimation.zip': No such file or directory" I tried placing the bootanimation.zip into the /data/local folder, but am still getting the lag between the white vibrant and the animation....
Edit2: I tried editing the pngs in the zip file. I wanted to know at want frame the animation was playing and what frame is was stopping at. so i just painted the frame number on top of the picture, rezipped/pushed/copied/rebooted, and now all i get is the white vibrant, followed by pure black screen for a few seconds, then the lock/home screen.........not sure if there is a file size limit, or what...if i push the original bootanimation.zip i get the animation back......
d_bot said:
Edit2: I tried editing the pngs in the zip file. I wanted to know at want frame the animation was playing and what frame is was stopping at. so i just painted the frame number on top of the picture, rezipped/pushed/copied/rebooted, and now all i get is the white vibrant, followed by pure black screen for a few seconds, then the lock/home screen.........not sure if there is a file size limit, or what...if i push the original bootanimation.zip i get the animation back......
Click to expand...
Click to collapse
Here I got it working, trick is when you put it into an archive to put archive to store, so it doesn't compress the files. I have attached a custom "Haters" bootanimation with painted frame numbers. You might notice that the files are not jpg, that is just what i saved them as. It didn't seem to reveal to much to me. I don't think the problem is with the animation, I think it is when it gets called, not exactly sure of course.
Also about your log. When it looks for a bootanimation it checks /data/local first and if it finds nothing it goes to /system/media. I believe /data/local is a legacy command and for forward compatibility you should just get in the habit of using /system/media.
This lag is very puzzling, I am gonna try and pull the bootanimation / playlogo files off of other android phones or maybe android open source and see what happens...
For anyone who happens to want to look at what bootanimation / bootanimation2nd / playlogo / playlogos1 is remember they can be opened with 7zip and viewed as an archive. Inside them are 6 files 0, 1, 2, 3, 4, 5 (if memory serves). It all looks arbitrary to me however, just a bunch of random junk.
Awesome Dude, This is definitily progress in the right direction. Thank you, and all the Devs for their hard work.
zaduma said:
Here I got it working, trick is when you put it into an archive to put archive to store, so it doesn't compress the files. I have attached a custom "Haters" bootanimation with painted frame numbers. You might notice that the files are not jpg, that is just what i saved them as. It didn't seem to reveal to much to me. I don't think the problem is with the animation, I think it is when it gets called, not exactly sure of course.
Also about your log. When it looks for a bootanimation it checks /data/local first and if it finds nothing it goes to /system/media. I believe /data/local is a legacy command and for forward compatibility you should just get in the habit of using /system/media.
This lag is very puzzling, I am gonna try and pull the bootanimation / playlogo files off of other android phones or maybe android open source and see what happens...
For anyone who happens to want to look at what bootanimation / bootanimation2nd / playlogo / playlogos1 is remember they can be opened with 7zip and viewed as an archive. Inside them are 6 files 0, 1, 2, 3, 4, 5 (if memory serves). It all looks arbitrary to me however, just a bunch of random junk.
Click to expand...
Click to collapse
AFAIK, i don't remember seeing the "bootanimation", "bootanimation2nd", "playlogo" and "playlogos1" on any AOSP builds. I think those may be a SGS thing. Also, the /data/local/ i believe is used because it is writable by user, if i remember correctly, and would not require root to put a file there. But I could be wrong about that.
Why did you rename the bootanimation & bootanimation2nd as playlogo and playlogos1? does that tell it to load the /system/media/bootanimation.zip?
edit: ok, I was wrong... bootanimation is there, but not bootanimation2nd and not playlogo / playlogos1
i think editing the init.rc properly could do this how it is in aosp. the following is in our init.rc. These are the two that stick out to me. you see the 1st one is commented out.
Code:
#service bootanim /system/bin/bootanimation2nd
# user graphics
# group graphics
# disabled
# oneshot
Code:
service playlogos1 /system/bin/playlogos1
user root
oneshot
It looks like this in an aosp rom.
Code:
service bootanim /system/bin/bootanimation
user graphics
group graphics
disabled
oneshot
Jr33 said:
i think editing the init.rc properly could do this how it is in aosp. the following is in our init.rc. These are the two that stick out to me. you see the 1st one is commented out.
Click to expand...
Click to collapse
Exactly what has to be done. That requires a kernal edit tho if I'm not mistaken as init.rc get reloaded every time the phone is restarted.
it works but disable my lag fix , there's a way i can do its w/o removing the lag fix?
Designgears at the captivate forum says he and a coworker got it working on the cappy. He didn't give details but he's including it in his next incarnation of his ever popular rom for the captivate.
Its good to see that this has been figured out. Here as well. I can't wait to try it
Sent from my SAMSUNG-SGH-I897 using Tapatalk
Samsung I hate you. Edited so that people don't get silly ideas.
Trying to look through the AOSP. I can confirm that there is only bootanimation. I'm going to probably end up compiling some of it from source, it would be nice to know exactly what is happening in playlogos1, it might be just calling the animation but I find it unlikely.
Also if anyone can send me information about how to edit the initrd I would be very thankful. I guess I can just rename whatever file I want to playlogos1 but then it doesn't have the full set of options Running into problems trying to compile android from source, fricken a.
End of the day I need to figure out how to edit init.rc and have the changes be saved, because obviously it gets overwritten when you turn your phone off/on.
xalucardx said:
it works but disable my lag fix , there's a way i can do its w/o removing the lag fix?
Click to expand...
Click to collapse
I don't know. If you are running any of eugene's roms edit playlogosnow and not playlogos1, because he is running a custom set of commands there and calling playlogosnow at the end.
Also: OP updated.
Edit:
Dani897 said:
Designgears at the captivate forum says he and a coworker got it working on the cappy. He didn't give details but he's including it in his next incarnation of his ever popular rom for the captivate.
Its good to see that this has been figured out. Here as well. I can't wait to try it
Sent from my SAMSUNG-SGH-I897 using Tapatalk
Click to expand...
Click to collapse
I'd love to see where you read this, I searched that thread and there is talk about only playing the logos through playlogos instead of using it as a place to launch lagfix's since custom kernels now support userscripts...
Just ran
Code:
cd /system/bin
ls -l playlogos1
which revealed that root.shell owned the file and it's permissions were set to -rwxr-xr-x-
so i went ahead and
Code:
mv playlogos1 playlogos1BKP
cp bootanimation playlogos1
ls -l playlogos1
which revealed that root owned bootanimation so now i ran
Code:
chown root.shell playlogos1
to fix ownership and made sure permissions were set for this owner
Code:
chmod 755 playlogos1
Effect: nothing, don't bother.
All you need is playlogos1 removed from init.rc and uncomment bootanimation from there. Then on boot the phone will activate the bootanimation binary instead. I have no clue how to edit the initramfs to include the edited init.rc. I have ben looking all over for instructions or some script to split/repack. Maybe JAC could incorporate this into his release, but probably won't because I am sure there are many people that like the samsung bootanimation. I for one like it, I just wish it was in .zip format.
Sent from my SGH-T959 using XDA App
Jr33 said:
All you need is playlogos1 removed from init.rc and uncomment bootanimation from there. Then on boot the phone will activate the bootanimation binary instead. I have no clue how to edit the initramfs to include the edited init.rc. I have ben looking all over for instructions or some script to split/repack. Maybe JAC could incorporate this into his release, but probably won't because I am sure there are many people that like the samsung bootanimation. I for one like it, I just wish it was in .zip format.
Sent from my SGH-T959 using XDA App
Click to expand...
Click to collapse
Nah, i have done this. It reflashes init.rc at boot and at shutdown. Without repacking it, the changes won't last long enough to see boot time.
zaduma said:
Nah, i have done this. It reflashes init.rc at boot and at shutdown. Without repacking it, the changes won't last long enough to see boot time.
Click to expand...
Click to collapse
i know it re-flashes. you misread my post. it needs to repackaged in the initramfs to stick. you can edit the init.rc on the phone all you want but nothing will happen.
Bump. Any new progress on this?
Bringing this topic back to life hopefully!!!
Has anyone looked into this anymore? I've been playing with it for a couple days now and can get the first 45 or so of my 60 frames to play using the desc file included but replacing the text
"320 480 13p 0 0 animate"
with
"480 800 60
p 0 0 animate"
(480 800 - screen resolution... 60 - frames/sec... p - ???... 0 - # of times to repeat... 0 - # of frames to pause after last frame... animate - folder png's located in)
It seems as if I'm limited to a certain amount of TIME not frames... Like the phone breaks the boot sequence into 2 separate time slots... one for T-Mobile sequence and one of Galaxy-S sequence... not a restriction on frames like the bootdown sequence has. I played with changing the frame-rate (the 13 and the 60) to different variations including 1, 30, 60, 80. I got further along in my animation with each variation, but it seemed as if it hit a time restraint wall and it hard stopped the animation.
Also, another reason I think it is alloting 2 separate time slots is that the Droid boot animation file contains 2 separate folders "part0" and "part1" with png files in both, and their desc.txt file contains text calling both folders out?? Could that have something to do with our animation pausing 3-5sec?? Is it looking for another animation call? Do we need more than one boot sequence?
It's late here and I'm not going to play with it any more tonight, but I'll skim more of the surface tomorrow. I'm no pro at this stuff as this is my first android and phone development is completely new to me, so don't poke too hard. If this is old news and someone has figured it out, a nice 'how-to' would be greatly appreciated!
One last thing... I failed to make a backup of my original stock bootanimation.zip file... would it be too much to ask someone to post one or send me a copy so I can revert without nandroid restoring??
ndhr3d said:
It's late here and I'm not going to play with it any more tonight, but I'll skim more of the surface tomorrow. I'm no pro at this stuff as this is my first android and phone development is completely new to me, so don't poke too hard. If this is old news and someone has figured it out, a nice 'how-to' would be greatly appreciated!
One last thing... I failed to make a backup of my original stock bootanimation.zip file... would it be too much to ask someone to post one or send me a copy so I can revert without nandroid restoring??
Click to expand...
Click to collapse
I realize you said it was late, but did you mean the stock .qmg file?
I have edited the init.rc and can run the bootanimation binary. The problem is, it never stops. Does anyone know how the AOSP boot animation is supposed to be halted? I have to adb shell into the phone and kill the bootanimation process.
If you want to mess with it, check out my kernel. You can run a script to replace init.rc at bootup before Android's init app loads up.
Babyface1249 said:
I realize you said it was late, but did you mean the stock .qmg file?
Click to expand...
Click to collapse
Whichever was what the phone was calling before I started destroying everything!
The cmd code included creating BKP files of the playlogo and playlogos1 files, but both of those I've overridden. Not sure if I need those to bring back the original boot sequence.
ttabbal; said:
Does anyone know how the AOSP boot animation is supposed to be halted?
Click to expand...
Click to collapse
I know nothing about android development other than the few things I've been able to modify by swapping out png files or flashing with recovery... I wish I had enough time in my day to learn about it all. The one thing I remember from the Droid forum I read was that a 0 in the desc file after the p means 'infinite loops'... maybe simply change that to a 1 and see if it plays through only once??
Reference to that infinite: http://www.machackpc.com/featured/how-to-changecreate-your-boot-animation-for-droid/
If you got it all to work and play the entire loop with no 3-5sec delay prior, that is fantastic! Otherwise I guess I could Nandroid back... luckily I was smart enough to create a backup before starting to mess around in my system files!

(Tip) Installing nookie with oc & gapps

Here's a tip I've been doing since my early days of rooting and rom'ing. I didn't want to do all the dumb adb steps (they're needed sometimes I know) for getting gapps and oc and build.prop edits..
I did this for internal install, but I suspect you can work it for the SD card as well if you know how.. also please make sure you copy the Froyo uImage file for the OC.
1: Download nokie froyo. Leave it zipped or unzip, its your choice
2: unzip the oc file and drag the uImage file into the correct folder (sorry I can't remember, if someone could post the correct location, ill update)
3: drag and drop the system folder from the gapps download into your nookie. You want to drag it to the area where you see the /system folder but not actually in it. It will automaticly place the sub folders.
3A: (optional) if you have a edited build.prop, you can copy and replace now.
4: (optional if you unzipped) zip the folder using the 'store' option for compression
5: flash using the same method you usually would through CWR
I used winRAR and just dragged and dropped, and it worked great. It automaticly compressed the files to match the destination folder. I recommend drag and drop because winRAR doesn't have a paste option.
You can also place and remove any apps in the system folder at this time. You can make the folder as large as you want with whatever apps you feel should be in the folder.
I personally think its a great way to skip a number of steps. By putting in the files and stuff you want and then flash it saves time.
***** WARNING****** using a high overclock your nook can't support will result in the end of the world... misplacing files can and will result in a non-booting nook... USE AT OWN RISK IF YOU DON'T KNOW WHAT YOUR DOING.... DON'T DO IT
I won't post my file because of two reasons:
1: nookie froyo is not mine and I will not take credit for anything that those people spent hours finely crafting
2: I think distributing files with gapps installed is wrong or something, I'm not too sure
CREDIT: to all the fine developers who slave hours to create awesome roms... THANKS!!!
Sent from one of those missing Droids
If you have an internal eMMC installation of Froyo and want an overclocked kernel then I'd recommend using my Clockwork Mod zip to install.
That's good to use if you have out already installed, but if you are putting the new version on, this is a lot easier. Just put what you want, then flash once
Sent from one of those missing Droids
I was able to install all the gapps correctly. Unfortunately I can't seem to connect to the google servers. I cleared the data and cache from the google framework app but had no success any ideas?

[Guide] How To Create Recovery Flashable .zips / update.zips

Introduction
Hello Again! I have decided to make a series of tutorials for the XDA-University posted into this forum.
These guides will be geared toward the novice but will involve tips and instructions I hope seasoned users will find helpful as well.
Current list of guides
Fastboot Installation and Usage
All of my guides are to be considered a work in progress, only because I never consider any guide complete and will continue to update and answer questions for a long time to come.
What To Expect From This Guide
The basics on how to create a .zip to be flashed in recovery
*This will include a series of commands executed in the updater-script
And of course this means you will learn at least some basics of Edify, the basic script you will write these commands in.
I also will be adding a short section on Aroma Installer but am willing to answer questions on it use as well.
This Guide will be for Linux and Windows (Sorry Apple fanboys, not trying to be a jerk but I got to stick to my principles)
**As always I encourage questions as I am not always clear and I can easily overlook something.
What Is an update.zip?
Although this guide will cover the basics, I hope you don't need an answer to this question. I am to go over how to make one starting with some basics you will need to understand.
File Structure
There aren't many ways to setup the basic file structure and I have included a sample.zip for you to use. I find looking at one is the easiest way to understand.
To create your own it is as simple as creating a new folder named whatever you would like. Inside this folder create another new folder named exactly
META-INF
Click to expand...
Click to collapse
Now inside this folder you will create another folder named
com
Click to expand...
Click to collapse
Now another folder named
google
Click to expand...
Click to collapse
And lastly one more folder within it named
android
Click to expand...
Click to collapse
Here inside the android folder you will have two files, these need to be named exactly again
update-binary
Click to expand...
Click to collapse
and
updater-script
Click to expand...
Click to collapse
The update-binary is best to be taken from the latest OTA update from your device, chances are you are not the first to make a ROM or mod or whatever else needs to be flashed in recovery
So feel free to take this from one of those as well (these by in large are not custom made by a dev and no permission should be needed)
Structure of your update.zip should be as such:
update/META-INF/com/google/android and in this last folder will be the two scripts.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
{
"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"
}
Edify
This is the language used in the scripts we are writing, It is simple, straight forward, and much more forgiving then Java for example.
This is the syntax we will use in the updater-script, the update-binary will not be edited and only will need to be copy and pasted. It is best to seek out the latest for your device
The next post will be filled with samples of commands you can use in your updater-script that will perform various functions to your device
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Tools Needed
There is no heavy computing here, old and new computers alike can handle this sort of task. I have made update.zips in both Linux and Windows with both super fast and terribly slow machines.
No I will not go over how to create your ROM or mod or whatever you are attempting to flash to your phone, I am only going to explain how to flash it.
So the list of tools needed is very small for the basics here.
Windows
I highly recommend using 7zip but yes there are other options
Another must have will be notepad ++, This really should have a tutorial for itself but I'll help with the basics
There are many tools to sign and i have just used THIS ONE forever so I'll recommend this, there are however easier ones that allow you to right click a file to sign it.
Which is amazing and I use one for my Linux box, now that I'm writing this maybe its time I change my windows one... to THIS MAYBE?
Also be sure to have the latest Java installed found HERE
And really that should cover us, there are lots of helpful apps and programs to make life easier but this will do just fine!
Linux
There are loads of tools I can recommend and variations on each one, so I will just list a few must haves to make your basic update.zip
There is a 7zip variant for Linux, use the terminal and type:
Code:
sudo apt-get install p7zip
Now you can use gedit as your text editor or i personally like Sublime Text there is a Windows compatible version too that i have yet to check out.
And we need to sign these .zips, for Linux i use This One created by Amon_RA
You will need to add this script to your nautilus script directory and name it sign
Code:
#!/bin/sh
# Update the Loc var to where YOU stored the testsign.jar file !
Loc=/home/demkantor/adt-bundle-linux-x86_64-20130219/sdk/tools
for arg
do
java -classpath "$Loc"testsign.jar testsign "$arg" "$arg"-signed
gdialog --title "signapk" --msgbox ""$arg"-signed created" 200 200
done
Be sure to change Loc=/home/demkantor/adt-bundle-linux-x86_64-20130219/sdk/tools to the proper path as yours will be different.
*note* in 13.04 this is moved to ~/.local/share/nautilus/scripts/ but in previous Ubuntu releases it was in ~/.gnome2/nautilus-scripts
This had me pulling my hair out and looking for a nice new tool and am currently trying THIS OUT (the old way still works though)
Also get the most up to date Java, from a terminal type
Code:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
sudo update-java-alternatives -s java-7-oracle
Click to expand...
Click to collapse
Click to expand...
Click to collapse
*If doing lots of android development you may want to look into an older java version... but thats another story, see a guide on developing if thats your bag
So now you understand the basics, you have all the tools you need, got may sample.zip and are ready to learn how to.
The next post be available commands to use in your updater-script
*See post #12 to understand a common problem people (sometime even myself) make with the sample.zip below
Let's Start!
Now We Have Our Tools And A Basic Understanding
But we need to know how to have our update.zip do what we would like!
We need to see the various functions available to us, this I copied from the XDA wiki as it is precise and simple, (Normally I wouldn't copy and paste but this is what you need exactly) I will next give examples:
Need To Know!
Syntax
The script file must use UNIX newlines as EOL.
Whitespace (space, tab, LF 0x0a, but not CR 0x0d) may be freely used.
Comments are any line prefaced with #
All commands are terminated with a semicolon. Clauses (in ifelse) may contain any number of commands, each terminated with a semicolon.
Strings are usually delimited with double quotation marks.
Numbers are really just strings and are usually not delimited.
Logical values are "t" for true or "" for false.
The comparison operators are == (string equal), != (string not equal).
The logical operators are || (logical or), && (logical and), ! (logical not).
The concatenation operator is +. (Caution: 2+2==22)
The conditional keywords if, then, else and endif operate as expected. The ifelse macro may be used instead.
Disk operations
format(type, device)
mount(type, device, mountpoint)
unmount(mountpoint)
is_mounted(mountpoint)
Image operations
write_raw_image
write_firmware_image
File operations
package_extract_file(source, destination)
package_extract_dir(source, destination)
delete(file) – deletes a file
delete_recursive(directory) – completely deletes a directory
symlink(target, link0, ...) – create any number of links to a target
set_perm(user, group, mode, file) – performs a chown, chmod on a file
set_perm_recursive(user, group, mode, directory) – performs a chown, chmod on all contents of a directory
getprop(key) – returns a string value of the associated key from the system properties
file_getprop(file, key) – returns a string value of the associated key from a specific file
Patching operations
apply_patch
apply_patch_check
apply_patch_space
run_program(program, arg0, ...)
Control
assert(condition0, ...) – aborts and prints on any false condition
abort(message)
ifelse(condition, trueclause, falseclause) – conditional, falseclause is optional
Predicates
is_substring(substring, string) – checks to see if string constains substring anywhere
less_than_int(x, y) – checks to see if x<y when considered as integers
greater_than_int(x, y) – checks to see if x>y when considered as integers
User feedback
show_progress(fraction, seconds) – advance progress bar a fractional amount over a period of seconds
set_progress(fraction) – advance progress bar a fractional amount
ui_print(message0, ...) – print any number of strings
sleep(seconds) – pause a number of seconds
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Having a list of the available commands is great but we need to understand what they do, consider the above a reference point and below and understanding of the commands
How To begin the Process
First find out what you want to do, get your apps, images, what ever you are trying to do in order and then open your text editor (Windows notepad ++ and Linux gedit)
Then make sure the file structure in your folders are correct and have the update-binary specific to your device and be ready to write your updater-script
I will go deeper into the setup in a moment but for now we need to understand how to write the updater-script
Basic Usage
Often you will start this script with a ui_print(" "); to explain the purpose of the package you made. There are many ways to go about this but a simple start maybe:
Code:
ui_print("Modded Google Play App By demkantor");
This can be as complex or simple as you want and include as many lines as you would like. We just want to tell the user what is happening to their phone.
We also want to have the progress show, this will help the user know when everything will finish, especially bigger packages that can take some time, don't want people to think its stuck!
There are a couple ways to do this, I tend to use a series of set_progress(0.1); starting in the beginning and working to set_progress(1.0); when complete. you may also use time as in show_progress(fraction, seconds) choice is yours:
Code:
set_progress(0.1)
# Something going on
set_progress(0.5)
# Some more stuff is happening
set_progress(1)
# Indicates completed task
Now you may have notice I used # symbols in front of some lines, these are used to comment lines that aren't part of your script and for you and only you by and large.
Any line that begins with # will not be read by the script, here is a short example of usage:
Code:
set_progress(0.1)
ui_print("Modded Google App By demkantor");
ui_print(" ");
# Need to mount system
ui_print("mounting system partition");
set_progress(0.3)
mount("ext4", "EMMC", "/dev/block/mmcblk0p25", "/system");
# Flash modded google app
ui_print("Flashing App!");
set_progress(0.5)
package_extract_dir("system/app/com.modded.app", "/system/app");
# Don't Forget to set Permissions
ui_print("Setting Permissions");
set_progress(0.7)
set_perm(0, 0, 0644, "/system/app/ModdedGoogleApp.apk");
# Unmount system before we finish
ui_print("Unmounting System");
unmount("/system");
ui_print("You're Finished! Thanks For Using My App!");
set_progress(1)
Explaining the Above
This would be a very basic setup, and the comments, extra uiprints, and set progress are not really necessary in such a basic flash, but it will be good practice to use all this as you progress
I need to explain a few things in that script quickly:
You notices i commented out a line (# Need to mount system) and underneath a line read <mount("ext4", "EMMC", "/dev/block/mmcblk0p25", "/system");>
This will change from device to device but you need to mount your system or data or whatever to flash to it.
The first bit "ext4" is the type of file system, there are many options here but use what your phone is partitioned to.
Some common file systems: rfs yaffs2 ext2 ext3 ext4 vfat
Next is the partition type: "EMMC" or "MTD" for the most part
Next is the location of the file system; This is key as you don't want to flash an app to your EFS partition or whatever. "/dev/block/mmcblk0p25" is the system partition location for the device in this example, to find yours do this:
Open a terminal emulator on your devices and type: mount
Or
Open an adb shell and type : mount
these are just two quick and simple ways but there are many others
Last is the mount point, or name of this partition, the example above was "/system"); The more common partitions you will mount will be system and data but you can of course do others, just make sure everything matches.
You also noticed this line: # Flash modded google app , and the comment is just telling you what command you want to do next, in this case:
package_extract_dir("system/app/com.modded.app", "/system/app");
This is taking everything in the folder /com.modded.app from within the update.zip and installing it in /system/app on the device.
**Note understand if an app installed is best as a system app or userdata app**
package_extract_dir("data/app/myspecialapp", "/data/app");
this may be a more common example.
You also saw the commented line: # Don't Forget to set Permissions
and permissions that were set: set_perm(0, 0, 0644, "/system/app/ModdedGoogleApp.apk");
This set rw- r-- r-- with no special permissions to ModdedGoogleApp.apk
This is important to do as not setting the proper permissions will to allow the app to function as you intend.
If you are familiar with Linux/Unix chmod commands (change mode) then this is all we are doing. Or if you ever user Root Explorer or any other root access file manager in Android you may be familiar
If not I suggest to read up on THIS as its important to know
And The last piece in there was unmount("/system"); which I'm sure wont need any explaining.
You also notice progress and ui prints helping the user along, These were not placed well or really all too needed in such a simple script,
but I wanted you to see an example and learn to use them along with comments for yourself as your scripts become more complex.
Lets do some of this more complex stuff now!
Click to expand...
Click to collapse
Click to expand...
Click to collapse
The last chunk should have helped you understand some simple scripting, but really this is far from enough unless you are only ever planing to flash one app!
So lets dig deeper into Edify and see if we can create an ever better update.zip!
Erase Commands
Format, delete, and delete_recursive can be very helpful, I'm a huge supporter of wiping clean before flashing a new ROM and occasionally wiping cache and dalvik after.
It will be handy for you to add these functions in to lets say a ROM you made before a flash if you deem it necessary or wipe cache and dalvik after your mod.
No matter the reason you should understand how and when you should do this.
Code:
delete("/data/app/googlePlayMusic.apk");
delete("/system/app/Provision.apk","/system/app/QuickSearchBox.apk","/system/app/SetupWizard.apk");
The above is doing two things, first it is deleting a single app from data partition (googlePlayMusic.apk)
Next it is deleteing a series of apps from system partition (Provision.apk, QuickSearchBox.apk, and SetupWizard.apk)
The reasoning why you want to delete a single file or app is up to you to decide, but the above will do it easily. If you want to delete a full directory then:
Code:
delete_recursive("/system");
delete_recursive("/cache");
delete_recursive("/data");
So this is a series of three commands to delete everything in system, cache and data. You may also string them together into one command separating each with a comma.
Code:
ui_print("Formatting system");
format("ext4", "EMMC", "/dev/block/mmcblk0p25", 0);
The above will completely format and erase system, you could also do data, cache, boot, whatever. Just be careful as this will make all data unrecoverable.
You would need to unmount the partition before you run any format command
Code:
unmount("/system");
unmount("/data");
Know the partition to unmount, then know the partition to format (ie mmcbl0p25 is not always system!)
when you are ready to flash something to a partition go back and mount it (this I covered earlier)
Click to expand...
Click to collapse
Click to expand...
Click to collapse
So now we have an idea on how to use some basic commands, lets put together a couple simple scripts and try to flash them!
Once you are confident with do this we will create our own more complicated flashable .zips
Lets try something simple
So most everyone who is bothering to read this enjoys flashing ROMs and probably does this a lot. But as we all know setting up a new ROM is time consuming!
One of the first update.zips I ever wrote was to flash about 20 apps I always used and each time I flashed a new ROM I would have to redownload them or use an app like Titanium Backup to reinstall them.
I found it just far easier to make a flashable .zip and keep in on SD card so after each wipe and ROM flash I could just flash this next and all would be there.
So lets do it together!
First
Make the file structure I showed before, or download my sample.zip from previous post. If its a new folder lets name it apps2install, If you have the .zip extract contents and name the main folder apps2install.
Second
Now we need some apps, lets take a couple free apps (never share paid apps in this forum! or anywhere really) For simplicity sake lets take three apps:
ADW Launcher, Dropbox, and Pandora... all are free on the market and for simplicity sake I suggest you take these same apps.
Download from market and bring the .apks to your computer, do this with either copying them with a file explorer and saving them to sd card, then transferring to computer or I prefer to use ADB. Your choice:
*Method 1... File Explorer
Open any file explorer after downloading apps, go to /data/app , and now copy the three .apks and transfer to sd card.
Now go back to /data/app-lib and copy com.dropbox.android-1 folder to SD card
Once you have the 3 .apks and one app-lib, connect phone to USB and transfer to computer. Then we need to put them in proper folders, again there are multiple ways but play along for learning purposes.
Your file structure should now look like the above, orange is folders, green .apks, and grey files
*Important, most apps store themselves to /data partition, some need to be in /system. Some apps are downloaded to /mnt/asec and not always do libs go into data/app-lib
My point is to know where your apps are to pull them and know if there are any needed libs to make them function properly. This is on an app by app and ROM by ROM basis
*Method 2... using adb
For me adb is faster and I like the command line so if your good with adb I say go this route, if not I suggest reading up on it and then using it or use previous method
So download the apps to your phone I mentioned above, now connect phone to PC and open terminal/cmd and type
Code:
adb pull /data/app /pulled
adb pull /data/app-lib /pulled
This will pull all apps store on /data/app and all app libs stored on /data/app-lib to your PC into a folder called pulled.
If you only want to pull the apps in question the add com.dropbox.android-1 after /app and /app-lib (or whatever the app / lib is titled you want to pull)
And if you want a differemt folder to be stored on pc change the /pulled to whatever you like, maybe C:\Users\youraccount\Desktop\pulled (for windows)
Or /home/youraccount/pulled (for Linux) your choice on all this
Third
Lets write the script, I'm using notepad++ in windows here (currently booted in windows so...), use gedit or what you prefer in Linux, just be sure to write in UNIX format.
Code:
ui_print("Flasing Your First update.zip.....");
set_progress(0.1);
# Mount System Partition
ui_print("Mounting System");
mount("/system");
# Mount Data Partition
ui_print("Mounting Data");
mount("/data");
set_progress(0.3);
ui_print("Flashing Apps!");
ui_print("....");
package_extract_dir("system/app", "/system/app");
set_perm(0, 0, 0644, "/system/app/org.adw.launcher-1.apk");
package_extract_dir("data", "/data");
set_perm(0, 0, 0644, "/data/app/com.dropbox.android-1.apk");
set_perm(0, 0, 0644, "/data/app/com.pandora.android-1.apk");
ui_print("....");
set_progress(0.6);
# Set Permissions
ui_print("Setting Permissions");
set_perm_recursive(0, 0, 0755, 0644, "/system/app");
set_perm_recursive(1000, 1000, 0771, 0644, "/data/app");
set_progress(0.8);
# Unmount System & Data
ui_print("Unmounting System");
unmount("/system");
ui_print("Unmounting Data");
unmount("/data");
ui_print("****Hope You Learned Something New Today!****");
set_progress(1);
This Is an example of your updater-script, it should look similar but it does not have to be the same. Let me explain further:
The first few lines in this script we have gone over, the ui_prints and the mounts, do what you want with ui_prints and use mounts for your devices
#comments - we talked about these too, these will not be read by the script, rather for your purpose.
You also should be familiar with the set_progress, use at your will, not needed
Now you see package_extract_dir("system/app", "/system/app"); this, like before is dumping everything from system/app in your update.zip to /system/app on device
Now the permissions again, set_perm is for a single file, in this case rw- r-- r--to adw launcher, which was just flashed as a system app.
Then there is package_extract_dir("data", "/data");
This is taking everything from the data folder in your update.zip and transferring it to /data on your device.
Remember we had 2 apps and 1 lib in data, but with this one command we put all on device in proper places. We could have separated the commands, but why bother!
Speaking of why bother you may have noticed that after each transfer from update.zip to device there were permissions set at the end.
Then toward the end of this script more permissions? Why? Well, to learn!
The first command <set_perm> is for a single file and the last commands <set_perm_recursive> were for an entire directory.
So you can set up each individual app or whatever with permissions, or just change a full directory. Each case is different and you will need to asses what is best in your situation.
But yes, there was no need to do it twice here
The last bit in this script is unmounting partitions and some ui_prints and set_progress, these we have covered.
And being this the end, lets move on to our next steps! (save your work!)
Forth
Now we should look over our script for errors, check for proper encoding, and make sure everything is saved to proper directory.
Once all is correct we need to zip it, I prefer 7zip but do as you please.
In windows, highlight the 3 folders (system,data,META-INF) > right click > 7zip > add to archive
Now make sure you set compression level to store, pretty much make sure it looks like pic bellow
Now that this is done, you will see your new zip (apps2install.zip) Great but it is still best to now sign this zip, but not needed depending on your recovery setup.
**Note will soon add photos for Linux (just need to reboot!)
Fifth
Signing the zip, again there are multiple ways, I will show two signing methods, one in Windows and one in Linux. Choose one of these or another method, use what works for you!
**Windows**
I am choosing to use SignApk to sign apps in windows, the link is above and why not, HERE IT IS AGAIN
Unzip it, put the contents where you want (directly on (C or creating a path in environmental variables is nice but unneeded)
Put the apps2install.zip in this folder then open CMD in the same location as contents and type:
Code:
java -jar signapk.jar certificate.pem key.pk8 apps2install.zip apps2install-signed.zip
And now you will see two copies (of course the one titled apps2install-signed.zip is the one to flash)
As a side note you can change apps2install-signed.zip to what you want, no need for the -signed but at first it is nice to know which is which
**Linux**
So on both my Linux boxes I use @Amon_RA's right click to sign script, but have recently been trying out another by @lithid-cm which is quite nice.
See the second post for a quick guide on how to set up and know that nautilus-scripts have moved in Ubuntu 13.04!
So simply right click on the .zip, navigate to scripts, choose sign, profit
Click to expand...
Click to collapse
Click to expand...
Click to collapse
All right! Now transfer your newly made update.zip to your recovery and give it a flash! When complete see if your new apps appear and if they work!
If all is good try your to make your own, if you get errors, post here and I'll try to help!
Happy Flashing!
And another.....
How To Make An Aroma Installer Package
Now it seems like every ROM or mod is flashed with aroma rather than a simple .zip, and for good reason.
Aroma is a handy tool to allow users to flash what they want, be it a ROM, kernel, Mod, whatever, it just makes things simple. Not to mention a customizable UI.
In truth this is very easy to set up and only requires a few more steps than making you standard flashable .zip, it will be only as complicated as you make it.
The best advice I have for anyone wanting to use Aroma is to download the demo from HERE and see how it works.
Then download a few other Aroma Packages to see how the file structure differs, and how the updater-script and aroma-config are used.
Here are a couple I have made for different devices, feel free to download and look them over.
An Aroma Package for any ROM for the Samsung Sidekick 4G This one flashes no ROM just basic apps and mods
Splash Screen and Bootanimation Aroma for the HTC VISION This only flashes new splash screens and Bootanimations
An Aroma Package for the HTC Vision for a specific ROM This one is ROM specific as it contains mods for only one ROM
A ROM Using Aroma To Install Various Features This one is a ROM specific to the HTC Vision that uses Aroma to customize the install
As you can see there are many ways to use Aroma to your benefit, and its up to you how to use it. I will be keeping this short but will try to help you understand the basics.
As Always i encourage questions whenever you have them! Another Great Place To Ask Questions
File Structure
So once you download any Aroma package (be it from a ROM or the demo) you should see something similar to this:
Create any folder you need in the same level as META-INF, such as system, data, or whatever you want really. You just will need to organize it in a way to tell the updater-script where to look.
To Start
Take an update-binary from your device and rename it to update-binary-installer, replace this in the one in the aroma demo.
Now the two main files we will cover here are the aroma-config and updater-script.
Think of aroma-config as the script for how you want aroma to look and what options to flash.
Then think of the updater-script as what actually does the installation after user choose what he/she wants. This is written in the same syntax as covered before but a few extras are added.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
aroma-config
Lets begin with editing the aroma-config (if using windows we need to use notepad++, in Linux use your favorite editor)
We will create something simple, an Aroma package to flash a choice between four kernels, four launchers, and four apps. (of course we could do a lot more but this will do for a start)
Lets Begin!
Open a new file in notepad++ or your Linux text editor and name it aroma-config. Or feel free to take the one in the demo package, but we are going to start fresh so make sure you are on a blank page.
The beginning should look like this
Code:
# Demo Aroma Script, Make changes accordingly.
# ---------------------------------------------
ini_set("rom_name", "MyFirstAromaInstaller");
ini_set("rom_version", "1.0");
ini_set("rom_author", "demkantor");
ini_set("rom_device", "MyDevice");
ini_set("rom_date", "CurrentDate");
Of Course name it as you please, change the version as necessary, best to use your name over mine, use your device and add the date.
These are all variables that can be set throughout the install process and by adding this in the script you can just change date, build, etc at the top of the script rather than searching... some of my scripts are well over 1000 lines and this is a nice feature.
Ok, next lets add a blank line to separate (hit enter) and start line 9 like so
Code:
# Splash screen "3000" = "3" secs , "cyan_splash"=filename of splash png
# --------------------------------------------------------------------
splash(4000, "cyan_splash");
This will be the splash screen when aroma first starts up, I am directing it to a .png image named cyan_splash.png and have it set for 4 seconds (change accordingly)
this image is to be place in the aroma folder, in the demo there is one named sample_splash - feel free to edit this at your will
The next two chunks in the script will be for the font and theme, we aren't going to get fancy here so adding this to the script will suffice
Code:
# Font size declaration. "0" = Small Font. "1" = Big Font.
# --------------------------------------------------------
fontresload( "0", "ttf/Roboto-Regular.ttf", "12" );
fontresload( "1", "ttf/Roboto-Regular.ttf", "18" );
# Theme used for aroma interface
# ------------------------------
theme("ics");
This is to use the already made Robot font, and we have both the large and small set, then a space and we are using the premade ics theme.
If you want to change any of this feel free to use whats already in the aroma demo (look in the folders) or create your own. But for now lets move on
The first page of your aroma package should be a welcome/explanatory page. It should inform your users what the will be flashing, what device it is meant for and anything else you may want to convey.
Here is a sample and just change accordingly:
Code:
# First page info
# ---------------
viewbox("Welcome!","You are about to install <b>XXX.AromaPackage</b> for your <b>Name Of DEvice</b>, built by <b>demkantor</b>.\n\n"+
"Proceed with the installation only if you're <b>Ready to be wowed by my amazingness!</b>\n\n"+
"You May Leave Aroma Installation At Any Time Using The <b>Menu Button</b>.\n\n"+
" Version: \t<b><#selectbg_g>"+ini_get("rom_version")+"</#></b>\n"+
" Built: \t\t<b><#selectbg_g>"+ini_get("rom_date")+"</#></b>\n"+
"\n\n"+
"Press Next to Continue the Installation",
"@welcome"
);
A couple things to note here, <b> </b> boldens the chosen text, the \n\n"+ ends the line, the @welcome tells aroma what the screen should be setup like, the viewbox( begins the code and the ); ends the code for this section.
I will go over viewbox, checkbox, and selectbox in more depth later.
Remember the ini_set variables from the beginning, this will automatically add the proper date and version to the welcome screen... nice!
And now lets add
Code:
setvar("installer_title",
"You are about to install <b>MyAromaPackage</b> "+
"with the following choices:");
Rename as you see fit, oh and this next piece is optional but i throw it in many of my packages, here is a good time for:
Code:
# ---------------
# Generic Warning
# ---------------
alert(
"Warning!",
"Please Make Sure You Know What You Are Doing And Can Recover Your Device, What You Do To Your Phone Is Your Own Choice!",
"@alert"
);
This is a small alertbox that flashes on the users screen, you can have it say whatever you'd like and change the style, font, colors, etc. You can also add a yes/no button or view changelog, etc etc, but we're keeping this simple
On to the real codding!
Code:
# -------------------------------
# Kernel choices using selectbox.
# -------------------------------
selectbox(
"Kernel Choices",
"Choose the Kernel to install to your device",
"@personalize",
"kernel_choices.prop",
#------------------------------------[ selectbox With Groups ]---------------------------------#
# TITLE | SUBTITLE | Initial Value #
#------------------+-----------------------------------------------------------+---------------#
"Kernel Choices", "", 2, #-- Group 1. key = "selected.1"
"Kernel Choice 1", "A Kernel as boot.img", 0, #-- selected.1 = 1
"Kernel Choice 2", "A Kernel as zImage", 0, #-- selected.1 = 2
"Leave Kernel as is", "Not Touching Kernel", 1 #-- selected.1 = 3
);
appendvar("installer_title", "\n\n<b>Kernel Choices</b>");
appendvar("installer_title", iif(prop("kernel_choices.prop", "selected.1")=="1", "- Flash Kernel 1 ", ""));
appendvar("installer_title", iif(prop("kernel_choices.prop", "selected.1")=="2", "- Flash Kernel 2 ", ""));
appendvar("installer_title", iif(prop("kernel_choices.prop", "selected.1")=="3", "- Skip Kernel Installation ", ""));
Ok, lets explain this chunk. The first three lines you see are commented out, this is just for anyone looking at the code to know what is happening.
the next line gives us the aroma ui option of select box, this allows user to select one and only one option (as you may have guesses you don't want to flash two kernels)
It starts from selectbox( and ends the ui at );
The next line will be the header on the ui "Kernel Choices", after this an explanation in the ui "Choose the Kernel to install to your device",
and the following "@personalize", is the style aroma will use, for the most part "@personalize", will be used at all user install screens within aroma
And next we have "kernel_choices.prop", which the updater script uses to know what option the user want to flash from the category Kernel Choices
Now we have some more commented lines, again this is just for reference to make life easier
And know you see 4 more lines, the first is giving the header for the category, and the next three are the two kernel options and the third is to not flash a kernel.
"Kernel Choices", is your header "", is an empty subtitle that could be filled for added info to the user the 2, explains to aroma its the header
The #-- Group 1. key = "selected.1" is telling aroma this is the first group and to write the choice to kernel_choices.prop as selected.1
If we wanted to we could have multiple groups within this category but were keeping this small.
The two kernel choices have subtitles saying as a boot.img or zImage, I'm just giving two common options on how the kernel will be installed in the updater-script
And the three choice in this ui has #-- selected.1 = 1 or 2 or 3, these will be what is written to the kernel_choices.prop to allow the updater-script to chose the right option
As you can see the final option has a 1 instead of a 0 after it, this makes it the default selected and although not needed "do nothing options" I feel should be defaulted to
And the last two important thing that many new scripters miss are the absence of , after the 1 this is to let aroma know there are no more options and the next line will be the end of this section, signaled by );
I cant think of an easy explanation for appendvar if your unfamiliar with coding, but it is adding a string to a variable.
This is for the updater-script and will be come more clear when we get to this part. So for now copy and paste...
Click to expand...
Click to collapse
Click to expand...
Click to collapse
demkantor said:
Introduction
Hello Again! I have decided to make a series of tutorials for the XDA-University posted into this forum.
These guides will be geared toward the novice but will involve tips and instructions I hope seasoned users will find helpful as well.
Current list of guides
Fastboot Installation and Usage
All of my guides are to be considered a work in progress, only because I never consider any guide complete and will continue to update and answer questions for a long time to come.
What To Expect From This Guide
The basics on how to create a .zip to be flashed in recovery
*This will include a series of commands executed in the updater-script
And of course this means you will learn at least some basics of Edify, the basic script you will write these commands in.
I also will be adding a short section on Aroma Installer but am willing to answer questions on it use as well.
This Guide will be for Linux and Windows (Sorry Apple fanboys, not trying to be a jerk but I got to stick to my principles)
**As always I encourage questions as I am not always clear and I can easily overlook something.
Click to expand...
Click to collapse
I consider myself a complete noob I just know how to root and install roms kernals etc. I want to learn how to create roms so will be waiting for your guides ...
Well I'm glad to know I'm wanted
Learning to make your own modifications, kernel, ROMs, whathaveyou can get to be tricky. I would really recommend to start real small
start with some easy stuff like take a ROM you like in a .zip, extract it, and dig through each folder so you see what types of things are in there.
Grab an app and do the same thing, don't bother to decomplie it just use 7zip or something to extract its contents and just peer.
Learn some coding, code.org and code academy is great for simple stuff, I just love Marakana TechTV (a Youtube channel)
When you get your head around the simple things, try a small task, don't try to
here is some sage advice from one of the top dev's ever Read
I'm not saying this to stop or slow you down, just want to say be ready to do a lot (seriously a lot) of reading and research and be ready to fail a few times for sure. I am more to teach you what i know but I cant say I'm an expert in android coding, but as always, ask questions and ill do my best to answer!
Re: basic update.zip
demkantor said:
set_progress(0.1)
# Something going on
set_progress(0.5)
# Some more stuff is happening
set_progress(0.1)
# Indicates completed task
Click to expand...
Click to collapse
Thank you for delving into the basics of Edify- would you clarify here on the set_progress command? In both examples your final set_progress contains a value of (0.1) - should we be setting this to (1.0) as you mentioned above? Thanks again, great writeup!
Ahh and only if I could write an edify script to edit my guide! Thanks for catching that and yes it should read 1.0, ill change as soon as I can get back to it.
I'm getting married in a few weeks so although I'm on spring brake from college I still need to find the time to finish these guides, usually late at night! But expect a much more comprehensive write up as well as edit guide!
Sent from my RubiX NonSense using xda app-developers app
Great tutorial. Thanks. :good:
Thanks
Great clear & concise guide on How to create Recovery Flashable .zips.
I am definitely going to give this a go.
I always need to push several apks to /data/apps after flashing a new ROM and have been using TiBu for this.
But, will give me immense satisfaction if I could write my own script and create a flashable zip for these apks.
Thanks once again! :laugh:
PS: All the best for your wedding! :good:
oops!
So I had a little more time to add to this guide, still lots more to cover! and i plan to overhaul and edit it to a more readable/searchable format once its more complete
(never complete in my mind - but still...)
I did notice that the sample.zip in the second post is flawed, come on 30 some downloads and no one caught it?
My bad though, when I zipped it I did it wrong as you can see there is an extra folder that should not be there, if you're not sure what I mean by this, see the third post for sample2.zip
Pretty much I just zipped the sample folder rather than its contents inside.
I will leave the original there so people can see the mistake (so you dont do it to!)
as always,
Happy Flashing!
Hi,
I've got a kind of related question and this actually seems like an ideal place to ask it.
Recently I took an existing boot animation from an older phone so that I could have it on my HTC One. As the resolution of my phone is bigger, I took apart the boot animation and resized all the images and edited the desc.txt file to make it compatible. I replaced the default boot animation with the new resized one and it worker great.
I then decided it would be easier to make it flashable so that other members wouldn't need to mess around with moving the file to a certain place for it to work. This is where the problem starts.
I don't have access to a computer so I tried used jrummy's app ZIPme to make the animation flashable. It said it had installed but in fact it hadn't.
So how could I successfully turn it into a flashable zip direct from my phone?
Also a secondary question.
With the One (not sure if other phones are the same) you need to specify the path to which the boot animation will be saved to. As different ROMs have the boot animation located in different places, I asked a few people how I could make it flash across all ROMs. I got told that I'd need to specify it in the updater script.
So, would I simply be able to copy the updater script from another boot animation for this phone or will that not work?
Apologies for the longer than expected post. It's just that this side of Android is new to me
SGS2 FAQ | HTC One FAQ
@KidCarter93
Hey I saw you asking in the other thread and was going to chime in but others beat me to it and you stopped posting so i assumed it was all figured out.
correct, the updater script will put the boot animation were you tell it, its up to you to know where the phone keeps it.
an option may be to send it to multiple locations within the script provided the other installs wont harm anything, i guess i would have to know each location you are thinking of to answer this fully.
a common place (at least across the androids i use) would be /system/media so the script would look like
package_extract_dir("system/media/com.android.bootanimation-googlegears", "/system/media");
set_perm(0, 0, 0644, "/system/media/bootanimation.zip");
Click to expand...
Click to collapse
or whatever you have it called and what folder you have it in.
If you would like me to look at the script you are writing I'd be glad to, This guide is taking me forever to write as i have too many projects and too little time, but bootanimations will be covered as some update.zip options.
feel free to pm me If you need a hand further than whats above, ill be around for a while yet tonight!
Edit
somehow I missed the part where you asked if you could do it with your phone, and I'm sure there is an for it somewhere, just never tried... Actually I saw a post on g+ not long ago about someone looking for testers for one, I'll see if I can dig up the link for you, otherwise send me the file and tell me where its located etc and I'll make one for you, only takes a min or two
edit 2
NEVER TRIED THIS but who knows, it may be what youre looking for
im about to hit the shower quick, but ill be around for another hour or so before i need to sleep, if you want me to make the zip for you just let me know
demkantor said:
Edit
somehow I missed the part where you asked if you could do it with your phone, and I'm sure there is an for it somewhere, just never tried... Actually I saw a post on g+ not long ago about someone looking for testers for one, I'll see if I can dig up the link for you, otherwise send me the file and tell me where its located etc and I'll make one for you, only takes a min or two
edit 2
NEVER TRIED THIS but who knows, it may be what youre looking for
im about to hit the shower quick, but ill be around for another hour or so before i need to sleep, if you want me to make the zip for you just let me know
Click to expand...
Click to collapse
Well most of the ROMs store it in system/media but the stock based ROMs I've tried store it in system/customize/resource. As far as I'm aware there aren't any other locations though.
That g+ post you linked to is the one that I mentioned, ZIPme. It works for other files but didn't seem to work for this for some reason. I might have to contact him and see if I went wrong anywhere.
Yeah it would be great if you could do it for me. Here's the zip - http://d-h.st/xo6
SGS2 FAQ | HTC One FAQ
haha, like it, will make one for me too!
do you have system mount points for me and an update-binary for your phone?
eh, ill see if i can dig them up...
edit
damn...just a bit to big to post on xda... link coming
edit 2
 @KidCarter93 - hope you like it!
XDA-Bootanimation-signed.zip - 18.99 MB
of course i don't have this phone so i would recommend testing it before you publish it, but it should work with any ROM for your phone... let me know
I'm currently getting the following in recovery:
Installing XDA Bootanimation. . .
set_perm: some changes failed
E : Error in /sdcard/0/download/XDA-Bootanimation-signed.zip
(Status 7)
Installation aborted.
SGS2 FAQ | HTC One FAQ
Is system/customize/resource a folder on your phone? If so can you give me what permissions it uses? I'm guessing the chmod is wrong for that section.
If you are using a ROM that has bootanimation in /system/media then extract the zip and go to the updater script and comment out the two lines about /system/customize/resources
Then rezip and sign and see if it will flash
Sent from my Nexus 7 using xda premium
Edit: @KidCarter93
were you able to get it to work? if not i have some ideas that may help
Apologies for the slow reply. As it was stored in system/media, I done the changes you said and it installed fully through recovery yet it hasn't actually installed the bootanimation. It's still showing the ROMs bootanimation when I boot up.
No worries,
Ill check when I get home but I believed I used the tmobile htc one update binary and I see you are posting in the htc one thread (no carrier) not sure how these phones differ if at all, but ill check on this for ya.
But if you could do me a favor until then, see if there is anything in build prop that will always be there on a stock rom vs something different on a another based rom, I'm thinking to have it flash where you need we can have the update script check build prop and use if then ifelse then to choose the proper place to flash, this of course is if there is something there.
Again not having this phone makes it difficult but still should be an easy fix
Sent from my myTouch_4G_Slide using xda premium
Edit: @KidCarter93
I got a feeling this should work on any ROM for your phone, going the simple route...
XDA-Bootanimation-signed.zip - 44.61 MB
Let me know

Categories

Resources