yashsingh1/xdaforums huggingface dataset:
[HD2 General] Blob8me:
More $$$$$$ well spent.... I'm sure that the Fat Cat Lawyers are loving this.....

What a shame?

The really sad part is that now they've made it official - someone WILL lose and that means that in the long run someone (probably us the consumer) WILL lose out?

I always thought the APPLE rivalry was healthy but it seems that after a number of recent moves against competitors such as HTC (including the Vodafone UK stop sell on the HD2 just before they add i-Phone to their range) Apple have lost their sense of fair play and have gone running to Mom & Dad crying??? :cool: Sigh.....

.
[HD2 General] rp-x1:
Its because they know they no longer have the advantage. First-to-market only lasts so long before 'copycat' products appear, better and cheaper than the first models.
[HD2 General] Paul Boy:
Same with Orange, the HD2 was always coming to Orange then..............they announce the iPhone. then in the same week the HD2 gets Dropped :mad:
[HD2 General] shu8i:
http://xdaforums.com/showthread.php?t=640832
[HD2 General] richardirv:
Ok, ok, I did search but only in HD2 thread. I never ussually look in any other area's and I'm sure others will be the same.
[HD2 General] Kokkos:
Apples Response

http://www.apple.com/pr/library/2010/03/02patents.html

How many Patents have been violated from NASA? Touch Screens in the 60's does NASA need to sue Apple due to the recent budget cuts?

Kokkos
[MDA III, XDA III, PDA2k, 9090 General] man31:
hello guys! do you have any idea on how to run .exe/.msi files using an sd card? i cant synchronize my ba for the reason that i still dont have a usb cable for it. i do update my ba using cab files only.

i have many useful utilities but some of them are in exe format. how will i be able to run these files on my sd card? :confused:
[MDA III, XDA III, PDA2k, 9090 General] Chef_Tony:
AFAIK msi files are exclusively for the pc, if a mobile app is provided as a msi file, it needs to be installed through activesync or wmdc.

exe files are executables for windows pcs and windows phones, but if a program comes in a single exe file, it looks like a pc setup as well. but you can try copying it to the sd card and simply click it in the file explorer. if you get an error message, it is a pc program.

what you can do, is install activesync or wmdc (depending on your desktop os) on your pc and install the apps you want, on your pc. normally that would install them, the next time you connect to your cradle/cable. since you don't have one, you should track down the cab files. on windows 7 they are located somewhere in c:\windows\windowsmobile\. i believe on xp it would be program files\active sync\

usually those installer routines extract a cab file in one of those paths and copy it to the device to be installed then.

also, if you don't have the possibility to sync, you should make regular backups of your pim data, best done with:

dotFred's PimBackup V2.8 for WM5 and above Download (Mirror)
[MDA III, XDA III, PDA2k, 9090 General] man31:
:D thanks sir. that would probably help me installing those exe files.

i really have a hard time maintaining ang pimping my ba without the usb cable. still waiting for my cable to arrive here.

but then again, thank you for the information you have shared with me sir.. :)
[General Questions and Answers] ememem90:
Hi everyone,

I wanted to ask, it's possible to display current track playing by windows media player on lock screen? how it could be done? thanks
[General Questions and Answers] nbite:
not as far as i know. Ive been wanting one also, so i decided to make my own.
[General Questions and Answers] orb3000:
yes it´s possible

See here
[Touch HD General] tomohdi:
Bad news for the HTC HD2 owners: your beloved WinMo smartphones does not qualify for a Windows Phone 7 upgrade. The reason is more than ridiculous but you can't do anything to change the situation: the HD2 packs five hardware buttons instead of only 3.
[Touch HD General] atifsh:
not true a big misleading fact or confused fact..

requirement is of 3 navigation buttons winlogo start, back and search. ur common send and end buttions doesnt count.

HD2 also has 3 navigation buttons but instead of search it has home. and thats the problem.

very similar to what 6.5 done to HD as it didnt had logo start but diamond2 has that and got official 6.5.

hope ppl understand now.
[Touch HD General] chriszzz:
I'll have to disagree that the HD2's buttons is a "problem". Microsoft's excuse is pretty lame. What's so hard about remapping the home button to search ?

Buttons in WM are all mappable via software or firmware. At this point,MS is just being non-committal, and hope that HD2 users will upgrade to new WM7 phones.

Well, I think MS is making a mistake. HD2 users will have no incentive to remain with WM if they have to ditch their HD2 to buy a new phone. They could easily jump to Android, or iPhone.
[Touch HD General] satu:
don't worry, i'm sure, xda developers people can handle it!
[Touch HD General] afr33s:
Shouldn't this be in the HD2 forum not HD!
[Touch HD General] simplistian:
Don't worry I don't believe HTC would upgrade an "old" device when WP7S comes out :)
[Touch HD General] splinter82:
My thoughts exactly!
[Touch HD General] Bodisson:
Whatever... HD doesn't qualify either... :)
[Touch HD General] 88888:
Haha, After HD, I am done with HTC already.:D
[Touch HD General] StardustOne:
And I was considering buying the HD2 today. Not going to happen, I won't make the same mistake twice.
[Touch HD General] Fallen Spartan:
If anyone wants the full details, read this
[Touch HD General] afr33s:
Please close as irrelevant to HD ROM cooking!
[Touch HD General] the_bart123:
HTC touch HD doesnt qualify for WM6.5.x either - AND SO WHAT WE'VE GOT??

Big deal - I belive, there will be WP7 even for HTC touch HD - thanks to smart guys from XDA
[Touch HD General] tomohdi:
No comment, and thanks for all of you for your comment.
[Touch HD General] tomohdi:
me too , :) it save us a lot of money
[Touch HD General] kieboy:
Close, close, close this irrelevant thread
[Touch HD General] imranmaz:
**waits for wp7s touch HD rom** :p
[Touch HD General] bahrami_a:
Don't have to wait that long!

A scent of Win7 is already here for those who are so enthusiastic:

http://xdaforums.com/showthread.php?p=5740297#post5740297

http://xdaforums.com/showpost.php?p=5757421&postcount=1

(Close this topic :eek: - Close! :eek:)
[Touch HD General] atifsh:
why dont u guys just stop posting instead of shouting close close :)

oh i just posted ...oops :P
[Touch HD General] Svegetto:
This is really old news and I'm not saying it's wrong, but I'm not saying it's right. Although there might not be an official update for hd2 from htc or your carrier, changing the mapping of 3 buttons to support an os is not the hardest thing in the world. Also, Win7 has been seen running on HD2 at Barcelona, so if they could do it, I'm positive xda will have no problem.

Andy why is this in the HD forum and not HD2?
[Touch HD Themes and Apps] stoolzo:
http://xdaforums.com/showthread.php?t=641024

Found this on HD2 forum, installed it on my phone, xanny 21b using maxmanilla.

Works a treat - enjoy.
[Touch HD Themes and Apps] jenotc:
Lets give it a go.
[Touch HD Themes and Apps] cool_dhamz:
Thnx for sharing :)
[Touch HD Themes and Apps] simplistian:
Is phone password lock working? I tried one from another thread but I can't get it unlocked, so, with a 0 minutes password lock, I have to hard reset my device.
[Touch HD Themes and Apps] jpcicno6:
My phone goes kinda beserk when I receive a missed call using this

I'm using Topix Wm6.5 Manila 2.1 Rom

S2U2 installed but disabled
[Touch HD Themes and Apps] Huck33:
i removed it and now sens is not abled to start....

any solution before hard rseet?
[Touch Diamond, MDA Compact IV ROM Development] ilcontefabio:
Is possible install Opera Mini 5b as the default Browser on Manila Internet Tab?
[G1 Android Development] sirocyl:
Space reserved for expansion: Command glossary and reference.
[G1 Android Development] sirocyl:
Appendix A: Roots and Partitions ________

This is a list of all the available roots in the Android recovery, as scoped from roots.c in the source code, and df and mount on the device.

ROOT: (Linux block device) /mountpoint/ fs, size
Description.

BOOT: (/dev/mtdblock[?]) / (RAM) Raw
Kernel, ramdisk and boot config.
DATA: (/dev/mtdblock5) /data/ yaffs2, 91904kb
User, system config, app config, and apps (without a2sd)
CACHE: (/dev/mtdblock4) /cache/ yaffs2, 30720kb
OTA cache, Recovery/update config and temp
MISC: (/dev/mtdblock[?]) N/A Raw
[TODO: Get info on MISC:]
PACKAGE: (Relative to package file) N/A
Pseudo-filesystem for update package.
RECOVERY: (/dev/mtdblock[?]) / (RAM) Raw, [?]kb
The recovery and update environment's kernel and ramdisk.
Similar to BOOT:.
SDCARD: (/dev/[B]mmcblk[/B]0(p1)) /sdcard/ fat32, 32MB-32GB
The microSD card. Update zip is usually here.
SYSTEM: (/dev/mtdblock3) /system/ yaffs2, 92160kb
The OS partition, static and read-only.
TMP: /tmp/ in RAM
Standard Linux temporary directory.
Cleared on poweroff/reboot.

[TODO: Find mtd partition for BOOT:, RECOVERY:, MISC:]
[G1 Android Development] sirocyl:
One more space, if I should need it in the near future. Hey, rom devs get away with it, why not the documenters, upon whom they depend? :p
[G1 Android Development] RichieDaze:
This is a great topic!

I know most of these commands, but always wanted to perfect my understanding towards it's use in general for different tasks.

Great tut!
[G1 Android Development] sirocyl:
Thanks! I knew it would be useful. But I haven't even finished it yet, mainly 'cause I had to dash off to school at the last minute.

I'm going to add to it now that I'm back home. :)
[G1 Android Development] adlx.xda:
Command to remove/delete file/dirs

Great post.

You could also add:

write_radio_image PACKAGE:radio.img

(working for Motorola MB200 Cliq/Dext at least)

I was wondering is there is there any command that can be used in update-script to remove files and/or directories?

Any further reference about this?

Thanks in advance
[G1 Android Development] JAguirre1231:
Pretty sure to delete it would be

delete SYSTEM:app/Mms.apk

This would remove the stock messaging app for example
[G1 Android Development] adlx.xda:
run sh script from update-script

You can also run a custom #!/sbin/sh script from update-script:

run_program PACKAGE:script.sh

cool!
[G1 Android Development] jackal424:
great resource. What language is are these zip files written? There has to be a syntax guide out there.
[G1 Android Development] zimphishmonger:
Simply awesome.....sticky!
[G1 Android Development] jubeh:
-nevermind-

This should be a sticky.
[G1 Android Development] domenukk:
Agreed. sticky this.

It took me weeks to figure all this out.

This thread is a few months too late :P

Thanks a lot anyway. ;)
[G1 Android Development] jrummy16:
Great write up.. thank you for putting the time into this!
[G1 Android Development] hadesz:
hello

Can i copy some app to data/app, if data/app is a simlink to /system/sd/app?

Or can I test if the folder SYSTEM:sd/app exists?

And skip or overwrite existing files?

Thanks

OK, I see system/sd is not mounted, then I can't copy apps from update.zip?
[G1 Android Development] luca_v3r:
If I wanted to copy these files for FMRadio (extracted from the ROM Cliq) to my milestone without root, can I run this script through the update. zip?

Is correct?

Thanks!:)

mount("MTD", "system", "/system");

ui_print("Copying in your phone...");

package_extract_file("system/bin/fmradio", "/system/bin/fmradio");

package_extract_file("system/bin/fmradioserver", "/system/bin/fmradioserver");

package_extract_file("system/lib/libFMRadio.so", "/system/lib/libFMRadio.so");

package_extract_file("system/lib/libfmradio_jni.so", "/system/lib/libfmradio_jni.so");

package_extract_file("system/lib/libfmradioplayer.so", "/system/lib/libfmradioplayer.so");

package_extract_file("system/app/FMRadio.apk", "/system/app/FMRadio.apk");

set_perm(0, 0, 04755, "/system/bin/fmradio");

set_perm(0, 0, 04755, "/system/bin/fmradioserver");

set_perm(0, 0, 04755, "/system/bin/libFMRadio.so");

set_perm(0, 0, 04755, "/system/bin/libfmradio_jni.so");

set_perm(0, 0, 04755, "/system/bin/libfmradioplayer.so");

set_perm(0, 0, 0644, "/system/app/FMRadio.apk");

unmount("/system");
[G1 Android Development] sirocyl:
Sticky? It's not even finished yet! :D

And on that note, I'm sorry I haven't kept up with it. Been busy with non-android junk, school, and my website and projects.

I'll hopefully update later tonight. No promises, but I have this thread on e-mail alert so every post in here is almost like a reminder to me lol

Also, through tearing apart some update-zips I've seen some very useful commands that I haven't covered yet. (Cyanogen is like, an update-script wizard)

You're all welcome! Always happy to serve the fellow devs.

I can't believe that I didn't cover that. Will be in next version.

The update-script is a custom format, implemented by the Android recovery environment. It's actually parsed by (I think) recovery.c using rules in commands.c (not sure, haven't seen that source since I first wrote this up)

I don't have any experience with the Motorola devices, so I wouldn't be certain. It looks alright though.

I might be redoing the write-up for CyanogenMod 5, as it's got better examples of commands and it's way more up-to-date.

Also, I see that a lot of the script structure has changed since I last touched on this subject, from a BASIC-like language to something almost resembling C. I'll be covering that, too.
[G1 Android Development] Serris:
Any help apriciated since I am still new in this stuff, here is the thing I have problem with booting once I flash an update I created. If I flash my update.zip right after I flashed rom, the phone freezes in boot screen, but if I first boot the phone without my update, and then flash update it works normally. Any ideas?

And one more problem if I add "copy_dir PACKAGE:data DATA:" to update-script I always get E:syntax error

Reagards
[G1 Android Development] Firerat:
try a reboot, sometimes it gets 'stuck' and throws that syntax error even if you 'fixed' it
[G1 Android Development] animefans:
I have different experience. I have this line, there's no error/warning whatsoever. At the same time, files are not copied over

If it matters, I am using AmonRa Recovery 1.32

and I am packaging in data/local/bin/busybox.bin

I also tried

mount("MTD","data","/data")

package_extract_dir("data","/data")

Still not copy.

However, I do see /data/local/bin/busybox.bin when I go into recovery terminal!. I wonder if my problem is because the real data partition is not mounted in recovery
[G1 Android Development] Droidzone:
Could anyone give me a simple working example of an if/elif construct in edify?

Swyped with my Starburst based Desire. Please ignore any typos or grammos.
[G1 Android Development] sirocyl:
Back when I posted this, I don't think there was an Android General Hacking board, and if there was, most of the info here was G1-specific. I agree, this thread should be moved to General now. Actually, a new thread there would probably better.
[G1 Android Development] sisterchick:
Delete all files in directory?

This is probably a dumb question, but what would be the appropriate syntax to delete an entire directory? My desire is to delete existing system media and font folders and copy my own.

Would this be correct?

ui_print("Adding Tones, Font and Boot Anime");

mount("MTD", "system", "/system");

delete("/system/media", "/system/fonts");

show_progress(1, 15);

package_extract_dir("system", "/system");

ui_print("Installation complete!");

format("cache");

unmount("/system");

or would I need to make an script.sh and use the adb commands

rm -r system/media

rm -r /system/fonts
[G1 Android Development] Effdee:
I think it is delete_dir as per Ezterry below --- delete_recursive

failing that this should work

mount("MTD", "system", "/system");

run_program("rm","-rf","/system/media","/system/fonts");
[G1 Android Development] ezterry:
The aosp [thus likely all] updater-binary adds the following function to edify for your needs:

delete_recursive("/system/media", "/system/fonts");

---

updater provided extra functions

mount

is_mounted

unmount

format

show_progress

set_progress

delete

delete_recursive

package_extract_dir

package_extract_file

symlink

set_perm

set_perm_recursive

getprop

file_getprop

write_raw_image

apply_patch

apply_patch_check

apply_patch_space

read_file

sha1_check

ui_print

run_program

*custom builds may add to this, this is based on aosp

The built in functions:

ifelse

abort

assert

concat

is_substring

stdout

sleep

less_than_int

greater_than_int

-----

Otherwise edify is a single expression, a special operator (that can be anywhere in the file ';' <expr1>;<expr2>, evaluates exp1, the returns expr2.

Conditional operators:

&& - and

|| - or

== - is equal

!= - is not equal

if/than/else/endif:

if <expr1>

then <expr2>

[ else <expr3> ]

endif;

If expr1 returns true evaluate expr2, otherwise if provided evaluate expr3 (note the ';' at the end is likely optional)
[G1 Android Development] sisterchick:
Thank you both for your help!
[G1 Android Development] Droidzone:
@ezterry

Do you have a link to any site where I may read more about it?

What about custom function/subroutine calls? Can a block of code within the same updater-script be called?

Swyped with my Starburst based Desire. Please ignore any typos or grammos.
[G1 Android Development] ezterry:
Its all the android source tree bootable/recovery

The language is edify:

http://android.git.kernel.org/?p=pl...69ce4871e3becef3bed;hb=refs/heads/gingerbread

The program running it is 'updater' (named updater-binary in the zip) and has extensions to edify:

http://android.git.kernel.org/?p=pl...3fa7dd0dad326c360f0;hb=refs/heads/gingerbread

The language is very simplistic see the readme .. if so no functions,

Of course nothing stops you from adding functions in C, extending the language to support functions and other operations, changing updater to read another language all together. Building you custom version and placing that custom version in your update.zip.. since its updater-binary and not the end user's recovery that is reading the script.
[G1 Android Development] Droidzone:
Thank you!

Swyped with my Starburst based Desire. Please ignore any typos or grammos.
[G1 Android Development] rawrwar:
sorry i've been trying to find information on how to create a update-binary for a updater-script...

can anyone help me?
[G1 Android Development] sirocyl:
In most cases you shouldn't need to use an updater-binary aside from the standard default. If you intend on replacing the updater-binary, it should be an ARM Linux program (or executable file/shell script?) for the target you're working with. This binary runs when the update.zip is launched, and controls the update process, tells where to put files, etc.
[G1 Android Development] rawrwar:
is there anywhere i can read more about the update-binary

i seem to find alot of resources on the updater-script but not the binary...

thanks again!
[G1 Android Development] Droidzone:
Would someone explain a bit more about assert function?

An an example, I include the following code:

mount("MTD", "system", "/system");
assert(file_getprop("/system/build.prop", "ro.build.fingerprint") == "verizon/aloha/aloha/aloha:2.1-update1/ERE27/eng.lge.20101025.203314:user/release-keys" ||
file_getprop("/system/build.prop", "ro.build.fingerprint") == "verizon/aloha/aloha/aloha:2.2.1/FRG83D/eng.lge.20101218.151114:user/release-keys");

So an assert means the system checks if build.prop contains that lineand halts the run of updater-script if the line isnt found. If someone were to wipe their /system before running this script, the line would be obviously missing. So system halts if /system is missing and if /system/build.prop is missing the proper line?
[G1 Android Development] Droidzone:
Could anyone point out an error in the following? It gives a status 6:

I'm trying to implement an ifelse construct:

ui_print(" ");
ui_print("Test script by Droidzone ");
mount("MTD", "system", "/system");
ui_print("Checking if StarBurst was installed previously! ");
ifelse(file_exists("/system/build.prop"), (ui_print("Build.prop exists"); ui_print("Once again, It EXISTS!");), (ui_print("Build.prop does not exist");));
ui_print(" ");
ui_print("Done! ");
[G1 Android Development] jcg_vazquez:
Hey... i've been trying to copy apps with data... i mean, apps in data/app and appdata in data/data... After applying the updater-script i get both things... but data/data has wrong permisssions... are there standard permissions for that folder?
[G1 Android Development] RayToombs:
tried your script writer no luck the first time. gives me an error
[G1 Android Development] adrianmak:
Is there any full document of update script function and syntax can be used?
[G1 Android Development] abhijeet.pathak:
Replacing init file and recovery

I have two queries.

1) Is it possible to replace "init" file which is in / (root) directory.

2) Is it possible replace recovery?
[G1 Android Development] Droidzone:
Hi, anyone know the updater-script command for flashing a radio?
[G1 Android Development] RichieDaze:
Edify update radio command

Warning only experienced Devs should use this code!

***( YOU CAN BRICK YOUR DEVICE OR OTHERS DEVICES!!!)***

not directed @ you, droidzone. lol

assert(package_extract_file("#######.radio.img", "/tmp/radio.img"),
write_firmware_image("/tmp/radio.img", "radio"));
[G1 Android Development] Droidzone:
:) Thanks a lot!
[G1 Android Development] Droidzone:
Could you kindly attach the update-binary which contains this function. Apparently the one I use doesnt
[G1 Android Development] RichieDaze:
write_firmware_image is depreciated after eclair

I tried it also and got "unknown function"

After reviewing the source, it seems that recoveries after eclair stopped using write_firmware_image.:eek:

Use write_raw_image instead. My bad! lol
[G1 Android Development] ezterry:
um..edify has little to do with the recovery since it is the updater-binary that runs it

The MT3G froyo OTA used: htc.install_radio()

a special function created by HTC in the OTA's updater-binary..(google shows a version of the code here: http://mirror.yongbok.net/linux/android/repository/platform/device/htc/common/updater/ but I've not verified it)

This is because on HTC phones such as the HTC Dream the radio/hboot cannot be written directly as a raw partition but are staged in /cache then flashed by the current bootloader (hboot) on reboot.

The radio zips in http://xdaforums.com/showthread.php?t=831139 are best to use for examples such as update_2.22.28.25_S.zip

(This includes some verifications to prevent the chances of the user bricking as well)

Just make sure your phone needs to flash the radio/hboot in the same way the HTC Dream does ... otherwise you will want an alternative file.