CDMA Google-Experience Phone On The Way!

Posted on August 12th, 2009 in Android News by Disconnect  Tagged , , , , , , , , , , ,

Putting together some pieces off the mailing lists, it looks like someone is working on a CDMA “Google-experience” phone. I’ve got your likely specs below. No word on carrier, no blurrycam pics, no FCC filings. Just the hints.

Android and Open Source

Posted on April 2nd, 2009 in Android Hacking, Android News by Disconnect  Tagged , , , , , , , , ,

A lot of noise has been made recently about Android and it’s degree of “openness” (from both sides of the argument.) If you follow me here, or on the lists, or on twitter, etc, you probably already know I have strong feelings on the matter. Although I don’t usually write articles for this site (mostly it is just announcements) I had this one that I didn’t post to the lists. (It got away from me, and was mostly off-topic to the discussion.) I liked it enough to finish it, and so here you go. My take on Android, open source, and how we get this thing from a toy up to world domination.

Quickie: HTC Magic Code Appearing

Posted on February 18th, 2009 in Android Hacking, Android News by Disconnect  Tagged , , , , , , , ,

So everyone is talking about the “G2″ (now revealed to be the Vodafone HTC Magic). Pictures, video, comment after comment.. well, here is something real for you. The first set of kernel patches just appeared in git! (Thanks to my tipster for the .. um.. tip :) .. And a big thanks to Google for getting something right – public open source code should always come before public binaries.. a lesson some other companies should take to heart..ahem*tivo**ahem..)

Today’s New Images Are Up

Posted on February 2nd, 2009 in Android Hacking by Disconnect  Tagged , , , , , , , , , ,

And – according to the checkin logs – we’re almost up to an actual working system :) Bluetooth works, wifi works, now GPS works and maybe even hardware-accelerated GL! :)

New, Future-proofed Pre-Cupcake Checkout

Posted on January 22nd, 2009 in Android Misc by Disconnect  Tagged , , , ,

The original method of getting a pre-cupcake tree only worked until the second cupcake merge was done. But now, thanks to JesusFreke, it is again possible to get the pre-cupcake tree.

My Master/Cupcake Images

Posted on January 16th, 2009 in Android Hacking by Disconnect  Tagged , , , , , , ,

So rather than continuing to update post after post after post, here is a page where you can find my cupcake images, and any changelogs I might have, from newest to oldest.

Fastboot Cheat Sheet

Posted on January 16th, 2009 in Android Hacking by Disconnect  Tagged , , , , , , , , , , ,

Just a quick list of some common tasks in fastboot. Please feel free to add more in the comments. I’ll keep this up to date as I go.

This assumes you have an engineering bootloader installed – ADP users have one already, everyone else can get one here: SPL Bootloader (1355)

Getting Started:

Getting FASTBOOT mode:

The first and most important bit of advice. :) Simply boot with ‘camera’ held down and when you see the Androids on skateboards image (it will probably say “SERIAL0“) plug in the usb and hit the ‘back’ button. It will think for a second and change to “FASTBOOT“. Now it is ready for the commands! (I have had success doing this with usb plugged in the whole time, but others haven’t. If you have trouble, try it w/ usb unplugged until you see the skateboards screen.)

Leaving FASTBOOT:

To get out, either run

fastboot reboot

or, if you don’t have the client, hit MENU+SEND+END all at once.

Getting a FASTBOOT Client:

You can build it – it is built as part of the Android source and will be left in out/host/{os}_{arch}/bin/fastboot. Alternately, HTC provides binaries on their dream update page for most architectures.

General/Simple Tasks:<

Flash All Partitions:

This looks for image files in the current directory, or in the appropriate out/target/* directory and it even reboots the phone automatically. This is what you want if you just did a full build of AOSP and have all the supporting files, etc.

$ fastboot flashall

Flash a Partition:

It is reported that it checks size, although I wouldn’t count on it if I didn’t have to. Here is how you flash a single partition:

$ fastboot flash {partition} {file.img}

Erase a Partition:

You can do this before flashing, or to blank it out – its not generally needed except for boot (to force recovery boot or do kernel work) or to wipe userdata for a factory reset:

$ fastboot erase {partition}

Flash a New Boot Splash Image:

If you want to replace the white “T-Mobile G1″ or initial “Android” logo:

$ fastboot flash splash1 {file.rgb565}

Note that you need a properly formatted file for this – check out this article for info.

Partitions:

splash1: 300k (320×480x2), used for the “T-mobile G1″ image. See here to customize it.
boot: (size?) Holds boot.img (the kernel and initrd.) If you don’t already have a boot.img prepared, you can do it the easy way:

fastboot flash:raw boot {kernel} {initrd}

recovery: (size?) Holds recovery.img (a kernel and initrd) used for rebuilding/updating the system.
system: 70 megs, holds the Android platform. Mounted read-only under normal use.
userdata: 76 megs, Holds all the user applications and data. Reset the phone to factory by erasing it. (Sometimes referred to as ‘data’)
cache: 70 megs, supposed to be temporary storage (/cache) but actually never used except by T-mobile OTA updates.

Common Scenarios:

Kernel Development:

(Suggested/used by swetland, a googler of highest cool.)

$ fastboot erase boot
$ fastboot erase recovery

Now your phone will stop at the color bars (or skateboard, in this case) every time. Bad for production, but good for development. To test a kernel, simply run

fastboot boot {kernel} {ramdisk}

Once you have a kernel/ramdisk you like, use [code]fastboot flash:raw boot {kernel} {ramdisk}
[/code] and it will save you a trip to mkbootimg. (It does it magically.)

Flashing A Set of Yaffs Images:

(EG a nandroid backup, or a master image.)

$ fastboot flash system system.img
$ fastboot flash boot boot.img
$ fastboot flash userdata userdata.img

(You can add “-w” to one of those to erase userdata if you want. This will wipe out all your data though..)

The Full Usage Doc:

usage: fastboot [ <option> ] <command>
commands:
update <filename>                        reflash device from update.zip
flashall                                 'flash boot' + 'flash system'
flash <partition> [ <filename> ]         write a file to a flash partition
erase <partition>                        erase a flash partition
getvar <variable>                        display a bootloader variable
boot <kernel> [ <ramdisk> ]              download and boot kernel
flash:raw boot <kernel> [ <ramdisk> ]    create bootimage and flash it
devices                                  list all connected devices
reboot                                   reboot device normally
reboot-bootloader                        reboot device into bootloader
options:
-w                                       erase userdata and cache
-s <serial number>                       specify device serial number
-p <product>                             specify product name
-c <cmdline>                             override kernel commandline
-i <vendor id>                           specify a custom USB vendor id

Cupcake on G1/ADP1

Posted on January 14th, 2009 in Android Hacking by Disconnect  Tagged , , , , ,

Thanks to the tireless (if occasionally sarcastic) work of jbq, you can now build cupcake for the G1/ADP1! (Which means it is now at least mostly capable of what google sold it for – platform development and testing.)

Update: wifi works now :)

Update 2: images attached (updated 2009-01-16 with newest fixes)

Update 3: This page has a new home :)

(bigger, since people miss it :) ..)

Quickie: Revert code to pre-cupcake-merge

Posted on January 6th, 2009 in Android Misc by Disconnect  Tagged ,

If you want to build anything for an existing image, you need to get back to the pre-cupcake merge. And irc user haakjes figured out how :)

Compiling Your Own G1 Kernel Modules

Posted on December 6th, 2008 in Android Hacking by Disconnect  Tagged , , ,

I promised to talk about building the tethering binaries instead of using mine, so here you go. Most of it is built as part of the Android source build (and all of it comes from the upstream Android sources) so I’m just going to cover the more general case of building kernel modules for the G1.