<br><font size=2 face="sans-serif"><br>
Hi</font>
<br>
<br><font size=2 face="sans-serif">I am using Linux 2.6.27 kernel on at91sam9g20
Controller. The kernel boots fine on all the boards i have here , but on
one board kernel does not boot and gives </font>
<br>
<br><font size=2 face="sans-serif">## Booting kernel from Legacy Image
at 20400000 ...</font>
<br><font size=2 face="sans-serif"> Image Name: Linux-2.6.27</font>
<br><font size=2 face="sans-serif"> Created:
2009-12-10 6:28:11 UTC</font>
<br><font size=2 face="sans-serif"> Image Type: ARM
Linux Kernel Image (uncompressed)</font>
<br><font size=2 face="sans-serif"> Data Size: 1690656
Bytes = 1.6 MB</font>
<br><font size=2 face="sans-serif"> Load Address: 20008000</font>
<br><font size=2 face="sans-serif"> Entry Point: 20008000</font>
<br><font size=2 face="sans-serif"> Verifying Checksum ...
OK</font>
<br><font size=2 face="sans-serif"> Loading Kernel Image ...
OK</font>
<br><font size=2 face="sans-serif">OK</font>
<br><font size=2 face="sans-serif">RFS-NAND</font>
<br>
<br><font size=2 face="sans-serif">Starting kernel ...</font>
<br>
<br><font size=2 face="sans-serif">Uncompressing Linux.............................................................</font>
<br><font size=2 face="sans-serif">................................................</font>
<br>
<br><font size=2 face="sans-serif">crc error</font>
<br>
<br><font size=2 face="sans-serif"> -- System halted</font>
<br>
<br>
<br><font size=2 face="sans-serif">Error message.</font>
<br>
<br><font size=2 face="sans-serif">If i add </font>
<br><font size=2 face="sans-serif">#define DEBUG on top of the "arch/arm/boot/compressed/head.S"
file, the kernel boots up upto the login prompt , but still the login will
not be possible.</font>
<br><font size=2 face="sans-serif">RFS shall not be mounted correctly in
this case.</font>
<br>
<br>
<br><font size=2 face="sans-serif">## Booting kernel from Legacy Image
at 20400000 ...</font>
<br><font size=2 face="sans-serif"> Image Name: Linux-2.6.27</font>
<br><font size=2 face="sans-serif"> Created:
2009-12-10 6:29:18 UTC</font>
<br><font size=2 face="sans-serif"> Image Type: ARM
Linux Kernel Image (uncompressed)</font>
<br><font size=2 face="sans-serif"> Data Size: 1690624
Bytes = 1.6 MB</font>
<br><font size=2 face="sans-serif"> Load Address: 20008000</font>
<br><font size=2 face="sans-serif"> Entry Point: 20008000</font>
<br><font size=2 face="sans-serif"> Verifying Checksum ...
OK</font>
<br><font size=2 face="sans-serif"> Loading Kernel Image ...
OK</font>
<br><font size=2 face="sans-serif">OK</font>
<br><font size=2 face="sans-serif">RFS-NAND</font>
<br>
<br><font size=2 face="sans-serif">Starting kernel ...</font>
<br>
<br><font size=2 face="sans-serif">Uncompressing Linux.............................................................</font>
<br><font size=2 face="sans-serif">................................................
done, booting the kernel.</font>
<br>
<br><font size=2 face="sans-serif">41069265:00000658:00055078</font>
<br><font size=2 face="sans-serif">201BE040-20509540>20008000</font>
<br><font size=2 face="sans-serif">20509540</font>
<br><font size=2 face="sans-serif">20008000: E321F0D3 EE109F10 EB000055
E1B0A005 0A000051 EB00006A E1B08005 0A0000</font>
<br><font size=2 face="sans-serif">4E</font>
<br><font size=2 face="sans-serif">20008020: EB000079 EB000013 E59FD0BC
E28FE000 E28AF010 E3800002 E3A0501F EE035F</font>
<br><font size=2 face="sans-serif">10</font>
<br><font size=2 face="sans-serif">20008040: EE024F10 EA000005 E1A00000
E1A00000 E1A00000 E1A00000 E1A00000 E1A000</font>
<br><font size=2 face="sans-serif">00</font>
<br><font size=2 face="sans-serif">20008060: E1A00000 EE010F10 EE103F10
E1A03003 E1A03003 E1A0F00D E59F4064 E1A000</font>
<br><font size=2 face="sans-serif">04</font>
<br><font size=2 face="sans-serif">20008080: E3A03000 E2806901 E4803004
E4803004 E4803004 E4803004 E1300006 1AFFFF</font>
<br><font size=2 face="sans-serif">F9</font>
<br><font size=2 face="sans-serif">200080A0: E59A7008 E1A06A2F E1873A06
E7843106 E2840A03 E5A03000 E59F6028 E28000</font>
<br><font size=2 face="sans-serif">04</font>
<br><font size=2 face="sans-serif">200080C0: E0846926 E1500006 E2833601
94803004 9AFFFFFB E2840A03 E3876202 E58060</font>
<br><font size=2 face="sans-serif">00</font>
<br><font size=2 face="sans-serif">200080E0: E1A0F00E 20004000 C0372AA7
C0008114 C0334000 C0334000 C0353500 C0372A</font>
<br><font size=2 face="sans-serif">A8</font>
<br><font size=2 face="sans-serif">Linux version 2.6.27 (root@developer-desktop)
(gcc version 4.3.2 (crosstool-NG-1</font>
<br><font size=2 face="sans-serif">.3.1) ) #4 Tue Dec 8 12:37:45 IST 2009</font>
<br><font size=2 face="sans-serif">CPU: ARM926EJ-S [41069265] revision
5 (ARMv5TEJ), cr=00053177</font>
<br><font size=2 face="sans-serif">Machine: Atmel AT91SAM9G20-EK</font>
<br><font size=2 face="sans-serif">Memory policy: ECC disabled, Data cache
writeback</font>
<br><font size=2 face="sans-serif">Clocks: CPU 396 MHz, master 132 MHz,
main 18.432 MHz</font>
<br><font size=2 face="sans-serif">CPU0: D VIVT write-back cache</font>
<br><font size=2 face="sans-serif">CPU0: I cache: 32768 bytes, associativity
4, 32 byte lines, 256 sets</font>
<br><font size=2 face="sans-serif">CPU0: D cache: 32768 bytes, associativity
4, 32 byte lines, 256 set</font>
<br><font size=2 face="sans-serif">..</font>
<br><font size=2 face="sans-serif">..</font>
<br><font size=2 face="sans-serif">..</font>
<br><font size=2 face="sans-serif">...</font>
<br><font size=2 face="sans-serif">...</font>
<br><font size=2 face="sans-serif">.</font>
<br><font size=2 face="sans-serif">(none) login: root</font>
<br><font size=2 face="sans-serif">/bin/bash: symbol lookup error: /usr/lib/libncurses.so.5:
undefined symbol: _nc_`isable_period</font>
<br>
<br><font size=2 face="sans-serif">(none) login</font>
<br>
<br>
<br>
<br><font size=2 face="sans-serif">The below part of the code in the head.S
is making the difference between the working and non working of the kernel
( w.r.t DEBUG)</font>
<br>
<br><font size=2 face="sans-serif">#ifndef DEBUG</font>
<br><font size=2 face="sans-serif">
orr r0, r0, #0x000d
@ Write buffer, mmu</font>
<br><font size=2 face="sans-serif">#endif</font>
<br><font size=2 face="sans-serif">
mov r1, #-1</font>
<br><font size=2 face="sans-serif">
mcr p15, 0, r3, c2, c0, 0 @ load page
table pointer</font>
<br><font size=2 face="sans-serif">
mcr p15, 0, r1, c3, c0, 0 @ load domain
access control</font>
<br><font size=2 face="sans-serif">
b 1f</font>
<br><font size=2 face="sans-serif">
.align 5
@ cache line aligned</font>
<br><font size=2 face="sans-serif">1:
mcr p15, 0, r0, c1, c0, 0 @ load control
register</font>
<br><font size=2 face="sans-serif">
mrc p15, 0, r0, c1, c0, 0 @ and read
it back to</font>
<br><font size=2 face="sans-serif">
sub pc, lr, r0, lsr #32 @ properly
flush pipeline</font>
<br>
<br>
<br><font size=2 face="sans-serif">It will be helpful if some one can point
to why the error is there , is it because of the faulty board(controller).</font>
<br>
<br>
<br>
<br><font size=2 face="sans-serif">Thanks and regards</font>
<br>
<br><font size=2 face="sans-serif">Virupax</font>
<br>
<br>
<br>
<br>
<br>