yashsingh1/xdaforums huggingface dataset:
[Click Android Development] mikifafi:
Hello everybody!

I'm trying to build my own custom ROM for my HTC Tattoo. It is a personal rom just to test and LEARN. The aim of this project is not to be a ROM for daily use, but to test new things and learn.

Features in v1.4:

It is based on RUU Click HTC WWE 1.67.405.6.

It formats SYSTEM and DATA partitions first.

Removed HTC Footprints and config files.

HTC Sense UI removed (you have and update to install it: http://uploadmirrors.com/download/S0FGXKJC/update-5faif-ToPutSenseUI-signed.zip).

Added su and flash_image from devs of this forum.

Added boot image version 2 from mainfram3 with some personal changes.

Removed example images.

Busybox in /system/bin/.

Google apps not deleted as this is a PRIVATE rom for testing.

Google Maps updated.

Added JavaBOX app and library.

Added SoundManager.

Added Astro File Manger.

Added Advanced Task Manager.

Added WIFI Tethering.

Market now shows all the apps.

Apps now are installed and executed from SD!!! (You MUST create a "app" folder in your sdcard BEFORE flashing).

Dalvik cache moved to /data.

Swap activated.

If you want to try this ROM, please do this first in order to be able to recover your Tattoo in case something goes wrong:

1. Make a Goldcard: http://xdaforums.com/showthread.php?t=603286

2. Install Custom Recovery from mainfram3.

3. Do Backup from Custom Recovery.

4.

Create a folder in your sdcard called "app"

5. Now you are able to flash this ROM through update.zip. ¡ALL DATA AND APPLICATIONS WILL BE REMOVED!

If you don't know how to follow these steps or you don't have root yet, follow this howto (thanks Zecanilis!): http://xdaforums.com/showthread.php?t=645742

Download links:

Thanks a lot for your attention! And thank you to all the devs in this forum. All my knowledge about Android come from this great forum and its users!

Special thanks to: mainfram3, chusen, coburn, 5[Strogino], moneytoo

[UPDATES]

08/March/2010: update-script renamed to updater-script (thanks coburn). ROM uploaded again (v0.2).

09/March/2010 v1.2: updater-script completely changed. ROM uploaded again (v1.2). Wifi not working. Fix it with : chmod 755 /system/etc/dhcpcd/dhcpcd-run-hooks

09/March/2010 v1.3b: Sense UI completely removed. WIFI fixed.

10/Marzo/2010: Pequeña actualización a v.3c para usuarios actuales de v.2 o v.3b. Widget problems solved: http://xdaforums.com/showpost.php?p=5845000&postcount=56

17/March/2010 v1.4: Execution and installation of applications on SD. Some programs added. If you want to install Sense after flashing it: http://uploadmirrors.com/download/S0FGXKJC/update-5faif-ToPutSenseUI-signed.zip

24/March/2010 v1.5: Dalvik cache moved and swap memory activated. Thanks to fyodor and lgstoian

17/May/2010 Reuploaded version 1.5 and SenseUI patch.
[Click Android Development] Coburn64:
Looking good. I might snip parts of your mods for use with AzusaROM. I'm not too sure about the update-script syntax, the custom recovery we got uses updater-script. More info later...
[Click Android Development] 5[Strogino]:
Ok, but now try to make update without wipe, without formating system and data.

If you want to add/delete some few things - no need to format whole device)
[Click Android Development] mikifafi:
Ok! Thanks! I'll try... but.. if I want to remove "things"...I will have to write the proper commands to do so in the update-script, haven't I?

So do you think that this ROM could work? Do you recommend to try to flash it [before creating a goldcard in case something bad happens, of course xD]??

Any ideas for the show_progress command? What does the following numbers mean?

Yeah, that's true. In the hello-world example it is named as updateR-script. Thank you for that tip!
[Click Android Development] suoko:
step by step guide

could you please post the istructions you're following to create a custom ROM ?
[Click Android Development] mikifafi:
Of course! I'm going to bed now, so tomorrow I will post all the links I extract the information from. If you can't wait: all the posts are from this forum.
[Click Android Development] Exit93:
I'm working on a custom rom for tattoo too, but i don't know how to flash un update zip, what's the command? Can you help me?
[Click Android Development] chusen:
you need a custom recovery by mainfram3 zip yor rom and copy to sd, rename update.zip, restart the tattoo in recovery mode (home+power) and select "apply sdcard:update.zip"
[Click Android Development] 5[Strogino]:
Commands to remove something:

delete SYSTEM:lib/libA2DP.so
delete SYSTEM:build.prop
delete SYSTEM:xbin/bb/busybox
delete DATA:app_s/MarketEnabler.apk

Creating goldcard is to avoid region (customer id) check ONLY.

But goldcarding keeps company with way to get new ROM - this thing confuse all often)

If you have modified recovery, doesnt matter what CustomerID do you have.
[Click Android Development] Coburn64:
AFAIK and also mainfram3 can back me up on this, is that updater-script uses a 1.6 syntax like ui_write(), format(MTD,'system') etc unlike 1.5 which uses a basic format, with format SYSTEM: etc etc.

This leads us into the grey area, what commands do we have? Is there some that will damage the device? What does update-binary do exactly (I know it updates the ROM, dur :p, but what exactly).

Unless we can back port 1.5 script syntax to work with mainfram3's custom recovery, it looks like we're limited to trial and error.
[Click Android Development] mainfram3:
Update-binary

These are the functions available in update-binary, through the use of the updater-script:

void RegisterInstallFunctions() {
RegisterFunction("mount", MountFn);
RegisterFunction("is_mounted", IsMountedFn);
RegisterFunction("unmount", UnmountFn);
RegisterFunction("format", FormatFn);
RegisterFunction("show_progress", ShowProgressFn);
RegisterFunction("set_progress", SetProgressFn);
RegisterFunction("delete", DeleteFn);
RegisterFunction("delete_recursive", DeleteFn);
RegisterFunction("package_extract_dir", PackageExtractDirFn);
RegisterFunction("package_extract_file", PackageExtractFileFn);
RegisterFunction("symlink", SymlinkFn);
RegisterFunction("set_perm", SetPermFn);
RegisterFunction("set_perm_recursive", SetPermFn);

RegisterFunction("getprop", GetPropFn);
RegisterFunction("file_getprop", FileGetPropFn);
RegisterFunction("write_raw_image", WriteRawImageFn);
RegisterFunction("write_firmware_image", WriteFirmwareImageFn);

RegisterFunction("apply_patch", ApplyPatchFn);
RegisterFunction("apply_patch_check", ApplyPatchFn);
RegisterFunction("apply_patch_space", ApplyPatchFn);

RegisterFunction("ui_print", UIPrintFn);
}

Attached to this post you'll find the source to update-binary, from the Android 1.6 SDK.

Hope this helps!
[Click Android Development] mikifafi:
Thank you very very much mainfram3.

With this information I think I would be able to build a update.zip with a working ROM (finally!!).

I will upload it.
[Click Android Development] dthomasen:
Can't get the download links to work... Page cannot be found :(
[Click Android Development] pablormago:
Hey mikifafi, how about a tutorial about how did you do this rom customization??

Thanx in advance
[Click Android Development] mikifafi:
¿A new working ROM?

Finally I was able to upload the version 1.2 of this ROM.

I have changed the updater-script, so it must flash now. If it does, you will have a bit faster rom than the original without the slow Sense UI.

You can download it from the first post of this topic: xdaforums.com/showthread.php?t=643368

Please, if someone tries it, post your results :)

P.S.: Dropping my "favourites" about rom cooking into a text file to post it here later.
[Click Android Development] dthomasen:
Downloading right away :D Will post back with results.

Btw. Love your new uploading page :rolleyes:

thanks for your work!
[Click Android Development] chusen:
worked!!! i go to test,after i publish my comments

Thanks for you work
[Click Android Development] dthomasen:
Works here too! :D

Seems fast at first sight. Will test more and return :)
[Click Android Development] mikifafi:
Thank you very very very much chusen and whooper90 for trying it in your devices!!

I'm very happy of seeing that it works!!!

Now I notice that I forgot to completely remove Sense UI (it is just desactivated, isn't it?). I will change it and also will remove some not-free apps that shouldn't be there.

Can any of you try to run "busybox --initial" to install busybox, please?

Now, the list of links about cooking ROMs:

[HOWTO] Create your own boot/recovery images.
xdaforums.com/showthread.php?t=641731

[GUIDE] How to create a your own ROM
xdaforums.com/showthread.php?t=566235

Custom boot.img
xdaforums.com/showpost.php?p=5784735&postcount=35

[How to] Rom cooking
xdaforums.com/showthread.php?t=551711

[HOWTO] Rom cooking
htcpedia.com/forum/showthread.php?t=1404

All I ever wanted in life is to be able to cook an Android ROM -Part One-
androidspin.com/2010/01/27/all-i-ever-wanted-in-life-is-to-be-able-to-cook-an-android-rom-part-one/

Thank you all the people from xda-developers and htcmania that have been working on the tattoo. Without them, building a custom rom wouldn't have been posible. I have just followed their steps.
[Click Android Development] svprm:
Thanks man for your links.

Now i'm going to download your rom.
[Click Android Development] HTCDevil:
Thanks for your new 1.5 rom with dalvik ;)

edit: installing...

edit2: always the same...android process kill at startup..damn...i have no idea of that...maybe microsd needs to be formatted..
[Click Android Development] manuvaidya:
no, did you wipe the dalvik cache before updating to 1.5 ???

i also got the same error, but when i wiped dalvik cache before installing 1.5, i didnt get any error.... just try this & let me know if i can be of any help to you regarding this issue....
[Click Android Development] HTCDevil:
I have done wipe data/cache and dalvik...

No way for me...damn...why???
[Click Android Development] manuvaidya:
it worked for me... i think you should start from the beginning after formatting the sdcard & creating gold card, then flash with RUU ROM, then u install this custom ROM.... lets see if that works for u or not....

keep the results posted here...
[Click Android Development] manuvaidya:
i have one problem here. after installing so many apps, now the phone memory is very low.... its giving me a warning....

i used apk installer to install apps. i dont know where is the installation path of these apps.

how do i check it ??? how do i move these apps from phone memory to card memory if its installed on the phone ???

i am aware of the function that apps2sd is provided in this version of ROM....

someone please guide me how to safely export apps from phone memory to sdcard so that i will not spoil the apps working condition & it will improve the phone memory....:confused:
[Click Android Development] thacen:
I have disabled the notifications and auto-retrieve, then notification of message is not showing again now only handcent but still all received SMS are doubled.:mad:

:o I didnt wiped anything.. I think all partitions are formated while installing this rom. I didnt take backup nor any restore after installation too. Do I miss something??:confused:
[Click Android Development] babyskill:
Thanks for 1.5 :D
[Click Android Development] HTCDevil:
Thanks manu, this is the second time i have flashed that rom from the beginning...i think my problem is microsd only. I don't need goldcard, but thanks :)
[Click Android Development] suoko:
it looks like we're having the same issue (i didn't try latest rom, but i'll stick to fyodor until 2.1 release)

do you have a sandisk SD card ? i have that
[Click Android Development] HTCDevil:
Yes, i have...do you think is it the cause of problem?
[Click Android Development] suoko:
Sure.

2.1 is gonna be ready soon.

They're entering gps Sats now.

It's a question of a few days and everything will be available
[Click Android Development] HTCDevil:
That's a good news :)
[Click Android Development] lastseptember:
download links are broken :(
[Click Android Development] maninhas:
why am i losing space on phone memory shouldnt appl go to sd card????? im using 1.5
[Click Android Development] thacen:
I installed 1.5 and now battery life seems to worsen, any solution plz??

I installed sense UI too.. is it because of that??
[Click Android Development] ariewtf:
links are broken
[Click Android Development] kashishd:
download links

Hey, kindly upload the files on another server, this one says it is down and some files can't be restored.

Thanks :)
[Click Android Development] obym:
hey, could anyone fix the download links, please? :)
[Click Android Development] bladez:
+1. Can someone reupload please?
[Click Android Development] djemm1996:
reupload please. :)

need link update ! ;)
[Click Android Development] Coburn64:
Hm, sadly it looks like this ROM is dead. Is the author okay?
[Click Android Development] mikifafi:
I'm too busy to even visit the forum... I have to say sorry to you all... I'll return in July ;)

Thanks for asking Coburn!

Version 1.5 and SenseUI Patch reuploaded! (first post)
[Click Android Development] quejodio:
Thanks.

Has anybody test the bluetooth conection with handsfree? The last one had problems. the sound was lost after 2 seconds of connection..

Version 1.5 and SenseUI Patch reuploaded! (first post)[/QUOTE]
[Click Android Development] bladez:
Will you update your ROM when you come back? :)

We all hope so!
[Click Android Development] SCaDo:
thanks you for ur hard work
[Click Android Development] liderzre:
Now is July. Where are you? :rolleyes:
[Click Android Development] DeeFolt:
Thanks for the update, i'm gonna try this rom. post some bugs here soon.:D
[Click Android Development] manilu001:
this last 1.5 isn't working stuck on tattoo screen for 15 min any ideas?
[Click Android Development] chusen:
i have a problem.....wifi is not working,detect networtks but can´t connect, i.ve tried with my network and my neighbor's network :), please try to find the problem an correct.

Again thanks for you work
[Click Android Development] life02:
Another successful flash here... but I am unable to run "busybox --initial"

Which dir do I need to be in to run it?
[Click Android Development] mikifafi:
I think it is a problem in relation with wpa_supplicant.conf. I changed to use it with my AP and I didn't remember to change it.

In next build I'll fix it ;).

EDITED: wpa_supplicant.conf isn't causing the problem... I don't know why it is happening... Nothing else where changed... Do you have errors in dmesg or some log?
[Click Android Development] LordGiotto:
@Mikifafi:

What do you mean with "ALL apps in the market"?

Have you found a way to hack the market and see also no QVGA compatible apps?
[Click Android Development] mikifafi:
I changed the way the phone is "seen" by the Market. It should be now identificated as a Magic...

I really don't know how try if this is working in a correct way... Does anyone know an app which is not in the market with the original rom? We could try to search for it with this rom.
[Click Android Development] LordGiotto:
Two exemples of apps non present in Tattoo market:

- Gem Miner

- Facebook for Android

Please, can you explain how have you hacked the market? :)
[Click Android Development] shyamk:
editing this file did not seem to work. I am unable to connect to wlan's. Any ideas.

Thanks a bunch for the rom though. It bought back my phone from bricked state.
[Click Android Development] life02:
Market hack is not working for me. Did you change the build.prop fingerprint like on the Italian android forum?

Can't seem to find /data/local/busybox either

C:\adb>adb shell /data/local/busybox --install
/system/bin/sh: /data/local/busybox: not found

C:\adb>adb shell
/ # cd data
cd data
/data # cd local
cd local
/data/local # ls
ls
rights tmp
[Click Android Development] mikifafi:
Yes, i changed the fingerprint, but it is not working...any ideas?

Still looking for a fix for wifi... it's strange because wpa_supplicant.conf was the only thing i have changed (in relation to wifi)...
[Click Android Development] life02:
I tired changing the fingerprint in the stock rom but I couldn't get it to work either... I'll see if I can't take closer look at it when I get off work
[Click Android Development] shyamk:
The way I see it, it fails while trying to get an ip address. That could mean that there is some issue with the dhcpcd, which is what is most commonly used in these systems.

Let me see what I can do for this.

Can anyone post their wpa_supplicant.conf from an original tattoo ?
[Click Android Development] mikifafi:
As chusen has told me, the problem is not with the wpa_supplicant.conf.

If you set the WIFI settings MANUALLY it works. As shyamk says, it seems that there is some problem with dhcpd.
[Click Android Development] shyamk:
Instance 1:

<6>[ 1861.690368] TIWLAN: Driver loading

<4>[ 1861.690917] wifi_probe

<6>[ 1861.691284] bahamas_wifi_power: 1

<6>[ 1862.164398] bahamas_wifi_reset: do nothing

<6>[ 1862.164642] bahamas_wifi_set_carddetect: 1

<7>[ 1862.165039] mmc0: card_present 1

<6>[ 1862.165252] mmc0: Slot status change detected (0 -> 1)

<3>[ 1862.273590] mmc0: Command timeout [cmd=8 cs=0x4]

<4>[ 1862.281158] mmc0: card claims to support voltages below the defined range. These will be ignored.

<4>[ 1862.281646] mmc0: SDIO card claims to support the incompletely defined 'low voltage range'. This will be ignored.

<6>[ 1862.284942] mmc0: new SDIO card at address 0001

<6>[ 1862.290039] TIWLAN: Found SDIO controller (vendor 0x104c, device 0x9066)

<6>[ 1862.291107] tiwlan0 (): not using net_device_ops yet

<6>[ 1862.294738] TIWLAN: Driver initialized (rc 0)

<4>[ 1862.295440] TIWLAN: 1251 PG 1.2

<6>[ 1862.295898] TIWLAN: Driver loaded

Instance 2:

<6>[ 2539.323852] TIWLAN: Driver loading

<4>[ 2539.324371] wifi_probe

<6>[ 2539.324615] bahamas_wifi_power: 1

<6>[ 2539.797119] bahamas_wifi_reset: do nothing

<6>[ 2539.797546] bahamas_wifi_set_carddetect: 1

<7>[ 2539.797760] mmc0: card_present 1

<6>[ 2539.797973] mmc0: Slot status change detected (0 -> 1)

<3>[ 2539.903594] mmc0: Command timeout [cmd=8 cs=0x4]

<4>[ 2539.909881] mmc0: card claims to support voltages below the defined range. These will be ignored.

<4>[ 2539.910675] mmc0: SDIO card claims to support the incompletely defined 'low voltage range'. This will be ignored.

<6>[ 2539.914215] mmc0: new SDIO card at address 0001

<6>[ 2539.919097] TIWLAN: Found SDIO controller (vendor 0x104c, device 0x9066)

<6>[ 2539.921081] tiwlan0 (): not using net_device_ops yet

<6>[ 2539.924591] TIWLAN: Driver initialized (rc 0)

<4>[ 2539.925506] TIWLAN: 1251 PG 1.2

<6>[ 2539.925781] TIWLAN: Driver loaded

<4>[ 2542.380706] msmfb_start_dma 22.705 ms after vsync request

<4>[ 2576.583679] msmfb_start_dma 23.468 ms after vsync request

<4>[ 2576.793090] msmfb_start_dma 28.594 ms after vsync request

Here is the dmesg. It looks like bahamas_set_wifi card detection detects an sdcard instead of wifi card !!! ;-)

Shyam
[Click Android Development] life02:
I had 2 copies of Maps after updating google maps in the marketplace...

I did a

# cd /system/app
cd /system/app
# rm Maps.apk

To remove the spare Maps icon.
[Click Android Development] suoko:
here is the original wpa_supplicant

# cat wpa_supplicant.conf

update_config=1

ctrl_interface=tiwlan0

eapol_version=1

ap_scan=1

fast_reauth=1
[Click Android Development] mikifafi:
I think that's ok: en.wikipedia.org/wiki/Secure_Digital_card#SDIO

Giving the right permissions to: /system/etc/dhcpcd/dhcpcd-run-hooks maybe could solve the problem.
[Click Android Development] shyamk:
Voila !!

chmod 755 /system/etc/dhcpcd/dhcpcd-run-hooks.

That solved the problem. wifi in full glory.

Thank you for the custom rom.

It got my phone back from the dead.

Shyam
[Click Android Development] life02:
New version working great!
[Click Android Development] huetson2:
wifi up and running, thanks a lot indeed shyam.

rom looking good very good too so far, thank very much mikifafi for your hard work.

no major issues, locale is outdated so have removed, and had a force close when trying to access network settings through battery widget.

java app - never used it on android. is there any file specifics i need to consider?

bluetooth connects perfectly to my headphones (a must) - something which was a huge pain with the majority of roms for the htc magic at the start

cannot wait for more, greedy i know.
[Click Android Development] huetson2:
just wondering is sense totally removed or disabled by default?

and apart from wifi fix are there any other noticeable changes, just checking before going ahead

thanks in advance
[Click Android Development] mikifafi:
In version v1.2: If you wipe /data before installing the ROM you will be asked to choose between Sense UI or classical Android UI. You'll have to manually fix permissions for wifi.

In versión v1.3b: Sense UI and Sense widgets have been completely removed to safe space in /system. If you choose Sense UI, you won't be able to have it because it is NOT in the ROM.

Wifi is fixed in this version...and Locale is not longer in it (it is paid software).

If you want to be completely sure that your tattoo won't brick, flash v1.2 because it has been more tested.
[Click Android Development] life02:
Looks like the Calendar widget might be broken in 1.3
[Click Android Development] huetson2:
1.3b done and still have my tattoo - all looks spot on (calendar widget issue as reported but can rectify)

thanks again
[Click Android Development] suoko:
OT: contacts backup before flashing

i found out that google is not syncing all contacts i have in my phone but i found an app called mybackup which back them all up to your sd card.

gonna try it now although a 2.1 version is already in the kitchen :)
[Click Android Development] Coburn64:
Looks like you've beat me to the finishing line with a fully working ROM, which makes AzusaROM look defunct. Oh well, I guess I'm still a learner. :(

EDIT: Calendar widget is always broken, even on stock ROM.
[Click Android Development] life02:
Calendar widget opened for me in 1.2
[Click Android Development] suoko:
succesfully flashed 1.3b

i didn't wipe data before, as a matter of fact i found all my apps and contacts installed as before.

But i can confirm htc sense UI is not present anymore (i can say that since i have a noisy bug now: i'm always asked which home to use :-( )

I lost all startup auditor configuration but that's fine

Can also confirm it worked without the goldcard process (which I skipped since too long)

waiting for 2.1
[Click Android Development] liderzre:
when unziping file, i have two files with same name in system/lib/ liba2dp.so and libA2DP.so (difrent sizes). what should i do. Overwrite or rename or ?:confused:

How to flash?
[Click Android Development] cn.fyodor:
updater-script

Hi,

Thanks for your hard work. I have created my own ROM, which not containing *Wid*.apk/*wi*.apk/Rosie.apk and /system/app symlinked to /data/app_s and /system/framework to /data/framework_s. It works! :D

But I found an issue about updater-script 'cauze the /data partition had not been formatted successfully and my old config files and *.apks always been there. Maybe format("MTD", "userdata") should be used instead. "cat /proc/mtd" will produce "userdata", not "data", right?

PS: I didn't use mf3' boot/recovery.img since backup/restore.sh scripts in his recovery.img were incomplete. Mine is attacked.

EDIT: format("MTD", "userdata") and mount("MTD", "userdata", "/data") confirmed. :)
[Click Android Development] 5[Strogino]:
No rename, no overwrite! They must be in ROM together!

In Linux they are normally managed, but Windows thinks what they are same - Hello Billy)))
[Click Android Development] gengaro:
Man this is simply awesome, I'm gonna test this ROM in the afternoon.

You're gonna be our new hero :P

There's just a thing I'd like to see in this custom rom, is it possible to remove the black top bar and use the Android stock one? I personally hate that glossy black :P

Thanks in advance!
[Click Android Development] dancer_69:
Successfully updated to 1.3 version, calendar widget doesn't work though. Was working fine on stock rom. But seems to be smooth and fast, thanks.