Giving up

I bricked it for the last time, decided to get another phone instead.

Hopefully what I've posted, which seems to be more than anyone else has, will help others develop something for the Garminfone.

Enable Live Wallpapers for the Garminfone!

Due note, that you WILL notice a hit in performance. You've been warned!

1. Download this Zip from here: and extract to your SD card.

2. Using a file manager with Root access, copy
3. Paste and overwrite those files into
4. Copy LiveWallpapersPicker.apk from
5. Paste into
7. Grant LiveWallpapersPicker.apk these permissions
User Read/Write
Group Read
Others Read
8. Copy from
9. Paste into
10. Reboot and enjoy!

How To: Build Garmin-Asus Kernel from Source

So, here's a short how to for compiling the source code provided by Garmin-asus. Please note there may be a step or two missing. I'll be updating this later when I get a chance to start from scratch and compile a better How To.

The originial directions for porting a kernel can be found here:

1. Download the v.5.0.70 kernel source from garmin-asus.
Which can be found here:

# curl >~/bin/repo
# chmod a+x ~/bin/repo
# mkdir <Android source dir> && cd <Android source dir>
# repo init -u git:// -b froyo
# repo sync
# export PATH=$PATH:~/<Android source dir>/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin
3. Copy the kernel folder from Garminfone_T-Mobile_5.0.70.tar.gz.
4. Place it in <Android source dir>
5. Rename it, 'asus-kernel'
# export ARCH=arm
# export CROSS_COMPILE=arm-eabi-
# export KERNEL_DIR=/full/path/to/asus-kernel
7. Download my found in my post:
8. Extract asus_defconfig
9. Place asus_defconfig in <Android source dir>/asus-kernel/arch/arm/configs
# cd <asus-kernel source dir>
# make asus_defconfig
It should work, I pulled what I did from memory. So like I said, if you're having issues, give me some time to get together a better How To.

ROM Dump for Garminfone A50, 2.1-update1, Kernel v2.6.29

Here's a 'ROM dump' of the Garminfone A50, 2.1-update1, kernel v2.6.29. I compiled the zImage/Image from the source code released by garmin-asus using asus_defconfig(pulled and renamed from config.gz).

The files contained in this zip are:

I'd also like to point out my objective is to get CyanogenMod 6/7 on our Garminfones. I could absolutely care less about the Garmin Navigation features at this point.

Porting Clockwork Recovery to our Garminfone

Follow my post about Creating your Environment for CyanogenMod.
Once you've finished that, you're ready to begin.

Also take note that I'm switching in between host OS and virtual machine OS.
Windows 7 Pro is my host, while Ubuntu 11.04 is on a VM. Assume I'm using Ubuntu if I haven't specified I'm on Windows.

Getting Started

$ cd /home/<USER>/Android/CyanogenMod/
$ make -j<number of processor cores + 1> otatools
Gathering the Required Files
We'll be using Windows for these next steps.
Using a Terminal Emulator on your Garminfone. 
# cat /sdcard/install > /data/local/install
# chmod 04755 /data/local/install
# /data/local/install
Android ROM dumper v0.72b
(c)2010 Sebastian404
romdump installed.
# /system/bin/romdump
Let it finish, it will take a minute or two.
Android ROM dumper v0.72b
(c)2010 Sebastian404
Device : ERE27

Creating required files... done.
Opening mtd table... done.
Dumping kernel config... done.
Dumping boot partition... done.
Dumping recovery partition... done.
Dumping system partition... done.
Creating Checksums... done.
Cleaning up... done.
All done.
The files we need will be on the sd card of our Garminfone.
Copy the folder ERE27 to our Ubuntu environment...
Creating the Recovery
Back into Ubuntu for these steps.
$ cd /home/<USER>/Android/CyanogenMod/
$ PATH=/home/<USER>/Android/CyanogenMod/out/host/linux-x86/bin:$PATH
$ . build/
$ build/tools/device/ garmin-asus a50 /home/<USER>/Android/ERE27/boot.img
Output will be in /home/<USER>/Android/CyanogenMod/device/garmin-asus/a50
Use the following command to set up your build environment:
  lunch full_a50-eng
And use the follwowing command to build a recovery:
  . build/tools/device/ full_a50-eng
$ lunch full_a50-eng

So, before we run We have to make a correction real quick.
Browse to /home/<USER>/Android/CyanogenMod/build/tools/device/ and open Look for darwin-x86 and replace with linux-x86. Save and close.
$ . build/tools/device/ full_a50-eng
You should see this
Recovery FakeFlash is now available at /home/<USER>/Android/CyanogenMod/out/target/product/a50/utilities/
Now we have what we need, all in /home/<USER>/Android/CyanogenMod/out/target/product/a50. and recovery.img.

With that said and done. I haven't found a way to apply the, but I have found an alternitive method to getting us booting into clockwork recovery. That's for my next post though... =)

Creating your Environment for CyanogenMod

I'm really new to all of this. I only have a background in Development for C# and a bunch of Microsoft stuff. Nothing really Linux related. So tread lightly =)

Getting Started
I downloaded 64 bit Ubuntu 11.04 iso and created a Virtual Machine in VMWare Workstation. VMWare Player will suffice.

Initializing a Build Environment
Complete the sections for Installing the JDK and Installing required packages.

Downloading the Source
$ cd /home/<USER>/
$ mkdir /Android/
$ cd /home/<USER>/Android/
$ mkdir /CyanogenMod/
$ cd /home/<USER>/Android/CyanogenMod/
$ chmod a+x /home/<USER>/Android/CyanogenMod/
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl > ~/bin/repo
$ chmod a+x ~/bin/repo
$ repo init -u git:// -b gingerbread
The repo init will prompt you for your name and email address.
$ repo sync
The sync process will take about a half an hour.

Clockwork Recovery v2.5.0.1

Following the directions from here:

And several other places... Which I'll post about later!

I managed to whip up a functional CWR! Though, I say functional, because half of the screen is being blocked by a Garmin logo. But I have navigated through some of the menu options available.

For now I just wanted to provide some evidence that it works.

Follow the steps in the link below with the recovery.img contained in the

adb reboot recovery