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. Best Regards Chuang s909...@gmail.com --~--~---------~--~----~------------~-------~--~----~ unsubscribe: android-porting+unsubscr...@googlegroups.com website: http://groups.google.com/group/android-porting -~----------~----~----~----~------~----~------~--~---