Android almost successfully booted on HTC BlueAngel

124 views
Skip to first unread message

fbettag

unread,
Aug 3, 2008, 12:51:48 AM8/3/08
to Android Internals
Hey guys,

since the Emulator came out i've been amazed by Android and the Java
SDK - altho i hate Java but for that Purpose it's finally here for a
reason ;)

Basically i took an Angström HTC Kernel and used it with the
Instructions from the Nokia N810 Build and copied everything onto my
SD Card and used HaRET to boot off. Altogether it booted past the
Knight Rider and booted up Android somehow.

There are still errors coming up which i am going to debug tomorrow
(it's 06:48 AM in Germany right now so i will go to bed quite soon).

Here's a the Screenshot (including an Error): http://picpaste.de/IMG_0088.JPG

Tomorrow i'll try to make a working Android-Kernel-Config and build it
from hand, that's just gonna take it's time to find all the fitting
modules because even with Angström and the autobild Kernel i get
errors regarding sound.

So far gn8 guys!

Anyone else done something like that?

Josh Guilfoyle

unread,
Aug 4, 2008, 3:30:08 AM8/4/08
to Android Internals
The HTC Vogue has a quite evolved Android port at this point. Working
touch screen, radio, SD card, etc. It's available at:

http://it029000.massey.ac.nz/vogue/

Read the page carefully, the Updates are listed chronologically and
show the progress that has been made since originally announced 4
months ago. If you look at his kernel diff you can get a sense for
what areas to explore to improve support on the Blue Angel hardware
you have. HaRET is very useful for this indeed.

There does seem to be problems with certain applications on the Vogue,
but for the most part this is quite robust environment for testing.
Check out http://android-random.googlecode.com/ for some simple debug/
testing apps written to further explore Android on real hardware.

fbettag

unread,
Aug 5, 2008, 11:33:13 AM8/5/08
to Android Internals
By now i got Android UI booting perfectly (http://picpaste.de/
IMG_0093.JPG).

As you can see on the Screenshot, it boots fine. It also seems to get
interactions from the cursorpad i got in the lower center as i can
move down the 3 main entries as well as the turn off screen. All other
buttons don't do anything (not even the "enter" Button which is in the
middle of the cursorpad).

What i did:
- took the Kernel from handhelds.org (2.6.21-hh20) with
htcblueangel_defconfig
- patched it with http://android-on-n8xx.googlecode.com/files/linux-2.6.21_rx-34_android-m5-rc14-patch3.bz2
- i didn't find a plain patch so i applied this one. Benno's
android.diff is for 2.6.23 and causes some trouble.
- activated Android specific settings and compiled it
- created the userland-img like in http://www.alextreme.org/drupal/?q=android_on_n810
- copied the compiled busybox
- used haret to boot the kernel off the sd-card


There are 4 input devices found:
[ 1.040000] input: blueangelkb as /class/input/input0
[ 1.770000] input: gpio-keys as /class/input/input1
[ 2.110000] 9<6>input: tsc2200-keys as /class/input/input2
[ 2.160000] input: tsc2200-ts as /class/input/input3


Altogether i've put up two tbz2:

- http://evil-packet.org/android/vfat-bootloader-kernel.tbz2
Just copy this to the vfat partition (first partition) on your SD-
Card.
Android will autoboot as soon you plug the card into your BA.

- http://evil-packet.org/android/ext2-android-htc-blueangel-arm.tbz2
Copy it to the ext2 partition (second partition) on your SD-Card.
/bin contains busybox with the according symlinks.
I moved /init (android loader) to /sbin/android.
And i also cross compiled strace and dropbear (which doesn't work
yet).

My /sbin/init is to be customized with your own start-stop stuff.

If you boot Android while your BlueAngel is in it's USB Cradle and
your Linux Computer on the other end got USBnet (so that usb0 appears
on both devices), then my /sbin/init will configure usb0 with
192.168.1.201/24 and start telnetd. The default root password is
"android".

I think this is a fairly good base to start of hacking for this
device :) Let's do it.


Finally i got some questions google.com couldn't answer me:

- What ANDROID_ environment-variables are there?
- What does it take to make my TS Input Device (tsc2200) available?



Here are several outputs:

--- dmesg ---

<5>Linux version 2.6.21-hh20-omap1 (fbe...@jane.doe) (gcc version
4.2.3 (Sourcery G++ Lite 2008q1-126)) #5 PREEMPT Sun Aug 3 21:26:21
CEST 2008
<4>CPU: XScale-PXA255 [69052d06] revision 6 (ARMv5TE), cr=0000397f
<4>Machine: HTC Blueangel
<4>Memory policy: ECC disabled, Data cache writeback
<7>On node 0 totalpages: 32768
<7> DMA zone: 256 pages used for memmap
<7> DMA zone: 0 pages reserved
<7> DMA zone: 32512 pages, LIFO batch:7
<7> Normal zone: 0 pages used for memmap
<6>Memory clock: 99.53MHz (*27)
<6>Run Mode clock: 398.13MHz (*4)
<6>Turbo Mode clock: 398.13MHz (*1.0, inactive)
<4>CKEN=0x10a71 CKEN11_USB=0x800
<4>CKEN=0x10a71
<4>CPU0: D VIVT undefined 5 cache
<4>CPU0: I cache: 32768 bytes, associativity 32, 32 byte lines, 32
sets
<4>CPU0: D cache: 32768 bytes, associativity 32, 32 byte lines, 32
sets
<4>Built 1 zonelists. Total pages: 32512
<5>Kernel command line: root=/dev/mmcblk0p2 rootdelay=10
console=ttyS0,115200n8 console=tty0
<4>PID hash table entries: 512 (order: 9, 2048 bytes)
<4>Console: colour dummy device 80x30
<4>Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
<4>Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
<6>Memory: 128MB = 128MB total
<5>Memory: 126336KB available (2868K code, 502K data, 104K init)
<7>Calibrating delay loop... 397.31 BogoMIPS (lpj=1986560)
<4>Mount-cache hash table entries: 512
<6>CPU: Testing write buffer coherency: ok
<4>android_power_init
<4>android_power_init done
<6>NET: Registered protocol family 16
<6>[ 0.420000] asic3: using irq 108-177 on irq 26
<4>[ 0.430000] Initializing blueangel tsc2200 ssp... done
<4>[ 0.440000] tsc2200_probe: SPI: cr0 0000138f cr1 60000010 sr:
0000f024 it: 00000000 to: 00000000 ps: 00000000
<6>[ 0.470000] Bluetooth: Core ver 2.11
<6>[ 0.470000] NET: Registered protocol family 31
<6>[ 0.480000] Bluetooth: HCI device and connection manager
initialized
<6>[ 0.490000] Bluetooth: HCI socket layer initialized
<6>[ 0.510000] Time: pxa_timer clocksource has been installed.
<4>[ 0.520000] pxa2xx-udc-gpio: Generic driver for GPIO-controlled
PXA2xx UDC
<6>[ 0.530000] NET: Registered protocol family 2
<4>[ 0.640000] IP route cache hash table entries: 1024 (order: 0,
4096 bytes)
<4>[ 0.650000] TCP established hash table entries: 4096 (order: 3,
32768 bytes)
<4>[ 0.660000] TCP bind hash table entries: 4096 (order: 2, 16384
bytes)
<6>[ 0.670000] TCP: Hash tables configured (established 4096 bind
4096)
<6>[ 0.680000] TCP reno registered
<4>[ 0.720000] blueangel_lcd_init
<4>[ 0.720000] Blue Angel Board ID 0x6
<4>[ 0.730000] in blueangel_lcd_probe
<4>[ 0.740000] HTC Blueangel DS1WM driver
<4>[ 0.740000] blueangel_pcmcia_socket_init
<4>[ 0.750000] blueangel_pcmcia_configure_socket
<4>[ 0.760000] Reset:0 ,Vcc:0 ,Flags:0
<4>[ 1.030000] blueangel_pm_init
<4>[ 1.030000] retval=0
<6>[ 1.040000] input: blueangelkb as /class/input/input0
<5>[ 1.050000] Probing PXA Flash 1 at physical address 0x00000000
(32-bit bankwidth)
<4>[ 1.060000] mymtd=00000000
<6>[ 1.070000] ttyS8 at MMIO 0x10800000 (irq = 91) is a DPRAM
<4>[ 1.080000] dpram hwident: 'HTC-DPRAM ASIC P/N:30H80037-00-L'
<5>[ 1.090000] HTC Blueangel Phone Modem Driver
<6>[ 1.090000] PXA CPU frequency change support initialized
<4>[ 1.110000] NetWinder Floating Point Emulator V0.97 (double
precision)
<6>[ 1.120000] JFFS2 version 2.2. (NAND) (C) 2001-2006 Red Hat,
Inc.
<6>[ 1.140000] io scheduler noop registered
<6>[ 1.140000] io scheduler anticipatory registered (default)
<6>[ 1.150000] io scheduler deadline registered
<4>[ 1.160000] Corgi Backlight Driver Initialized.
<4>[ 1.170000] Found w3200 at 0x08000000.
<4>[ 1.210000] blueangel_pcmcia_configure_socket
<4>[ 1.220000] Reset:0 ,Vcc:50 ,Flags:0
<4>[ 1.230000] Console: switching to colour frame buffer device
60x53
<6>[ 1.250000] fb0: w100fb frame buffer device
<6>[ 1.400000] TI Calypso / HTC firmware GSM UART line discipline
ver 0.1<6>pxa2xx-uart.0: ttyS0 at MMIO 0x40100000 (irq = 15) is a
FFUART
<6>[ 1.420000] pxa2xx-uart.1: ttyS1 at MMIO 0x40200000 (irq = 14)
is a BTUART
<6>[ 1.440000] pxa2xx-uart.2: ttyS2 at MMIO 0x40700000 (irq = 13)
is a STUART
<6>[ 1.450000] pxa2xx-uart.3: ttyS3 at MMIO 0x41600000 (irq = 0) is
a HWUART
<6>[ 1.470000] pxa2xx-ir-serial: Initialized
<4>[ 1.480000] RAMDISK driver initialized: 4 RAM disks of 8192K
size 1024 blocksize
<6>[ 1.500000] loop: loaded (max 8 devices)
<6>[ 1.510000] tun: Universal TUN/TAP device driver, 1.6
<6>[ 1.520000] tun: (C) 1999-2004 Max Krasnyansky
<ma...@qualcomm.com>
<4>[ 1.530000] acx: this driver is still EXPERIMENTAL
<4>[ 1.530000] acx: reading README file and/or Craig's HOWTO is
recommended, visit http://acx100.sf.net in case of further questions/
discussion
<7>[ 1.560000] acxcs_init()
<6>[ 1.570000] I2C: i2c-0: PXA I2C adapter
<6>[ 1.580000] pxa2xx_udc: version 4-May-2005
<7>[ 1.600000] DPM: pda_udc: Turning off port
<4>[ 1.600000] ether gadget: using random self ethernet address
<4>[ 1.630000] ether gadget: using random host ethernet address
<4>[ 1.650000] blueangel_pcmcia_configure_socket
<4>[ 1.670000] Reset:1 ,Vcc:50 ,Flags:240
<4>[ 1.680000] blueangel_pcmcia_configure_socket
<4>[ 1.700000] Reset:0 ,Vcc:50 ,Flags:200
<6>[ 1.710000] usb0: Ethernet Gadget, version: May Day 2005
<6>[ 1.730000] usb0: using pxa2xx_udc, OUT ep2out-bulk IN ep1in-
bulk
<6>[ 1.750000] usb0: MAC 1e:bf:a5:a0:28:2d
<7>[ 1.770000] DPM: pda_udc: Turning on port
<6>[ 1.780000] input: gpio-keys as /class/input/input1
<4>[ 1.780000] pxa_gpiodev_get_value(8)
<4>[ 1.810000] Registering tsc2200 buttons driver
<5>[ 1.820000] pccard: PCMCIA card inserted into slot 0
<5>[ 1.840000] pcmcia: registering new device pcmcia0.0
<7>[ 1.860000] acx_attach()
<7>[ 1.860000] acx_cs_config(0xc0622600)
<6>[ 1.870000] MEMORY WINDOW FOUND!!!
<6>[ 1.880000] requesting Irq...
<4>[ 1.890000] pcmcia: request for exclusive IRQ could not be
fulfilled.
<4>[ 1.920000] pcmcia: the driver needs updating to supported
shared IRQ lines.
<4>[ 1.950000] blueangel_pcmcia_configure_socket
<4>[ 1.960000] Reset:0 ,Vcc:50 ,Flags:200
<4>[ 1.980000] blueangel_pcmcia_configure_socket
<4>[ 1.990000] Reset:0 ,Vcc:50 ,Flags:220
<7>[ 2.050000] RequestConfiguration OK
<4>[ 2.050000] acx: found ACX100-based wireless network card
<7>[ 2.070000] initial debug setting is 0x000A
<6>[ 2.070000] memwinbase=2c000000 memwinsize=4096
<7>[ 2.080000] using IRQ 40
<4>[ 2.110000] ACX radio type 0x0d
<7>[ 2.120000] requesting firmware image 'WLANGEN.BIN'
<4>[ 2.120000] 9<6>input: tsc2200-keys as /class/input/input2
<4>[ 2.150000] tsc2200_ts_probe IRQ: 39
<6>[ 2.170000] input: tsc2200-ts as /class/input/input3
<7>[ 2.190000] sa1100-rtc sa1100-rtc: rtc intf: sysfs
<7>[ 2.190000] sa1100-rtc sa1100-rtc: rtc intf: proc
<7>[ 2.200000] sa1100-rtc sa1100-rtc: rtc intf: dev (254:0)
<6>[ 2.200000] sa1100-rtc sa1100-rtc: rtc core: registered sa1100-
rtc as rtc0
<6>[ 2.230000] Driver for 1-wire Dallas network protocol.
<4>[ 2.250000] DS1WM w1 busmaster driver - (c) 2004 Szabolcs Gyurko
<4>[ 2.280000] blueangel_ds1wm: OWM_EN Low (active)
<6>[ 2.310000] 1-Wire driver for the DS2760 battery monitor chip
- (c) 2004-2005, Szabolcs Gyurko
<4>[ 2.340000] blueangel_set_charge: enabled=1
<6>[ 2.360000] APM Battery Driver
<6>[ 2.370000] Bluetooth: HCI UART driver ver 2.2
<6>[ 2.390000] Bluetooth: HCI H4 protocol initialized
<6>[ 2.400000] Bluetooth: HCI BCSP protocol initialized
<6>[ 2.420000] Registered led device: blueangel:red
<6>[ 2.440000] Registered led device: blueangel:green
<6>[ 2.460000] Registered led device: blueangel:phonebutt
<6>[ 2.480000] Registered led device: blueangel:vibra
<6>[ 2.490000] Registered led device: blueangel:kbdbackli
<6>[ 2.510000] logger: created 64K log 'log_main'
<6>[ 2.530000] logger: created 64K log 'log_events'
<6>[ 2.550000] logger: created 64K log 'log_radio'
<6>[ 2.560000] Advanced Linux Sound Architecture Driver Version
1.0.14rc3 (Wed Mar 14 07:25:50 2007 UTC).
<6>[ 2.600000] ASoC version 0.13.3
<6>[ 2.610000] UDA1380 Audio Codec 0.5<6>asoc: UDA1380 <-> pxa2xx-
ssp1 mapping ok
<6>[ 2.640000] asoc: UDA1380 <-> pxa2xx-i2s mapping ok
<7>[ 2.660000] uda1380: uda hw write 2 val 100
<7>[ 2.660000] uda1380: uda hw write 0 val 10
<6>[ 2.680000] ALSA device list:
<6>[ 2.690000] #0: Blueangel (UDA1380)
<6>[ 2.700000] TCP cubic registered
<6>[ 2.710000] NET: Registered protocol family 1
<6>[ 2.730000] NET: Registered protocol family 17
<6>[ 2.740000] Bluetooth: L2CAP ver 2.8
<6>[ 2.750000] Bluetooth: L2CAP socket layer initialized
<6>[ 2.770000] Bluetooth: SCO (Voice Link) ver 0.5
<6>[ 2.780000] Bluetooth: SCO socket layer initialized
<6>[ 2.800000] Bluetooth: RFCOMM socket layer initialized
<6>[ 2.810000] Bluetooth: RFCOMM TTY layer initialized
<6>[ 2.830000] Bluetooth: RFCOMM ver 1.8
<6>[ 2.840000] Bluetooth: BNEP (Ethernet Emulation) ver 1.2
<6>[ 2.860000] Bluetooth: BNEP filters: protocol multicast
<6>[ 2.870000] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
<6>[ 2.900000] XScale DSP coprocessor detected.
<4>[ 2.900000] pxa_gpiodev_get_value(8)
<6>[ 2.920000] sa1100-rtc sa1100-rtc: setting the system clock to
1994-09-02 12:07:13 (778507633)
<4>[ 2.950000] asic3_mmc: ASIC3 MMC/SD Driver, controller at
0xe000000
<4>[ 2.950000] pxa_gpiodev_get_value(8)
<4>[ 3.320000] pxa_gpiodev_get_value(8)
<6>[ 3.560000] Waiting 10sec before mounting root device...
<6>[ 4.500000] mmcblk0: mmc0:6f58 SD02G 2011136KiB
<6>[ 4.510000] mmcblk0: p1 p2
<6>[ 5.030000] usb0: full speed config #1: 100 mA, Ethernet Gadget,
using CDC Ethernet Subset
<4>[ 62.120000] acx: firmware image 'WLANGEN.BIN' was not provided.
Check your hotplug scripts
<4>[ 62.140000] acx: reset_dev() FAILED
<6>[ 62.160000] wlan%d: index 0x01: irq 40, mem
0x2c000000-0x2c000fff
<4>[ 62.220000] EXT2-fs warning: mounting unchecked fs, running
e2fsck is recommended
<4>[ 62.250000] VFS: Mounted root (ext2 filesystem).
<6>[ 62.270000] Freeing init memory: 104K


--- main --- (the binary stuff in the logs kinda f'ed it up)

.apk)ip_openZipFile(/system/app/Phone.apk)apk)mission
android.permission.ADD_SYSTEM_SERVICE to
android.server.PackageManagerService
$SharedUserSetting@4004f498anagerService$SharedUserSetting@4004f498
android.permission.INTERNAL_SYSTEM_WINDOW to
android.server.PackageManagerService
$SharedUserSetting@4004f498eManagerService
$SharedUserSetting@40067100rESS_ASSISTED_GPS to
android.server.PackageManagerService$SharedUserSetting@40067100

ng provider googleaccounts:
com.google.android.providers.googleapps.GoogleAccountsProvider statup
java.io.FileNotFoundException: /sys/android_power/battery_level
at
org.apache.harmony.luni.platform.OSFileSystem.open(OSFileSystem.java:
227)
at java.io.FileInputStream.<init>(FileInputStream.java:76)
at java.io.FileInputStream.<init>(FileInputStream.java:123)
at android.server.BatteryService.readLineFromFile(BatteryService.java:
225)
at android.server.BatteryService.getLevel(BatteryService.java:137)
at android.server.BatteryService.updateBattery(BatteryService.java:
111)
at android.server.BatteryService.<init>(BatteryService.java:97)
at android.server.ServerThread.run(SystemServer.java:159)

java.io.FileNotFoundException: /sys/android_power/battery_level_scale
at
org.apache.harmony.luni.platform.OSFileSystem.open(OSFileSystem.java:
227)
at java.io.FileInputStream.<init>(FileInputStream.java:76)
at java.io.FileInputStream.<init>(FileInputStream.java:123)
at android.server.BatteryService.readLineFromFile(BatteryService.java:
225)
at android.server.BatteryService.getScale(BatteryService.java:145)
at android.server.BatteryService.updateBattery(BatteryService.java:
112)
at android.server.BatteryService.<init>(BatteryService.java:97)
at android.server.ServerThread.run(SystemServer.java:159)

java.io.FileNotFoundException: /sys/android_power/battery_level_raw
at
org.apache.harmony.luni.platform.OSFileSystem.open(OSFileSystem.java:
227)
at java.io.FileInputStream.<init>(FileInputStream.java:76)
at java.io.FileInputStream.<init>(FileInputStream.java:123)
at android.server.BatteryService.readLineFromFile(BatteryService.java:
225)
at android.server.BatteryService.getRaw(BatteryService.java:153)
at android.server.BatteryService.updateBattery(BatteryService.java:
113)
at android.server.BatteryService.<init>(BatteryService.java:97)
at android.server.ServerThread.run(SystemServer.java:159)

java.io.FileNotFoundException: /sys/android_power/charging_state
at
org.apache.harmony.luni.platform.OSFileSystem.open(OSFileSystem.java:
227)
at java.io.FileInputStream.<init>(FileInputStream.java:76)
at java.io.FileInputStream.<init>(FileInputStream.java:123)
at android.server.BatteryService.readLineFromFile(BatteryService.java:
225)
at android.server.BatteryService.getState(BatteryService.java:161)
at android.server.BatteryService.updateBattery(BatteryService.java:
114)
at android.server.BatteryService.<init>(BatteryService.java:97)
at android.server.ServerThread.run(SystemServer.java:159)
00, error 99 (Cannot assign requested address)


le.android.home/com.google.android.home.NewHome} }
java.lang.IllegalArgumentException: Given thread does not exist
at android.os.Process.setThreadPriority(Native Method)
at
android.server.am.ActivityManagerService.updateOomAdjLocked(ActivityManagerService.java:
6782)
at
android.server.am.ActivityManagerService.updateOomAdjLocked(ActivityManagerService.java:
6900)
at
android.server.am.ActivityManagerService.updateLRUListLocked(ActivityManagerService.java:
834)
at
android.server.am.ActivityManagerService.realStartActivityLocked(ActivityManagerService.java:
880)
at
android.server.am.ActivityManagerService.attachApplicationLocked(ActivityManagerService.java:
2783)
at
android.server.am.ActivityManagerService.attachApplication(ActivityManagerService.java:
2851)
at android.app.ActivityThread.attach(ActivityThread.java:2955)
at android.app.ActivityThread.main(ActivityThread.java:3050)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:356)
at android.os.Process.invokeStaticMain(Process.java:253)
at android.os.Process.access$000(Process.java:42)
at android.os.Process$1.run(Process.java:220)
at java.lang.Thread.run(Thread.java:896)

java.io.FileNotFoundException: /sys/android_power/charging_state
at
org.apache.harmony.luni.platform.OSFileSystem.open(OSFileSystem.java:
227)
at java.io.FileInputStream.<init>(FileInputStream.java:76)
at java.io.FileInputStream.<init>(FileInputStream.java:123)
at android.server.BatteryService.readLineFromFile(BatteryService.java:
225)
at android.server.BatteryService.getState(BatteryService.java:161)
at android.server.PowerManagerService
$BatteryReceiver.onReceiveIntent(PowerManagerService.java:126)
at android.app.ActivityThread$PackageInfo
$ReceiverDispatcher.run(ActivityThread.java:482)
at android.os.Handler.handleCallback(Handler.java:455)
at android.os.Handler.dispatchMessage(Handler.java:78)
at android.os.Looper.loop(Looper.java:91)
at android.server.ServerThread.run(SystemServer.java:259)


ActivityThreadrvice} }: not found) returned Invalid argument service
com.google.android.providers.media.MediaScannerServiceice]
gtalkservice Startedign requested address)t, port=5900, error 99
(Cannot assign requested address)a_jni.so 0x0



After some time i get those which obviously is a sleep-handler:

java.io.FileNotFoundException: /proc/wakelocks
at
org.apache.harmony.luni.platform.OSFileSystem.open(OSFileSystem.java:
227)
at java.io.FileInputStream.<init>(FileInputStream.java:76)
at java.io.FileInputStream.<init>(FileInputStream.java:123)
at java.io.FileReader.<init>(FileReader.java:69)
at android.server.PowerManagerService
$WakeLockHistory.scanKernelLocked(PowerManagerService.java:945)
at android.server.PowerManagerService
$WakeLockHistory.run(PowerManagerService.java:893)
at android.os.Handler.handleCallback(Handler.java:455)
at android.os.Handler.dispatchMessage(Handler.java:78)
at android.os.Looper.loop(Looper.java:91)
at android.server.ServerThread.run(SystemServer.java:259)




Best regards

- Franz

On Aug 4, 9:30 am, Josh Guilfoyle <jast...@gmail.com> wrote:
> The HTC Vogue has a quite evolved Android port at this point.  Working
> touch screen, radio, SD card, etc.  It's available at:
>
> http://it029000.massey.ac.nz/vogue/
>
> Read the page carefully, the Updates are listed chronologically and
> show the progress that has been made since originally announced 4
> months ago.  If you look at his kernel diff you can get a sense for
> what areas to explore to improve support on the Blue Angel hardware
> you have.  HaRET is very useful for this indeed.
>
> There does seem to be problems with certain applications on the Vogue,
> but for the most part this is quite robust environment for testing.
> Check outhttp://android-random.googlecode.com/for some simple debug/

fbettag

unread,
Aug 4, 2008, 4:13:42 AM8/4/08
to Android Internals
Since this Post here didn't appear to be listed after somewhat 12
hours i rewrote my newest findings on Android Developers (might be the
wrong group).
So here they are again:

By now i got Android UI booting perfectly (http://picpaste.de/
IMG_0093.JPG).

What i did:
- took the Kernel from handhelds.org (2.6.21-hh20) with
htcblueangel_defconfig
- patched it with http://android-on-n8xx.googlecode.com/files/linux-2.6.21_rx-34_android-m5-rc14-patch3.bz2
i didn't find a plain patch so i applied this one. Benno's
android.diff is for 2.6.23 and causes some trouble.
- activated Android specific settings and compiled it
- created the userland-img like in http://www.alextreme.org/drupal/?q=android_on_n810
- used haret to boot the kernel off the sd-card (mostly copied from
angström)

As you can see on the Screenshot, it boots fine. It also seems to get
interactions from the cursorpad i got in the
lower center as i can move down the 3 main entries as well as the turn
off screen.
All other buttons don't do anything, as well as the "enter" Button
(the one in the middle of the cursor buttons).

The slidable Keyboard gets input0, the Buttonpad (tsc2200) gets input1
and Touchscreen (also tsc2200) gets input2.

I've put my own /sbin/init in there which does some basic debugging
(dmesg > /dmesg, export ANDROID_*).
Finally i got some questions google.com couldn't answer me:

- What more ANDROID_ environment-variables are there?
I mean i noticed GTalk Application crashing when i didn't set
ANDROID_DATA because it by default tried /data/data/<somemore>,
but just disabling the Knight-Rider-Loading and giving some direct
output would be better.



- What does it take to make my TS Input Device available?
I've looked at the n8xx patches but and found those tho parts that
looked interesting:

Index: drivers/input/touchscreen/tsc2005.c
===================================================================
--- drivers/input/touchscreen/tsc2005.c (revision 1269)
+++ drivers/input/touchscreen/tsc2005.c (revision 1273)

@@ -578,9 +589,14 @@

tsc2005_ts_setup_spi_xfer(ts);

+ x_max = 800;
+ y_max = 480;
+
input_set_abs_params(idev, ABS_X, 0, x_max, x_fudge, 0);
input_set_abs_params(idev, ABS_Y, 0, y_max, y_fudge, 0);
input_set_abs_params(idev, ABS_PRESSURE, 0, ts->p_max, p_fudge, 0);
+ set_bit(BTN_TOUCH, idev->keybit);
+ bitmap_fill(idev->absbit, ABS_MAX);

Index: drivers/i2c/chips/lm8323.c
===================================================================
--- drivers/i2c/chips/lm8323.c (revision 1269)
+++ drivers/i2c/chips/lm8323.c (revision 1273)
@@ -174,6 +174,9 @@
struct lm8323_pwm pwm3;
};

+struct input_dev * android_idev;
+EXPORT_SYMBOL(android_idev);
+
#define client_to_lm8323(c) container_of(c, struct lm8323_chip,
client)
#define dev_to_lm8323(d) container_of(d, struct lm8323_chip,
client.dev)
#define work_to_lm8323(w) container_of(w, struct lm8323_chip, work)
@@ -801,6 +804,7 @@
err = -ENOMEM;
goto fail8;
}
+ android_idev = idev;

if (lm8323_pdata->name)
idev->name = lm8323_pdata->name;

The HTC BA doesn't have anything selected from drivers/i2c/chips, but
it has the PXA-module from the drivers/i2c/busses/i2x-pxa.c.
So i added the struct, EXPORT_SYMBOL and BTN_TOUCH and _LEFT OUT_ the
x_max, y_max and the bitmap_fill.



- mounting /proc and /sys gives me "ioctl LOOP_SET_FD failed: Bad file
number"
As far as i found out this has to do with /dev/binder which has the
wrong major-number,
the funny thing is, without /proc/devices i don't have a clue how i
can find out :(

CONFIG_BINDER (openbinder) and CONFIG_ANDROID_BINDER_IPC are both
statically compiled in (like all modules during testing).



- Anyone got a static dropbear binary for arm/htcblueangel?
Since i had troubles building uClibc i kinda gave up on that. usb-net
is working fine so having a way to remotely login would be wonderful
since i don't have a complete keyboard on the BlueAngel.




Any advice or help would be great! I think this can work! :)

Best regards

- Franz

On Aug 4, 9:30 am, Josh Guilfoyle <jast...@gmail.com> wrote:
> The HTC Vogue has a quite evolved Android port at this point.  Working
> touch screen, radio, SD card, etc.  It's available at:
>
> http://it029000.massey.ac.nz/vogue/
>
> Read the page carefully, the Updates are listed chronologically and
> show the progress that has been made since originally announced 4
> months ago.  If you look at his kernel diff you can get a sense for
> what areas to explore to improve support on the Blue Angel hardware
> you have.  HaRET is very useful for this indeed.
>
> There does seem to be problems with certain applications on the Vogue,
> but for the most part this is quite robust environment for testing.
> Check outhttp://android-random.googlecode.com/for some simple debug/
Message has been deleted

tarwin...@gmail.com

unread,
Aug 20, 2008, 4:35:37 PM8/20/08
to Android Internals
Hi Franz,

good job so far! =)

I tried getting it to work on my BlueAngel with your packages. Kernel
boots fine, but it stops at <6>[ 62.270000] Freeing init memory:
104K.
No error message mounting "/" though.

Any idea?

- Tarwin

fbettag schrieb:
> > > Basically i took an Angstr�m HTC Kernel and used it with the
> > > Instructions from the Nokia N810 Build and copied everything onto my
> > > SD Card and used HaRET to boot off. Altogether it booted past the
> > > Knight Rider and booted up Android somehow.
> >
> > > There are still errors coming up which i am going to debug tomorrow
> > > (it's 06:48 AM in Germany right now so i will go to bed quite soon).
> >
> > > Here's a the Screenshot (including an Error):http://picpaste.de/IMG_0088.JPG
> >
> > > Tomorrow i'll try to make a working Android-Kernel-Config and build it
> > > from hand, that's just gonna take it's time to find all the fitting
> > > modules because even with Angstr�m and the autobild Kernel i get

sagar

unread,
Oct 19, 2008, 3:43:05 AM10/19/08
to Android Internals
the links appear to be dead. any way i can try this out on my
blueangel too?

sagar

Tul...@googlemail.com

unread,
Oct 20, 2008, 10:06:54 PM10/20/08
to Android Internals
The links arent really dea its just that some of the link is not hyper
linked. just follow the beginingof the next line down and you will see
the text is undelined. That is the rest of the link.

BTW i just won a blue angel on ebay and cant wait to start hackin it.
so let me know how you do with your.

Tuleele

Anil Sasidharan

unread,
Oct 21, 2008, 3:23:07 AM10/21/08
to android-...@googlegroups.com
Hi,

"init" might have failed to load. Please check if "EABI" is
turned ON in your kernel config.

Warm Regards,
Anil

sagar

unread,
Oct 25, 2008, 1:43:33 AM10/25/08
to Android Internals
ah i see. i was using the links the same way, but they were down when
i tried. now they worked! i got android to boot up on my blueangel
with these files, but there's no touchscreen support, or any buttons
near the screen. the slide-out keyboard works fine though.

On Oct 20, 7:06 pm, "Tule...@googlemail.com" <Tule...@googlemail.com>
wrote:
Reply all
Reply to author
Forward
0 new messages