yashsingh1/xdaforums huggingface dataset:
[Android] BlaY0:
Busybox is lincensed under GPL so its source code is avaiilable to anyone. Anyone could compile his/hers own version with support he/she needs. So what are you suggesting is that author of this kitchen should add like 394857394 versions of busybox to suit all who might use it? Maybe he could aswell tie your shoes? So here is a suggestion... why wouldn't you compile the version that suits you and you alone and after that compile like 10 different versions more, make a description for each and every of them and put them somewhere ppl could download from?

Besides above ls accepts --color option so ls --color=never would give you an output without colors. The only thing you have to do is adding an alias to your environment like for example:

alias myls='/system/xbin/busybox ls --color=never -laF'

Would that do for you?
[Android] BlaY0:
You might as well use alias for that...
[Android] anko184:
hey everyone i have one quick question.

first of all i'm not a dev or cooker but i like to add some things that i need to the roms i use before i flash them, so i would like

to know if i open a custom rom which is zipaligned, before i closed it to .zip again do i have to zipalign again or not?
[Android] dsixda:
Yeah you could do that, but you'd still need to modify the .bash_profile so that it starts up with the alias for sed. Or I could modify the kitchen so that it automatically creates an alias at runtime for Macs (hmm I could probably even do that for the PATH variable).
[Android] dsixda:
As I already told someone in this thread - search this thread (eg. HTC Ace) or use Google. The answers are found in many places, I don't like to spoonfeed. If you can set up and run the kitchen successfully, then I am sure you are smart and can find the answer on your own. ;)
[Android] dsixda:
I think, as long as you didn't modify the file you don't need to zipalign it again.
[Android] BlaY0:
I think it would be better if you declare some file like custom_vars which would be sourced on menu start. This custom_vars files would contain some examples and user would have to edit it before kitchen use to suit its environment...
[Android] lllboredlll:
Ok I got a question. I have read multiple posts about atleast one person having this issue but I'm gonna try asking with a little bit different information.

I extracted a stock Verizon ROM for my Incredible. Made some basic mods and attempted to create a data/app setup. Now as the other person stated, the apk's fail to install. Actually there are no apk's in the folder when I view it locally from a file manager. Another thing I noticed is I'm missing the data/local folder as well.

I have rooted the ROM, deobex'd it, enabled data/app, allowed custom boot animation, then zipaligned and built.

Now before I flash any ROM, I manually wipe data and caches via Recovery. Then install the zip from my sd card.

The ROM boots fine and I did get the boot animation I wanted by renaming new animation to VZW_bootanimation.zip which lies in the system/customize/resource folder.

Any help would be most appreciated.
[Android] dsixda:
Can you post your update-script?
[Android] lllboredlll:
just to let you know it worked.... all apk's installed properly

#
# Generated by dsixda's HTC Android Kitchen
# xda-developers.com
#
show_progress 0.1 0
format SYSTEM:
format DATA:
run_program PACKAGE:check_data_app
copy_dir PACKAGE:data DATA:
set_perm 2000 2000 0771 DATA:local
set_perm_recursive 1000 1000 0771 0644 DATA:app
copy_dir PACKAGE:system SYSTEM:
symlink toolbox SYSTEM:bin/cat
symlink toolbox SYSTEM:bin/chmod
symlink toolbox SYSTEM:bin/chown
symlink toolbox SYSTEM:bin/chownto
symlink toolbox SYSTEM:bin/cmp
symlink toolbox SYSTEM:bin/date
symlink toolbox SYSTEM:bin/dd
symlink toolbox SYSTEM:bin/df
symlink toolbox SYSTEM:bin/dmesg
symlink toolbox SYSTEM:bin/getevent
symlink toolbox SYSTEM:bin/getprop
symlink toolbox SYSTEM:bin/hd
symlink toolbox SYSTEM:bin/id
symlink toolbox SYSTEM:bin/ifconfig
symlink toolbox SYSTEM:bin/iftop
symlink toolbox SYSTEM:bin/insmod
symlink toolbox SYSTEM:bin/ioctl
symlink toolbox SYSTEM:bin/ionice
symlink toolbox SYSTEM:bin/kill
symlink toolbox SYSTEM:bin/ln
symlink toolbox SYSTEM:bin/log
symlink toolbox SYSTEM:bin/ls
symlink toolbox SYSTEM:bin/lsmod
symlink toolbox SYSTEM:bin/mkdir
symlink toolbox SYSTEM:bin/mount
symlink toolbox SYSTEM:bin/mv
symlink toolbox SYSTEM:bin/nandread
symlink toolbox SYSTEM:bin/netstat
symlink toolbox SYSTEM:bin/newfs_msdos
symlink toolbox SYSTEM:bin/notify
symlink toolbox SYSTEM:bin/printenv
symlink toolbox SYSTEM:bin/ps
symlink toolbox SYSTEM:bin/renice
symlink toolbox SYSTEM:bin/rm
symlink toolbox SYSTEM:bin/rmdir
symlink toolbox SYSTEM:bin/rmmod
symlink toolbox SYSTEM:bin/route
symlink toolbox SYSTEM:bin/schedtop
symlink toolbox SYSTEM:bin/sendevent
symlink toolbox SYSTEM:bin/setconsole
symlink toolbox SYSTEM:bin/setprop
symlink toolbox SYSTEM:bin/sleep
symlink toolbox SYSTEM:bin/smd
symlink toolbox SYSTEM:bin/start
symlink toolbox SYSTEM:bin/stop
symlink toolbox SYSTEM:bin/sync
symlink toolbox SYSTEM:bin/top
symlink toolbox SYSTEM:bin/umount
symlink toolbox SYSTEM:bin/vmstat
symlink toolbox SYSTEM:bin/watchprops
symlink toolbox SYSTEM:bin/wipe
set_perm_recursive 0 0 0755 0644 SYSTEM:
set_perm_recursive 0 2000 0755 0755 SYSTEM:bin
set_perm 0 3003 06755 SYSTEM:bin/ip
set_perm 0 3003 02755 SYSTEM:bin/netcfg
set_perm 0 3004 02755 SYSTEM:bin/ping
set_perm 0 2000 06750 SYSTEM:bin/run-as
set_perm_recursive 1002 1002 0755 0440 SYSTEM:etc/bluetooth
set_perm 0 0 0755 SYSTEM:etc/bluetooth
set_perm 1000 1000 0640 SYSTEM:etc/bluetooth/auto_pairing.conf
set_perm 3002 3002 0444 SYSTEM:etc/bluetooth/blacklist.conf
set_perm 1002 1002 0440 SYSTEM:etc/dbus.conf
set_perm 1014 2000 0550 SYSTEM:etc/dhcpcd/dhcpcd-run-hooks
set_perm 0 2000 0550 SYSTEM:etc/init.goldfish.sh
set_perm 0 0 06755 SYSTEM:bin/su
symlink /system/bin/su SYSTEM:xbin/su
set_perm_recursive 0 0 0755 0555 SYSTEM:etc/ppp
show_progress 0.1 10
show_progress 0.2 0
write_raw_image PACKAGE:boot.img BOOT:
show_progress 0.2 10

there may be another better way of doing what I did but it worked for me this way
[Android] teshxx:
Hey guys,

Its my first time cooking a rom so plz be gentle. I have evo. I dl the new ruu file. Copied the rom.zip from temp directory. Ran the menu, deoxed rom, signed all apps again, rooted added busybox n then did 99 option for update.zip. every thing goes well without any errors. This is all done with stock stuff. Didn't delete any apks or added any.

When I try to flash my rom it boots then goes into a boot loop. I have tried doing this 6 times with different sequence of options but all in vain.

Any ideas as to what I might be doing wrong?

Used win 7 to extract rom.zip then did everything else on Ubuntu 10.10(no virtual machine) used 101 kitchen. hope someone can help me.

Thank u
[Android] dsixda:
Good work! :) That's why I wanted to see your file because I assumed that was the problem. So there is a problem with the kitchen.

Ok, now, can you tell me the EXACT sequence of steps you took to get to that faulty scenario? Then i can see what i missed. Thanks.

By the way, did you manually choose to make this ROM wipe your data (due to the Format DATA line)?

EDIT: Nevermind, figured it out... doh!
[Android] dsixda:
Guys, it doesn't matter if you're new to this or not -- I have advised multiple times when you download the kitchen, to read the FAQ first before asking a question. It has a suggestion for your boot loop thing. Please read that first. Get back to us when you find out what went wrong.
[Android] teshxx:
It does?? Dude I promise I read that thing. I wouldn't ask if I saw the answer n I def wouldn't try cooking the rom multiple times n waste my time n urz asking a question that has been answered. I will go back n re read FAQs again. Regardless ty for pointing it out.

Edit: The only thing I found was to do a logcat. Its a place to start but not a solution. Please do point me in the right direction if that's not what u were referring to. Thanx again.
[Android] dsixda:
Your question was why it didn't boot. The same question was already asked yesterday and also a couple of days earlier. You could have searched the thread too, but anyways.. ;)

Yes, that's the part I wanted you to read. I didn't say it was a solution, it was a suggestion.. but there is no way to find out the solution unless you do a logcat to see why it doesn't boot.
[Android] dsixda:
Ok guys, 0.102 is now out. I'm off to bed!
[Android] pendo:
...some day....I aspire to know code like some of you here. Pretty cool that us plebes get to hob nob around with some real knowledge around here.

....I swear, if I ever meet JF in real life some day I'll probably ask for his autograph, lol :)
[Android] teshxx:
ok dude i went back and did a log cat.

http://pastebin.com/7Xff1ag1

i don't know what i am looking for. will def need ur help on this. thanx
[Android] lllboredlll:
Just gonna throw this out there due to my experience.

Did you zip align (option 6) as a last step before building the rom? My rom sticks on boot screen if I dont zip align right before I build.
[Android] lllboredlll:
thanks... I will update my kitchen later today and see what happens when I dump a rom again and start from scratch.
[Android] teshxx:
yes i did.

here are my steps

1. set up working folder

2. add root

3. add busy box

11. deodex

21. sign apk (even though i didn't add or delete any of em)

6. zipalign

7. changed wipe status (to yes)

99. build rom

i also tried

1. / 11. / 21. / 2. / 3. / 6. / 7. / 99

and that one didn't work either. in one of my earlier tries yesterday i tried diable boot screen sounds aswell, but it said it couldn't find 3 files (i forgot the names but one was a mp3 file and 2 others)
[Android] dsixda:
Ok, just had a look. Your logcat had a lot of permissions errors and it was because of what you did above. Why did you decide to re-sign your apks?? If there was a need to sign them then the kitchen would have told you. There is no reason to do that unless you are doing themes or things like that. That's why stuff like that are in the Advanced menu ;)

If you don't know what it does then don't touch it, or read the FAQ + search and ask questions.
[Android] teshxx:
i am asking questions lolol. i just did it to be sure i guess. bc eventually once i get this right i wanna add my theme mods (framework-res, services, com.htc.resources) and for that i will need to sign em. or should i edit those sign em with signapk and then put em in the kitchen ? btw i do wanna deoxed the rom at the absolute minimum. so if there is/are other things i should be aware of plz do tell me

thanx for help me out dude.will update in a few. gonna cook again for the 9th time lol

EDIT: not signing the apk worked. thanx for your help. but do have a question once i start editing (framework-res, services, com.htc.resources) so i sign em thru signapk or can i just put em in the kitchen? also should i sign one file at a time or all at that time?

thank you :)
[Android] TMartin:
Dumb question....From what I understood, I could take a zimage rename it to boot.img-kernel and use it to replace the one in BOOT-EXTRACTED folder. Is this correct?? The only reason I ask is I noticed on when extracting a stock kernel there is a zimage file in the boot.img-ramdisk but this is not the case in a custom kernel. Thanks for any insight.
[Android] TMartin:
Easiest thing to do is edit the files then drag and drop them into the right place in the actual apk, which you can do by opening the apk in winrar, etc. Then you don't have to resign it.
[Android] teshxx:
for services.jar and com.htm.resources.apk its tru, but when you are add/deleting stuff to framework-res.apk you HAVE to sign it again if not you will get FC's and boot problems.
[Android] dsixda:
Oh that's strange.. I haven't played around too much with kernels, so I can't really answer that. If you are already trying this, could you let us know your results? Thanks
[Android] TMartin:
I will try it in a few. I came to that assumption because of the kitchen actually.

---------------------------------------------------------------

Ensure your BOOT-EXTRACTED folder has the kernel and ramdisk
files that you need.

Kernel = boot.img-kernel (also known as zImage)
Ramdisk = boot.img-ramdisk folder

---------------------------------------------------------------

Press <Enter> when you are ready to re-pack them into a
boot.img which will be copied to your current working folder.

---------------------------------------------------------------
[Android] TMartin:
I have done it with framework-res with no issue. I always have Market installing issues when I re-sign things.
[Android] BlaY0:
Really? Kernel image in boot.img-ramdisk directory? Are you sure? Because it shouldn't be there...
[Android] BlaY0:
Because you don't know which packages you have to resign and which not. You don't resign Google apps packages, because all sorts of things tied to Google stuff stop working (like Gmail push sync, Market and stuff) but others you can resign and you should resign all that later share the same UID and CERT. Why? Because if you resign only framework-res.apk later in the process of theming, you are resigning it with a different cert than it was signed before. You can not sign with a cert those packages were signed originally, because you don't have it unless you have stolen it from the vendor who originally signed them. That's why you resign all of vendors packages with your own cert (or Android test cert that is in the kitchen) so they are all signed with the same cert and you get the ability to theme those packages because you can resign them afterwards with the same cert. And it is wise to resign themed packages, even if you just replace files in it but it is imperative to resign if you are adding new files to that package...

Bottom line is that when resigning, you have to resign with the same cert it was signed before otherwise you wil get what you ppl call "boot loop".
[Android] TMartin:
That might have been my mistake...because I can't seem to mimic it. Is that true about renaming zimage to boot.img-kernel??
[Android] TMartin:
Everything I use has the same cert.
[Android] BlaY0:
True.

Why do I find this hard to believe? Can you show me your /data/system/packages.xml?

So you are using a ROM whos packages were resigned after deodexed? And they were resigned with test Android cert? Are you the original ROM creator? As I said for example it isn't wise to resign Google Apps because you would break at least push sync and I really doubt that you have Google's cert.
[Android] TMartin:
Thanks for this information.

I think I might be confused as to what you mean by this. I normally grab the cert.rsa, cert.sf & manifest.mf from the same author and put them in the apk I have changed. So if I grab an HTCClockWidget.apk from the Test HTC Desire HD, I would use the (2) cert files and manifest.mf from my original HTCClockWidget.apk to match the rest of my HTC apk's. For any theming, I unzip the apk then open the apk in winrar and drag the edited files into the apk. I honestly do very little theming.
[Android] BlaY0:
What you are doing is basically tampering and it works just by pure luck. If you would try to decompile this already themed apk with apktool, you would most probably get a bunch of errors. But never mind, if it is working it's generally OK.

Why tampering? When you sign your apk, you actually make SHA1 hash of each and every file in it (MANIFEST.MF). Then also in a process of signing you encrypt those hashes with certificate and you get CERT.SF. And to be able to decrypt those encrypted hashes a public part of certificate is attached (CERT.RSA). When you inject some edited file into this apk that hash from MANIFEST.MF doesn't match any more and neither does encryped hash from CERT.SF. Your ony bet for this to work is that app doesn't check those file's hash.

And when you're adding some mod that actually add some new files to that apk (like super circle battery mod does), above method doesn't work any more. Some files can even not be replaced in above way because they have resource numbers tied to them... in that case you have to decompile this apk, replace those files, recompile it back and resign it, otherwise it won't work and you'll get FC or even "boot loop" if it is part of framework.
[Android] ricsim78:
Hey dsixda, I wanted to thank you for your awesome Android kitchen, without it I would would never been able to make my custom ROM.

I was wondering if you or anyone else can help me with a major problem I am having with the kitchen though?

I have the HTC Evo and my custom ROM is based off the newest OTA. What I am trying to do is move the Dalvik to the cache portion rather than use Darktremor Apps2SD or have it taking up all that memory.

I put the scripts in the system/etc/init.d folder for both Zipalign and 02dalvik2cache scripts. Here is the problem.

If I try and use Busybox Run parts, which I understand is supposed to make it easy to run scripts in the init.d folder, my ROM will not make it past the "Evo 4G screen", even a battery pull will not make it work. I tested a rooted version of the 3.29 ROM and without Busy Box run parts, it booted right up. I even tried calling the scripts with the update-script and still didn't work, still locked up same place.

With the only change being installing Busybox run-parts, again it would only lock up on the boot screen.

Can someone please either help me with run-parts or tell me an easier way to move the dalvik to the cache portion? Thank you in advance and it would be most appreciated. This is very frustrating and I do not wish to use Apps2SD since not everyone has a fast enough SD card.

Edit: I have tried to find an answer through Google, searched XDA, and other similar sites with no joy. I know Vaelek was also having trouble with this (one article I found here) but his solution did not work for me at all.
[Android] BlaY0:
:rolleyes: That can happen if you don't know what you are doing or what is actually happening when you hit enter or click that mouse button. If you are cooking ROMs and try to add some feature/functionality, you first have to understand this feature/functionality and what is being altered/changed during a process of adding it.

Check init.rc... you probably have there something like:

on property:cm.filesystem.ready=1
class_start default

...but you don't set that property anywhere, so init is just stuck there waiting for cm.filesystem.ready property to become 1 and then it will continue. You can try hooking your gizmo to your comp while stuck and issue:

adb shell setprop cm.filesystem.ready 1

...and boot process should continue.

There are two solutions to this problem... one is to make a run-parts script (let say 99complete), where you set cm.filesystem.ready to 1. The other is to remove line:

on property:cm.filesystem.ready=1

...from init.rc.

Basically I don't have a slightest idea why dsixda put that condition there :confused:
[Android] TMartin:
Thank you for more information. I'm still trying to learn it all so I really appreciate the detailed descriptions and whatnot. Thanks again.
[Android] The_Law2:
Brand new ROM cooker here. Looks like the Cygwin Packages for Windows link is down, can someone help me out? TIA
[Android] dsixda:
That line is required for apps2sd. The init.rc basically waits on that cm.filesystem flag while the apps2sd script is running, and when the apps2sd script is finished the script sets that flag to 1 so that init.rc can proceed.

Actually, yes, that is my mistake which i overlooked -- if you add 'busybox runparts' by itself (without apps2sd), then you don't need that line. I should put that fix in later.

Thanks
[Android] dsixda:
Server looks like it's down. If it continues like that for the next hour then let me know and I will send him an email. I'd like to put up a mirror download link in the future.
[Android] ricsim78:
Hey BlaYO, thank you for taking time to help me and I am going to try adjusting that. I appreciate the help and this information is exactly what I was looking for.

I did want to say that just because I "know what I am doing" doesn't mean that I know everything. I still have more to learn of course, but I know that init.rc and update-script are modified when you add run-parts. I found the entries, but was not aware until now what the problem was because some of the entries I am not familiar with (as far as their relation to other things). In other words, I figured one of two things: It was getting stuck either because of an error or it was getting stuck waiting for something it never got.

I know exactly what run-parts does and I know that when I click my mouse and add features that stuff gets changed though :rolleyes: In any case, thank you and I am sure I will be able to do what I want to do now.

@dsixda would be a good idea to fix it, Apps2SD and run-parts are two different things. It should only add that line only if Apps2SD is used or more people are going to run into the problem (as I am sure many have).
[Android] dsixda:
Yes.. I know they are two different things, that's why I added runparts as a separate menu option from apps2sd... ;-)

But as I said above, I made a mistake with adding the cm.filesystem flag in non-apps2sd cases.
[Android] TMartin:
Let me know...I have some space on a friends ftp. Direct link with no waiting.
[Android] BlaY0:
Well, I'd still go with /system/etc/init.d/99complete setting this property to 1 as a fallback. CM is using it that way so why won't we ;)
[Android] XSafire:
can someone get me a mirror? The link is down.
[Android] TMartin:
Some of us try to keep our own identities and not fall in line like the general population. If we all fell in line, we would just go out and buy IPhones and call it a day.
[Android] XSafire:
mirror anyone?
[Android] The_Law2:
+1 Mirror please. Link still down all day.
[Android] dsixda:
You're lucky I came home for lunch ;-)

Here's a mirror for Kitchen version 0.102:

http://www.mediafire.com/?vxweyxiifpge29n

Unfortunately, the Cygwin_packages.zip is at my hard drive at work, and when I go back to work they have a firewall so most filehosting sites won't work (myunspace used to work, but now that site is down or gone).

In the meantime, just download Cygwin from http://www.cygwin.com/setup.exe and install the following packages:

* Devel / gcc
* Interpreters / perl
* Utils / cpio
* Utils / util-linux
* Utils / ncurses
* Archive / zip
* Archive / unzip
* Web / wget
[Android] BlaY0:
My opinion is that this has nothing to do with ones identity, its generally just a good idea and wise, simple implementation. Like drinking water... every owner of iPhone is drinking water I guess so you think you shouldn't because you have an identity?

Besides explain why is kitchen using cm.filesystem.ready property? It clearly comes from CM, no doubt about it. And why is DarkTremor using it too? My guess is that when first implemented, tkirton had no clue what was that property doing there and where that name came from, he just thought it should have been there because it is somehow system dependent.

Well at least I have an identity as I'm using my.system.ready property instead of cm.filesystem.ready ;)
[Android] TMartin:
I was not trying to step on your toes and apologize if it seemed like that. I was just merely stating dsixda should implement the property the way he feels better about since its his kitchen and he writes all the scripts. I also never said it was a bad idea either.
[Android] BlaY0:
I don't have problem with that, because I actually don't need a kitchen. I'm here just to help and make some suggestions... nothing more.
[Android] TMartin:
Well thanks for all the help. Thanks to dsixda and others like you I actually don't have to completely rely on the kitchen. I could actually build a ROM by hand. Just trying to keep learning.
[Android] BlaY0:
No problem m8 ;)
[Android] dsixda:
Could you PM or Twitter direct message me the info? Thanks!

BTW I tried to email Grdlock but his email address is on the doomed grdlock.net server, so, naturally the email bounced back :p
[Android] dsixda:
Ok nevermind, grdlock.net is back up!

Version 0.103 has now been uploaded!

P.S. This is what happened to Grdlock's hosting site, which is why my kitchen was not accessible all day: http://bit.ly/da8LSE ... Ouch!