Hi I am porting Android on MINI2440 (64MB NAND) and having trouble booting it. Here is the steps i followed... 1. from http://www.friendlyarm.net/downloads downloaded Android kernel (Android Kernel 2009-08-25) and Android File System (Android FS 2009-08-25) 2. Compiled kernel using this document. http://my.opera.com/vinodmunikoti/blog/manual-for-compiling-android-for-.... (This is the English version of Chinese manual available on FriendlyARM site) I followed the exact step mentioned in this manual with no problem. Then formatted NAND Flash using option x and downloaded bootloader (vboot), zImage and yaffs file system and booted the device using following args noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0 But not able to boot. following is the log file ======================================================= Copy linux kernel from 0x00060000 to 0x30008000, size = 0x00500000 ... done zImage magic = 0x016f2818 Setup linux parameters at 0x30000100 linux command line is: "noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0" MACH_TYPE = 1999 NOW, Booting Linux...... Uncompressing Linux........................................................................... .......................................................... done, booting the kernel. Linux version 2.6.27 (pchoganwalla@ubuntu) (gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72) ) #1 PREEMPT Thu May 5 11:58:52 PDT 2011 CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177 Machine: FriendlyARM Mini2440 development board ATAG_INITRD is deprecated; please update your bootloader. Memory policy: ECC disabled, Data cache writeback CPU S3C2440A (id 0x32440001) MM: CPU does not support supersection mapping for 0x55000000000 at 0xf0d00000 S3C244X: core 405.000 MHz, memory 101.250 MHz, peripheral 50.625 MHz S3C24XX Clocks, (c) 2004 Simtec Electronics CLOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL on CPU0: D VIVT write-back cache CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256 Kernel command line: noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0 irq: clearing subpending status 00000003 irq: clearing subpending status 00000002 PID hash table entries: 256 (order: 8, 1024 bytes) timer tcon=00000000, tcnt a4ca, tcfg 00000200,00000000, usec 00001e57 Console: colour dummy device 80x30 console [ttySAC0] 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: 60188KB available (3896K code, 636K data, 116K init) SLUB: Genslabs=12, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 Calibrating delay loop... 201.93 BogoMIPS (lpj=504832) Mount-cache hash table entries: 512 CPU: Testing write buffer coherency: ok net_namespace: 288 bytes NET: Registered protocol family 16 S3C2440: Initialising architecture S3C2440: IRQ Support S3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Electronics DMA channel 0 at c4800000, irq 33 DMA channel 1 at c4800040, irq 34 DMA channel 2 at c4800080, irq 35 DMA channel 3 at c48000c0, irq 36 S3C244X: Clock Support, DVS off 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 NET: Registered protocol family 1 NetWinder Floating Point Emulator V0.97 (double precision) ashmem: initialized NTFS driver 2.1.29 [Flags: R/W DEBUG]. yaffs May 5 2011 11:55:18 Installing. msgmni has been set to 117 io scheduler noop registered (default) Console: switching to colour frame buffer device 30x20 fb0: s3c2410fb frame buffer device adc initialized input: buttons as /class/input/input0 buttons initialized leds initialized s3c2440-uart.0: s3c2410_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2440 s3c2440-uart.1: s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2440 s3c2440-uart.2: s3c2410_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2440 brd: module loaded loop: module loaded nbd: registered device at major 43 logger: created 64K log 'log_main' logger: created 256K log 'log_events' logger: created 64K log 'log_radio' dm9000 Ethernet Driver, V1.31 Now use the default MAC address: 08:90:90:90:90:90 eth0: dm9000e at c4804000,c4806004 IRQ 51 MAC: c3914934 (friendly-arm) usbcore: registered new interface driver zd1211rw usbcore: registered new interface driver zd1201 Linux video capture interface: v2.00 ovcamchip: v2.27 for Linux 2.6 : OV camera chip I2C driver usbcore: registered new interface driver ov511 ov511: v1.64 for Linux 2.5 : ov511 USB Camera Driver Driver 'sd' needs updating - please use bus_type methods S3C24XX NAND Driver, (c) 2004 Simtec Electronics s3c2440-nand s3c2440-nand: Tacls=3, 29ns Twrph0=7 69ns, Twrph1=3 29ns NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit) NAND_ECC_NONE selected by board driver. This is not recommended !! Scanning device for bad blocks Bad eraseblock 45 at 0x005a0000 Bad eraseblock 46 at 0x005c0000 Bad eraseblock 47 at 0x005e0000 Bad eraseblock 48 at 0x00600000 Bad eraseblock 49 at 0x00620000 Bad eraseblock 50 at 0x00640000 Bad eraseblock 51 at 0x00660000 Bad eraseblock 52 at 0x00680000 Bad eraseblock 53 at 0x006a0000 Bad eraseblock 54 at 0x006c0000 Bad eraseblock 55 at 0x006e0000 Bad eraseblock 56 at 0x00700000 Bad eraseblock 57 at 0x00720000 Bad eraseblock 58 at 0x00740000 Bad eraseblock 59 at 0x00760000 Bad eraseblock 60 at 0x00780000 Bad eraseblock 61 at 0x007a0000 Bad eraseblock 62 at 0x007c0000 Bad eraseblock 63 at 0x007e0000 Bad eraseblock 64 at 0x00800000 Bad eraseblock 65 at 0x00820000 Bad eraseblock 66 at 0x00840000 Bad eraseblock 67 at 0x00860000 Bad eraseblock 68 at 0x00880000 Bad eraseblock 69 at 0x008a0000 Bad eraseblock 70 at 0x008c0000 Bad eraseblock 71 at 0x008e0000 Bad eraseblock 72 at 0x00900000 Bad eraseblock 73 at 0x00920000 Bad eraseblock 74 at 0x00940000 Bad eraseblock 75 at 0x00960000 Bad eraseblock 76 at 0x00980000 Bad eraseblock 77 at 0x009a0000 Bad eraseblock 78 at 0x009c0000 Bad eraseblock 79 at 0x009e0000 Bad eraseblock 80 at 0x00a00000 Bad eraseblock 81 at 0x00a20000 Bad eraseblock 82 at 0x00a40000 Bad eraseblock 83 at 0x00a60000 Bad eraseblock 84 at 0x00a80000 Bad eraseblock 86 at 0x00ac0000 Bad eraseblock 87 at 0x00ae0000 Bad eraseblock 88 at 0x00b00000 Bad eraseblock 89 at 0x00b20000 Bad eraseblock 90 at 0x00b40000 Bad eraseblock 91 at 0x00b60000 Bad eraseblock 93 at 0x00ba0000 Bad eraseblock 94 at 0x00bc0000 Bad eraseblock 95 at 0x00be0000 Bad eraseblock 96 at 0x00c00000 Bad eraseblock 97 at 0x00c20000 Bad eraseblock 98 at 0x00c40000 Bad eraseblock 99 at 0x00c60000 Bad eraseblock 100 at 0x00c80000 Bad eraseblock 101 at 0x00ca0000 Bad eraseblock 102 at 0x00cc0000 Bad eraseblock 103 at 0x00ce0000 Bad eraseblock 104 at 0x00d00000 Bad eraseblock 105 at 0x00d20000 Bad eraseblock 106 at 0x00d40000 Bad eraseblock 107 at 0x00d60000 Bad eraseblock 108 at 0x00d80000 Bad eraseblock 109 at 0x00da0000 Bad eraseblock 110 at 0x00dc0000 Bad eraseblock 112 at 0x00e00000 Bad eraseblock 113 at 0x00e20000 Bad eraseblock 114 at 0x00e40000 Bad eraseblock 115 at 0x00e60000 Bad eraseblock 116 at 0x00e80000 Bad eraseblock 117 at 0x00ea0000 Bad eraseblock 118 at 0x00ec0000 Bad eraseblock 119 at 0x00ee0000 Bad eraseblock 120 at 0x00f00000 Bad eraseblock 121 at 0x00f20000 Bad eraseblock 122 at 0x00f40000 Bad eraseblock 123 at 0x00f60000 Bad eraseblock 124 at 0x00f80000 Bad eraseblock 125 at 0x00fa0000 Bad eraseblock 126 at 0x00fc0000 Bad eraseblock 127 at 0x00fe0000 Bad eraseblock 128 at 0x01000000 Bad eraseblock 129 at 0x01020000 Bad eraseblock 130 at 0x01040000 Bad eraseblock 131 at 0x01060000 Bad eraseblock 132 at 0x01080000 Bad eraseblock 133 at 0x010a0000 Bad eraseblock 134 at 0x010c0000 Bad eraseblock 135 at 0x010e0000 Bad eraseblock 136 at 0x01100000 Bad eraseblock 137 at 0x01120000 Bad eraseblock 138 at 0x01140000 Bad eraseblock 139 at 0x01160000 Bad eraseblock 140 at 0x01180000 Bad eraseblock 141 at 0x011a0000 Bad eraseblock 142 at 0x011c0000 Bad eraseblock 143 at 0x011e0000 Bad eraseblock 144 at 0x01200000 Bad eraseblock 145 at 0x01220000 Bad eraseblock 146 at 0x01240000 Bad eraseblock 147 at 0x01260000 Bad eraseblock 148 at 0x01280000 Bad eraseblock 149 at 0x012a0000 Bad eraseblock 150 at 0x012c0000 Bad eraseblock 151 at 0x012e0000 Bad eraseblock 152 at 0x01300000 Bad eraseblock 153 at 0x01320000 Bad eraseblock 154 at 0x01340000 Bad eraseblock 155 at 0x01360000 Bad eraseblock 156 at 0x01380000 Bad eraseblock 157 at 0x013a0000 Bad eraseblock 158 at 0x013c0000 Bad eraseblock 159 at 0x013e0000 Bad eraseblock 160 at 0x01400000 Bad eraseblock 161 at 0x01420000 Bad eraseblock 162 at 0x01440000 Bad eraseblock 163 at 0x01460000 Bad eraseblock 164 at 0x01480000 Bad eraseblock 165 at 0x014a0000 Bad eraseblock 166 at 0x014c0000 Bad eraseblock 167 at 0x014e0000 Bad eraseblock 168 at 0x01500000 Bad eraseblock 169 at 0x01520000 Bad eraseblock 170 at 0x01540000 Bad eraseblock 171 at 0x01560000 Bad eraseblock 172 at 0x01580000 Bad eraseblock 173 at 0x015a0000 Bad eraseblock 174 at 0x015c0000 Bad eraseblock 175 at 0x015e0000 Bad eraseblock 176 at 0x01600000 Bad eraseblock 177 at 0x01620000 Bad eraseblock 178 at 0x01640000 Bad eraseblock 179 at 0x01660000 Bad eraseblock 181 at 0x016a0000 Bad eraseblock 182 at 0x016c0000 Bad e...stripped-down
Android not able to Boot
block 1101 is bad block 1153 is bad block 1154 is bad block 1216 is bad block 1432 is bad yaffs_read_super: isCheckpointed 0 VFS: Mounted root (yaffs filesystem). Freeing init memory: 116K Warning: unable to open an initial console. Failed to execute /linuxrc. Attempting defaults... Kernel panic - not syncing: No init found. Try passing init= option to kernel. What is the problem? Lots of bad blocks.... Also 64MB NAND is issue? Please Help thanks
Wrong settings for the OOB usage in your NAND and your kernel. And the message "NAND_ECC_NONE selected by board driver. This is not recommended !!" means you are using your NAND in a really bad way.