yashsingh1/xdaforums huggingface dataset:
[Android] nex7er:
EDIT ADD: This is what recovery throws at me.

E:Board does not support mtd utils.E:Failure at line 19:

write_raw_image PACKAGE:boot.img BOOT:

Installation aborted.

EDIT ADD 2: Found your post here about that error. http://xdaforums.com/showpost.php?p=10963396&postcount=3117 Doing that just gives me the same error. Changing from update-script to updater-script lets the recovery finish flashing but it goes so quick I doubt it actually copies any of the files within the zip over. If I run full-wipe.zip and then flash this .zip it won't boot past the HTC Quietly Brilliant screen. However, if a rom is present and I don't wipe, it'll at least go to the android loading screen.

Logcat reports this:

- exec '/system/bin/sh' failed: No such file or directory (2) -

Leading me to believe it really isn't pushing any files over with updater-script.
[Android] dsixda:
Sorry my friend, I made a mistake in that actual conversion part. I was working on it this evening. I was using "/xbin/busybox/mkdir" instead of "/system/xbin/busybox mkdir". What the hell was I thinking. I am uploading a new version of the kitchen as I type.
[Android] nex7er:
Haha. Good to know.
[Android] dsixda:
And now 0.123 is out. :-)

I apologize for the the very stupid mistakes!
[Android] nex7er:
Doesn't seem to fix the fact that files aren't copied over with updater-script. Weird stuff... Trying to run logcat at the HTC Quietly Brilliant screen but it's being a ***** at the moment.

adb server is out of date. killing...

* daemon started successfully *

- exec '/system/bin/sh' failed: No such file or directory (2) -
[Android] dsixda:
Not sure if you read it, but there is another answer in the FAQ regarding files not copied over. Your mount points may need to be renamed in the updater-script.
[Android] nex7er:
Just read it, but I don't quite understand what to change. My updater-script looks like this http://pastebin.com/qCBUZP7h

This particular rom comes from an Evo 4G rom. Do I change the mtd to ext3(4 for GB)?
[Android] dsixda:
If you're using an Evo then you shouldn't have any problem. Start from scratch, use an update-script and don't convert to updater-script. Your originaal issue about the boot partition mounting may be due to using ClockworkMod recovery. Try Amon_RA. Lots of people have made Evo 4G ROMs with this kitchen successfully.
[Android] nex7er:
Naw, I'm on a Desire HD. It's a port. I think I've figured it out, by changing the MTD to ext4 and mounting everything correctly. Going to try to see if it'll flash and boot, haha...

Lol... edit add...: Error status 6. Guess I'll try a fresh updater-script. I feel like I just took a step backwards.:o

Well, I can't get past the same spot I'm at with http://xdaforums.com/showpost.php?p=11363957&postcount=3401. That is one build, and one with updater-script, well that just doesn't even copy files over from the zip. Annoying. About to give up.
[Android] mike1986.:
Thanks for the busybox updater-script fix! I will try it in a second!

I've been also wondering between differences in boot flashing commands:

Mike:

assert(package_extract_file("boot.img", "/tmp/boot.img"),
write_raw_image("/tmp/boot.img", "boot"),
delete("/tmp/boot.img"));

Yours:

run_program("/system/xbin/busybox/mkdir", "/boot");
mount("MTD", "boot", "/boot");
package_extract_file("boot.img", "/tmp/boot.img");
write_raw_image("/tmp/boot.img", "boot");
delete("/tmp/boot.img");

Apart of differences I think that mounting/unmouting boot partition is not necessary. I never used boot mounting commands and boot.img was always flashed. Just an observation ;)

And also one idea of next feature you can add. I've already tweeted with you about it. Adding possibility to choose default installLocation.

edit:

One more thing:

When busybox symlinks were created manually in updater-script before set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin"); then all symlinks got permissions. Now when using installbusybox we are first setting recursive permission to xbin folder and then creating symlinks. So I think they wont have necessary permissions.

Also we don't need this line /system/bin/chmod 755 busybox in installbusybox because busybox is actually in xbin folder instead of bin and it got it's permissions in updater-script already.
[Android] theintelligent:
I was reading the logcat you posted earlier. It seems that your device has trouble starting the Netd service. Can you check if /system/bin/netd is present?
[Android] erickwill:
Dear dsixda,

I just wanna to feedback you and inform that your kitchen works perfect for Sony Ericsson X10i and X10a.

Thank you very much!

Best Regards,

Erick
[Android] nex7er:
netd is there, yes.

I'm about to kill my DHD, heh...

Basically, my problems are these;

Using update-script I get this message in cwm 2.5:

E:Board does not support mtd utils.E:Failure at Line 21: write_raw_image PACKAGE:boot.img BOOT:

My update-script is here

As you can see, it even includes a busybox installation. If I boot up after a full wipe, I atleast get past the htc screen onto the android loading screen.

My logcat for this is here

Using updateR-script I get this message in cwm 2.5:

Install from sdcard complete! Finally, I thought. I noticed it didn't take more than two seconds for it to "copy" the files over... and it really doesn't. It gets stuck at the HTC screen, so it doesn't even load android.

My logcat for this is just this:

* daemon not running. starting it now *

* daemon started successfully *

- exec '/system/bin/sh' failed: No such file or directory (2) -

My updateR-script is here

Here's what recovery.log has to say:

update-script: http://pastebin.com/fEPYwB0x

updateR-script: http://pastebin.com/7FB5t3b8

I'm scratching my head.
[Android] troby1986:
So I cooked a ROM (correctly), copied over the contents of a different kernal, rooted it, signed it, but I get stuck at the boot animation, it just flashed every 10 seconds. Any idea what's up?
[Android] dsixda:
Yeah, I had somehow assumed that certain devices require the 'mkdir /boot' and the mounting of the boot partition. But based on what you guys (theintelligent, mike1986) have shown me, those are not required for the Desire HD either. I'll remove them next time. It doesn't currently affect the ROM or anything, but I agree it doesn't need to be there.

Yeah you told me about it and I told you I'm not keen on adding something like that, for fear of messing up someone's ROM. I tried that before and it messed up my Market links. You guys can add it if you want, I'm not going to.

The "busybox --install" command in the 'installbusybox' script seems to set the permissions. I don't have any issues running the busybox commands in a shell. e.g. Try a busybox command that is in /system/xbin but not found in /system/bin. e.g. Just type "lzcat"

There are other files in /system/xbin that aren't busybox symlinks, that's why we have the set_perm_recursive for the folder; however, we could move it after busybox but I don't see any problem the way it is.

Actually it's doing a chmod on /system/xbin/busybox (check the previous command, it changed directory to /system/xbin). The 'chmod' command is found in /system/bin.

I use this permission in installbusybox so that I can execute busybox, but then after moving the permissions to the update-script (to fix another issue), I don't need it in installbusybox anymore. I could remove that line next time.

Awesome, good to know! I see you guys are using an empty boot.img to trick the kitchen, since your bootloader is locked anyway and you can't flash the boot.img. In the next kitchen update I'll add support for your devices so that it creates a fake boot.img (not an empty text file, but one that contains actual content so that it doesn't mess up the scripts) and then it removes the boot.img when you build the ROM.

I wonder if this method works for the Milestone?? I remember trying something like this once but had errors with the update-binary/updater-script not being recognized. But that was a long time ago and I don't know if it will work now. My Milestone is still at home, but it's packed up and ready to be shipped to a new buyer.. so I really can't try it.

P.S. PLEASE DO NOT QUOTE THE ENTIRE FIRST POST

Hmm... What daemon is trying to call sh? Because if you installed apps2sd or bash, then /system/bin/sh is actually a symbolic link to bash. Can you check your kitchen's update(r)-script to verify "sh" is symlinked to bash?

Read the FAQ
[Android] DrRyder:
E:Command run_program: non-package program file

"DATA:dtinstall.launch" not supported

E:Failure at line 109:

run_program DATA:dtinstall.launch

Installation aborted.

This just after updating to 1.23..
[Android] nex7er:
It wasn't, so I added these two lines to my updateR-script:

set_perm 0 0 04755 SYSTEM:bin/bash

symlink /system/bin/bash SYSTEM:bin/sh

logcat is still spitting

adb server is out of date. killing...

* daemon started successfully *

- exec '/system/bin/sh' failed: No such file or directory (2) -

Whoever manages to come up with a viable solution gets to date my girl. Haha.
[Android] dsixda:
Can you post your update-script? You can just replace DATA: with PACKAGE:data/ on that line only.
[Android] mike1986.:
Ok mate, thanks. I'm trying to do it manually since a long time but nothing works. Now I tried creating istalllocation file in working folder with

#!/system/bin/sh

pm setInstallLocation 1

+ in the updater-script:

package_extract_file("installlocation", "/tmp/installlocation");

set_perm(0, 0, 0777, "/tmp/installlocation");

run_program("/tmp/installlocation");

but it doesn't seem to work. Any ideas? Should "sh" be symlinked to bash?

So basically installbusybox can look like:

#!/system/bin/sh

./busybox --install -s /system/xbin

if I have this updater-script:

ui_print("Creating additional symlinks...");
symlink("/system/xbin/su", "/system/bin/su");
symlink("/system/xbin/busybox", "/system/bin/busybox");

ui_print("Setting permissions...");
set_perm_recursive(0, 0, 0755, 0644, "/system");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
set_perm(0, 3003, 0755, "/system/bin/ip");
set_perm(0, 3003, 0755, "/system/bin/ipd");
set_perm(0, 2000, 0775, "/system/bin/iptables");
set_perm(0, 3003, 02755, "/system/bin/netcfg");
set_perm(0, 3004, 02755, "/system/bin/ping");
set_perm(0, 2000, 06755, "/system/bin/reboot");
set_perm(0, 2000, 06750, "/system/bin/run-as");
set_perm(1000, 1000, 0755, "/system/bin/nano");
set_perm(1000, 1000, 0755, "/system/bin/sysro");
set_perm(1000, 1000, 0755, "/system/bin/sysrw");
set_perm(0, 0, 04755, "/system/bin/sh");
set_perm(0, 0, 06755, "/system/bin/su");
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_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
set_perm(0, 0, 04755, "/system/etc/ppp/ip-up-vpn");
set_perm_recursive(0, 2000, 0755, 0755, "/system/etc/init.d");
set_perm(1000, 1000, 0771, "/data");
set_perm_recursive(1000, 1000, 0771, 0644, "/data/app");

ui_print("Installing busybox...");
package_extract_file("installbusybox", "/tmp/installbusybox");
set_perm(0, 0, 0777, "/tmp/installbusybox");
run_program("/tmp/installbusybox");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
set_perm(0, 0, 04755, "/system/xbin/busybox");
set_perm(0, 0, 06755, "/system/xbin/su");

All spots appreciated :)
[Android] theintelligent:
Use the attached updater-script. Just extract both of them and reply back with the result.
[Android] nex7er:
I love the messages it gives. Sadly it doesn't get me further. After running FULL-WIPE.zip 1.3 I install the zip and still get stuck at the HTC loading screen.

This time I can't even run any adb commands to check logcat. It won't connect the usb. If I boot into recovery it connects but as soon as I reboot it just disconnects without connecting. Awesome. :P
[Android] DrRyder:
Interesting...I just converted my update-script to updater-script and re-built it. Flashed perfectly fine. I like being able to add custom text too. So, looks like I'll stick with updater-script.
[Android] theintelligent:
Can you send the recovery.log?
[Android] nex7er:
Sorry for the late reply. Here you go. :)
[Android] MrNameless:
I got this error:

Error kernel offset not found in boot.img!
[Android] dsixda:
Give me more details, this doesn't help me.
[Android] dsixda:
0.124 is now up. Enjoy!

Going to sleep :)
[Android] theintelligent:
Can you give me some more details like what version of base rom are you using? What kernel you are using? What actions have you performed from the kitchen before building the rom?

Your recovery.log doesn't show any abnormal thing so that is why in order to drill down i need the above answers?
[Android] _fm:
hai, i have a few question,

first,

related to this post http://xdaforums.com/showpost.php?p=11378622&postcount=3420

i've download the updater script attached,

and after done a few tries, finally i found that my update-binary is different with the one attached in that post,

because my update-binary is different, thats why i cant use this command,

if i use my own update-binary, it says error, "status 7, expect 3 but got 4" (i forgot what the recovery exactly said),

what is actualy inside the update-binary file?

and what's make my update binary is different so i cant use that command? what have i done wrong?

second,

after flashing, seems my boot.img also flashed correctly (because the kernel also change),

but, my camera is broken (no colour, only black and white), i have to flash boot.img which is not rooted (still fresh from stock) via fastboot to fix it,.

well, is this my boot.img or is it affected by the kitchen?

** well, since this kitchen is really helpful, i hope the problem is coming from my boot.img,

thankyou so much,.
[Android] kdb424:
format() expects 1 args

Got that error when I extracted a cymod 7 nightly rom (flashed fine before I extracted) used all defaults, made NO changes, rebuilt and used all defaults. Usin clockwork 2.5.1.2
[Android] dsixda:
Post the update(r)-script that was used, as well as the original one.
[Android] NilsP:
@	dsixda

Great kitchen. Been using it for awhile and really love it. Makes my life so much easier and productive.

One question (doesn't that always follow a compliment)

I am a little confused by the comment that pops up that says the the updater-script and update-binary will not be left in the source because the kitchen is not yet compatible with the new scripts.

Since I would like to modify the new scripts and not have to copy them in manually every time I would like to include them in the source and get rid of the old.

So, my question is what functions of the kitchen won't work if I do that?

Thanks again

Nils
[Android] arif-ali:
@dsixda, you might find this useful to add to the kitchen for those of us that use img files

The small howto (do not download the file from this post)

The file is here

you may have to modify it to incorporate it in your kitchen
[Android] dsixda:
Thanks for your effort.

I don't know if it's an error-free method, I have an answer in the FAQ regarding system.img re-packing. Too much work for me to support, and I am already spending a lot of time and losing sleep on the updater-script stuff. Maybe you could provide a plugin for the kitchen with this?
[Android] MrNameless:
I Got that error while unpacking boot.img
[Android] dsixda:
Well yes, I know that because I wrote that error message ;)

I need to know what ROM is this from, links, etc.??
[Android] MrNameless:
I think that this info is useless, i got that error with all ROM's lol
[Android] dsixda:
I don't fully understand your message, sorry .. Please give an example.

Maybe this helps -

When converting from updater-script to update-script, the update-script will:

- remove comments, ui_print statements, getprop statements, assert commands (except stuff inside them)

- keep stuff like package_extract_file, /tmp folder, etc., which won't work in update-script but will work when converted back

When you build the ROM, it will ask you if you want to convert back to updater-script. However, if the update-script contains stuff that aren't compatible with update-script (e.g. package_extract_file), it will automatically convert it to updater-script without asking.

Then it will ask you if you want to proceed. At this point you can make changes to your updater-script and then click "y" when done.

I can't have the kitchen use updater-script directly. It's way too difficult to do because updater-script has way too many combinations of syntax for every command. Plus I spent a year creating all the script files, I don't want to go back to 70+ individual files and make duplicate functionality for updater-script as I did for update-script. It will take forever and it won't work most of the time either. Sorry, but I have better things to do (and my wife is already mad at me for spending my nights on this) :)
[Android] dsixda:
Then you probably didn't install the kitchen properly. Are you using a Mac? Do you have the correct version of "od"???

What device??
[Android] NilsP:
You actually answered my question. I can't keep the updater-script and update-binary in the WORKING folder for the ROM at all since the kitchen won't work with it for anything. Thanks.
[Android] mike1986.:
Hey sorry for asking again but I want to be 100% about it.

This is part of my updater-script:

ui_print("Creating additional symlinks...");
symlink("/system/xbin/su", "/system/bin/su");
symlink("/system/xbin/busybox", "/system/bin/busybox");

ui_print("Setting permissions...");
set_perm_recursive(0, 0, 0755, 0644, "/system");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
set_perm(0, 3003, 0755, "/system/bin/ip");
set_perm(0, 3003, 0755, "/system/bin/ipd");
set_perm(0, 2000, 0775, "/system/bin/iptables");
set_perm(0, 3003, 02755, "/system/bin/netcfg");
set_perm(0, 3004, 02755, "/system/bin/ping");
set_perm(0, 2000, 06755, "/system/bin/reboot");
set_perm(0, 2000, 06750, "/system/bin/run-as");
set_perm(1000, 1000, 0755, "/system/bin/nano");
set_perm(1000, 1000, 0755, "/system/bin/sysro");
set_perm(1000, 1000, 0755, "/system/bin/sysrw");
set_perm(0, 0, 04755, "/system/bin/sh");
set_perm(0, 0, 06755, "/system/bin/su");
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_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
set_perm(0, 0, 04755, "/system/etc/ppp/ip-up-vpn");
set_perm_recursive(0, 2000, 0755, 0755, "/system/etc/init.d");
set_perm(1000, 1000, 0771, "/data");
set_perm_recursive(1000, 1000, 0771, 0644, "/data/app");

ui_print("Installing busybox & su..."
package_extract_file("installbusybox", "/tmp/installbusybox");
set_perm(0, 0, 0777, "/tmp/installbusybox");
run_program("/tmp/installbusybox");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
set_perm(0, 0, 04755, "/system/xbin/busybox");
set_perm(0, 0, 06755, "/system/xbin/su");

and I moddified installbusybox and it looks now:

#!/system/bin/sh
cd /system/xbin
./busybox --install -s /system/xbin

I removed /system/bin/chmod 755 busybox from installbusybox because after it's installed I have set_perm(0, 0, 04755, "/system/xbin/busybox"); in the updater-script. Is it ok or did I miss something and should do some correction? Thanks dsixda!
[Android] dsixda:
If you remove the "chmod 755" in the installbusybox, then your current setup won't work, because when you run installbusybox, the busybox won't have execution permission.

You need it like this:
[Android] mike1986.:
Ok so simply I moved last 3 lines to the top and now it's:

ui_print("Installing busybox & su..."
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
set_perm(0, 0, 04755, "/system/xbin/busybox");
set_perm(0, 0, 06755, "/system/xbin/su");
package_extract_file("installbusybox", "/tmp/installbusybox");
set_perm(0, 0, 0777, "/tmp/installbusybox");
run_program("/tmp/installbusybox");
[Android] dsixda:
@kdb424:

You swapped the Before and After.

The "After" is your original ROM's updater-script. The "Before" is the converted update-script. The kitchen would have automatically converted this update-script to an updater-script when you built the ROM, without asking you, because some of the items are not compatible with update-script.

So it seemed like you pressed "No" afterwards when asked to proceed with the updater-script.. Why? The default is Yes. It's not going to flash successfully with this update-script of yours.
[Android] kdb424:
Woops. Dyslexia got me again in that post. I have tried both ways. I'll keep toying with it, see if it works with other roms and report back after I experiment. Tks for the response.
[Android] dsixda:
With the latest kitchen, if you convert that updater-script above to an update-script and then back to updater-script (with my kitchen), the resulting updater-script is pretty much the same as the original one. So there really isn't anything wrong with how the kitchen did it.

Maybe the update-binary needs to be updated?
[Android] nex7er:
All I've done is change the build name. I'd rather keep my little project a secret until I release it. I'm doing this for the learning experience.

For some reason, today, running your updater-script again (flashed it by accident instead of a gingerbread rom actually), I managed to get as far as to the android loading screen. This was right after a full wipe. Now I can run logcat but this time it spits out:

E/Netd ( 1436): Unable to start DnsProxyListener (No such file or directory)

Full logcat resides here http://pastebin.com/wcgKsnxM
[Android] kdb424:
I actually did in fact have an error (I deleted that rom and moved to a stock inc rom), and ended up getting a similar error. I had to separate a line that had a "00" to "0 0" and it built and installed just fine. If you need me to give exact steps for debugging please let me know.
[Android] dsixda:
Then you must have changed something by accident in the update-script. That's a user error, I don't have to debug that.
[Android] dsixda:
Ok, I've made the last of all my important changes (I hope!) ;-)

0.125 is now up.
[Android] Droidzone:
@dsixda,

Just started getting a gcc missing error in the kitchen. I do have gcc in the system (Ubuntu 10.10), but maybe the kitchen needs it in a specific folder?
[Android] troby1986:
Ok, so I'm trying to add a kernel to my ROM, the kernel includes the zImage, plus upsate-script and update-binary. Should I overwrite the update-script and update-binary from the kernel to the ROM? Or do I need to keep the original ones in the ROM? Thanks
[Android] dsixda:
If your Ubuntu doesn't recognize 'gcc -dumpversion' then you hosed your installation.
[Android] dsixda:
Just read the FAQ
[Android] Droidzone:
You were right. The package was present but some error had occured in the install. Reinstall of gcc package solved it
[Android] Droidzone:
:)

If you overwrite that it would install the kernel instead of a Rom. Read the faq as suggested. Extract kernel from rom>Extract kernel in any folder>Overwrite zimage from 'any folder' on "BOOT-EXTRACTED">Build kernel
[Android] troby1986:
I did. The FAQ says copy over all files from the kernel in the appropriate place, but if I copy over the update-script, my ROM will not flash.
[Android] dsixda:
Didn't say that.. read the last paragraph carefully and don't rush through it.
[Android] troby1986:
Thanks, the FAQ was throwing me off a little.