[Touch Dual, MDA Touch Plus ROM Development] kvstrien:
Done a lot of reading in Polaris development thread and in IRC logs, now start to see the difficulty why Android development isn't yet "possible".

Just to make it easier to start developing for idiots like me (who don't understand that you need to read a whole Polaris thread before you should be able to understand the basic problems in Nike developing)

To be short: kernel isn't ready yet

When the kernel is ready it's quite easy to get any Linux version running. For some "devices" on the Niki drivers must be written.

Drivers that need to be written include the SD reader. At this moment, DZO is writing a driver for the SD reader in the HTC Kaiser (which is the same). It is expected to be ready in January (2009).

Another driver that isn't ready yet is the USB driver - so we can't access the device via SSH or rlogin on it once we got a Linux version running.

For our device (the HTC Nike) also some other parts need to be re-written - because at this moment several lines are wrong "connected" to the kernel (example: power-button is thought to be a SD-slot button). This is referred to as the "board". When you've got the source code: in the directory kernel/arch/arm/mach-msm you've got several "board-" files. Those are the one that need to be changed.

On the Polaris (who doesn't have a keyboard at all) they're developing an on-screen keyboard (which would be very nice for us, because you'd be able to use the shell even before the board is rewritten for our wiring). That on-screen keyboard however is called into action by pressing the camera button :-).

"But", you might ask, "we've got all this HaRET stuff about loading in RAM directly - in that case we don't need any SD, USB or keyboard to get Android running, do we?"..

HaRET is a Linux Bootloader which loads a Linux system into RAM. Problem is, RAM isn't too large - so the full Android 1.0 SDK won't fit. THAT is why we will need a SD-card reader before we will be able to boot Android in a more decent version that the 0.8 early development. And booting an operating system we can't operate (because we can give no input to it yet using either USB or keyboard, we can't test yet)

Maybe our "nasty" development situation is somewhat more clear now.

But: we CAN get a Linux version booting on our phone (however, we cannot operate with it yet, because we have no ways to put our input on the screen). Because Android 1.0 can't be booted yet (and because during development you don't want a shiny GUI but you want to see what's going on) we should use another Linux version, which will fit in the RAM (and doesn't have a GUI). If the kernel will be finished, it can be used for Android too (because Android is only software running on the kernel). This version is called Angstrom.

You will get Angstrom booting by following next instructions:

- download bootkit:

http://linuxtogo.org/~lgorris/kaiser-bootkit/angstrom-20081127.cpio.gz

copy it to your SD card and rename it to initrd-angstrom

- set up your default.txt like this:

set RAMSIZE 0x07800000
set MTYPE 1723
set KERNEL zImage
set initrd initrd-angstrom
set cmdline "rw mem=128M"
set fbduringboot 0
boot

- download the zImage:

http://rapidshare.com/files/171893722/zImage.html

- run with HaRET

Of course you can also try the 0.8 Android version by using earlier posted instructions :-).