Monday, June 21, 2010

Others failure on porting android

http://www.mail-archive.com/android-porting@googlegroups.com/msg05626.html


Hi guys,
I am porting Android to AT91sam9261,however, I failed.
I share my porting process in here, and eager to obtain your
suggestions.
-------------------------------
My development environment:
* Fedora-9 full install
* arm-none-linux-gnueabi-gcc (arm-2008q1)
* u-boot-1.3.4, and official bootstrap file (from www.linux4sam.org)
--------------------------------
My porting steps:
1. download android source codes linux-2.6.25-android-1.0_r1.tar.gz
from http://code.google.com/p/android/downloads/list

2. download linux-2.6.25-at91 patch file from (
http://www.linux4sam.org/twiki/bin/view/Linux4SAM/LinuxKernel )

3. Compile the Android Kernel,
This step is successful and working on my at91sam9261ek.

4. Prepare Android file system, I got these information from Google.
Download the Android 1.0 SDK ( from
http://developer.android.com/sdk/1.0_r2/index.html
)
and execute this emulator.
#./emulator&
set the [Menu] -> [Dev. Tools] -> [Develop Settings] ->
apply these functions : [Wait for debugger], [Show running process],
[Show screen updates]
Then, following the Benno's Blog - Busybox for android (
http://benno.id.au/blog/2007/11/14/android-busybox )
Operating on Fedora terminal, I successfully generated the android
file system based on Benno's blog.

5. Boot my at91sam9261ek with NFS after setting the u-boot env. and
downloading the kernel,
However, it's not working.

When I set the u-boot env. parameter "init=/init", the boot message
was shown that
========
Starting kernel ...
Uncompressing
Linux...............................................................................................
done, booting the kernel.
Linux version 2.6.25-at91sam9261ek-android-20090624
(r...@localhost.localdomain)
(gcc version 4.2.3 (Sourcery G++ Lite 2008q1-126)) #6 Wed Jun 24
16:04:34 CST 2
009
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
Machine: Atmel AT91SAM9261-EK
Ignoring unrecognised tag 0x54410008
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 198 MHz, master 99 MHz, main 18.432 MHz
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
CPU0: D cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
Built 1 zonelists in Zone order, mobility grouping on. Total pages:
16256
Kernel command line: root=/dev/mtdblock3 mem=64M console=ttyS0,115200
init=/syst
em/bin/sh
AT91: 96 gpio irqs in 3 banks
PID hash table entries: 256 (order: 8, 1024 bytes)
Console: colour dummy device 80x30
console [ttyS0] enabled
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 61628KB available (2668K code, 423K data, 140K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
net_namespace: 152 bytes
android_power_init
android_power_init done
NET: Registered protocol family 16
AT91: Power Management
AT91: Starting after user reset
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
NetWinder Floating Point Emulator V0.97 (double precision)
JFFS2 version 2.2. (NAND) (SUMMARY) 穢 2001-2006 Red Hat, Inc.
yaffs Jun 24 2009 15:35:49 Installing.
io scheduler noop registered
io scheduler anticipatory registered (default)
atmel_lcdfb atmel_lcdfb.0: 160KiB frame buffer at 00300000 (mapped at
c4880000)
Console: switching to colour frame buffer device 30x40
atmel_lcdfb atmel_lcdfb.0: fb0: Atmel LCDC at 0x00600000 (mapped at
c485c000), i
rq 21
atmel_usart.0: ttyS0 at MMIO 0xfefff200 (irq = 1) is a ATMEL_SERIAL
brd: module loaded
loop: module loaded
ssc ssc.1: Atmel SSC device at 0xc4860000 (irq 15)
dm9000 Ethernet Driver, V1.30
eth0: dm9000 at c485e000,c4866044 IRQ 107 MAC: 00:1f:3a:22:c2:30
(chip)
Driver 'sd' needs updating - please use bus_type methods
NAND device: Manufacturer ID: 0xec, Chip ID: 0xf1 (Samsung NAND 128MiB
3,3V 8-bi
t)
AT91 NAND: 8-bit, Software ECC
Scanning device for bad blocks
Bad eraseblock 256 at 0x02000000
Creating 4 MTD partitions on "at91_nand":
0x00020000-0x00060000 : "Bootstrap"
0x00060000-0x00200000 : "Parameters"
0x00200000-0x00400000 : "Kernel"
0x00400000-0x08000000 : "rootfs-1"
atmel_spi atmel_spi.0: Atmel SPI Controller at 0xfffc8000 (irq 12)
mtd_dataflash spi0.0: AT45DB321x (4224 KBytes)
usbmon: debugfs is not available
at91_ohci at91_ohci: AT91 OHCI
at91_ohci at91_ohci: new USB bus registered, assigned bus number 1
at91_ohci at91_ohci: irq 20, io mem 0x00500000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
udc: at91_udc version 3 May 2006
mice: PS/2 mouse device common for all mice
input: gpio-keys as /class/input/input0
ads7846 spi0.2: touchscreen, irq 29
input: ADS784x Touchscreen as /class/input/input1
rtc-at91sam9 at91_rtt.0: rtc core: registered at91_rtt as rtc0
rtc-at91sam9 at91_rtt.0: rtc0: SET TIME!
Registered led device: ds7
Registered led device: ds8
Registered led device: ds1
usbcore: registered new interface driver usbhid
drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver
logger: created 64K log 'log_main'
logger: created 64K log 'log_events'
logger: created 64K log 'log_radio'
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
rtc-at91sam9 at91_rtt.0: hctosys: unable to read the hardware clock
yaffs: dev is 32505859 name is "mtdblock3"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.3, "mtdblock3"
yaffs: auto selecting yaffs2
block 225 is bad
VFS: Mounted root (yaffs filesystem).
Freeing init memory: 140K
init: cannot open '/initlogo.rle'
(Stop and die here)
====================

When I set the u-boot env. parameter "init=/system/bin/sh", the boot
message was shown that:

....... (the same boot message, ignored) .......
VFS: Mounted root (yaffs filesystem).
Freeing init memory: 140K
sh: can't access tty; job control turned off
#
#

The shell is working. But I still don't know how to run the Android.
Has anybody got ideas for this porting tasks?
Please share your experience if you succeed in porting to
at91sam9261ek?
Many thanks.

No comments: