u-boot hangs by starting kernel

Dirk
Hi!

I can't get u-boot to work properly on my Mini2440-1GB.

I've done everything like explained in the different tutorials and forums.

But when I load my uImage file to ram and
send 
"bootm 0x30008000"

I get the message "starting kernel" and u-boot hangs.
No reply until reset.

I've also tried to load a zImage to ram.
When I send
"go 0x30008000",
I can watch the kernel getting decompressed and then the system hangs.

Does anybody have an idea?

Thanks

Dirk

davef
Whick u-boot?
Which kernel? This one:
http://www.friendlyarm.net/dl.php?file=linux-zImage_20100925.zip
This tutorial?
http://narnia.cs.ttu.edu/drupal/node/131
Keeping in mind that it is for a 64M machine and may need some mods.

davef

open-nandra
Hi, when kernel hang try to compile kernel with DEBUG_LL (in kernel
hacking) to see why it hangs.

marek

Dirk
I've tried several kernels and several versions of u-boot.
It's always the same.
My last try was buserrors u-boot:
"git://repo.or.cz/u-boot-openmoko/mini2440.git";
and kernel from:
"http://repo.or.cz/w/linux-2.6/mini2440.git";

Do I need gdb if I use "DEBUG_LL"?
And if so, how do I debug with serial line?

Thanks so far!

Dirk

Dirk
I've tried with low level debugging:

MINI2440 # bootm 30008000
## Booting kernel from Legacy Image at 30008000 ...
   Image Name:   Linux(git)
   Created:      2011-01-24  20:36:21 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2095376 Bytes =  2 MB
   Load Address: 30008000
   Entry Point:  30008000
   Verifying Checksum ... OK
   XIP Kernel Image ... OK

Starting kernel ...

Uncompressing
Linux...........................................................................
.........................................................

crc error

 -- System resetting


How can I fix this?

Kind regards

Dirk

open-nandra
Strange,

how did you build your kernel? Try to send .config to check your
configuration.

marek

Dirk
Hello Marek,

thank you for your help!

I've now tried to load the zImage file and got the following output:

MINI2440 # go 30008000
## Starting application at 0x30008000 ...
Uncompressing
Linux...........................................................................
.........................................................
done, booting the kernel.

Error: unrecognized/unsupported machine ID (r1 = 0x33d5fe68).

Available machine support:

ID (hex)        NAME
000007cf        MINI2440

Please check your kernel config and/or bootloader.


in the file u-boot/board/mini2440/mini2440.c there is a part:

#ifndef MACH_TYPE_MINI2440
#define MACH_TYPE_MINI2440 1999
#endif

in the kernel dir there is a file:
"arch/arm/tools/mach-types", where one line says:

"mini2440                MACH_MINI2440           MINI2440               
1999"

I am now wondering which of the shown ids in the u-boot output belongs to
what?

u-boot? Kernel?

I used "make mini2440_defconfig" and added low level debugging.

davef
make mini2440_defconfig

and then configured it for your touchscreen in menuconfig?

Maybe 

http://code.google.com/p/friendlyarm/wiki/Linux_Tutorial

will help.

dirk
I've used 
make mini2440_defconfig

and then added low-level debugging.
Can't I configure touchscreen by bootparameter later?

I haven't found the right hint.
I'm wondering in which direction the output has to be understood:
is "Error: unrecognized/unsupported machine ID (r1 = 0x33d5fe68)"
the ID of my kernel or the ID of u-boot?

If I take a look on all the other defines 0x33d5fe68 seems to be completely
out of range.
I would guess on some uninitialised memory.

I've checked code of u-boot so far.
There it seems to be 1999(000007cf)

Is there a possibility to set the id manually when configuring kernel?
There are also some defines 
like "#MACH_TYPE_MINI2440 1999".

Kind Regards

Dirk

open-nandra
Dirk,

output is from kernel. Suppose you not properly compile kernel.
try:
make mrproper; make mini2440_defconfig ARCH=arm; make ARCH=arm
CROSS_COMPILE=<your arm toolchain>

then it should be OK ;)

marek

Dirk
Hello Marek,

I've tried to recompile my kernel, and I was not lucky :-(

I tried zImage_X35(from the download section) and it doesn't boot either.

I have understood, that the output is from kernel. At this poit it has
taken over.
I was wondering which id belongs to kernel and which one belongs to u-boot.

0x33d5fe68 -> kernel
0x000007cf -> u-boot

or vice versa.


on u-boot bdinfo says:
U-Boot 1.3.2-mini2440 (Jan 21 2011 - 02:57:43)
MINI2440 # bdinfo
arch_number = 0x000007CF
env_t       = 0x00000000
boot_params = 0x30000100
DRAM bank   = 0x00000000
-> start    = 0x30000000
-> size     = 0x04000000
ethaddr     = 08:08:11:18:12:27
ip_addr     = 10.0.0.111
baudrate    = 115200 bps


so I think u-boot has the 7cf.

Kind Regards

Dirk

open-nandra
Strange, could you post steps what you done for kernel compilation? Also
please post .config from kernel. 0x7cf is correct is machine ID for
mini2440. What output you get with DEBUG_LL enabled (paste also).

marek

Dirk
That is my output with low level debugging.
Without that option I see nothing.

For compiling kernel I just did

export ARCH=arm
export CROSS-COMPILE=arm-linux-
export PATH=$PATH:[toolchaindir]

mkdir linux
cd linux
git clone ....
make mini2440_defconfig
make menuconfig (only enabled low level debugging)
make

and then I took ./arch/arm/zImage - file

If I try kernel from download zImage_X35 it doesn't boot either.
So maybe there is a problem about u-boot?

I've created my toolchain with buildroot. Is there maybe a problem?

Kind regards

Dirk

open-nandra
Hi,

u-boot could run only uImage. Try: make uImage (you need to have installed
mkimage). Load it then must work ;)

marek

dirk
I've not started by bootm, but with go 30008000.
But maybe your right. I will try later on.

Dirk

dirk
I've tried that. Now I get this output.
Is it possible, that my toolchain has a problem with crc?

MINI2440 # fatload mmc 0 30008000 uImage.bin
reading uImage.bin

2035232 bytes read
MINI2440 # bootm 30008000
## Booting kernel from Legacy Image at 30008000 ...
   Image Name:   Linux(git)
   Created:      2011-01-26  17:07:43 UTC
   Image Type:   ARM Linux Kernel Image (gzip compressed)
   Data Size:    2035168 Bytes =  1.9 MB
   Load Address: 30008000
   Entry Point:  30008000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... Error: Bad gzipped data
GUNZIP: uncompress or overwrite error - must RESET board to recover

U-Boot 1.3.2-mini2440 (Jan 21 2011 - 02:57:43)

I2C:   ready
DRAM:  64 MB
NOR Flash not found. Use hardware switch and 'flinit'
Flash:  0 kB
NAND:  1024 MiB
Found Environment offset in OOB..
USB:   S3C2410 USB Deviced
In:    serial
Out:   serial
Err:   serial
MAC: 08:08:11:18:12:27
Hit any key to stop autoboot:  0 
MINI2440 #

open-nandra
Bad ;). Ok please report which, which kernel. Give a try and send you
recipe how to do it.

marek

dirk
My kernel is from here:
git://repo.or.cz/linux-2.6/mini2440.git

I've started to do everything from zero yesterday night.
I got buildroot from git: 
"make mini2440_defconfig"
changed kernel-debug and tried a different version of gcc and uclibc

I will test this afternoon.

One question: For what does buildroot needs kernel-headers, seperately from
building kernel?

It is not possible, to select a local file there, so kernel-headers don't
fit to kernel.

Kind regards

Dirk

Dirk
Still booting kernel from u-boot doesn't work.
I've tested barebox.
I cannot boot from nand I think, but if i run it from u-boot, kernel starts
and runs to the part, where rootfs would be needed.

My Mini2440-Board is brand new, it got the (new?) X35 touchscreen.
Is it possible, that there are some slight changes in hardware so that it
is not compatible with u-boot?

Some additional initialization needed for example?

Getting barebox to run would also help.

Kind regards

Dirk

Michael Bonfils
Hi Dirk,

I've seen that your kernel is build with your own toolchain, can you post
the result of arm-linux-gcc -v ?

Maybe you've forgot to add --with-cpu=arm920t on buildroot options ?

I've also build kernel with my own toolchain (buildroot) and it's works :

Target: arm-unknown-linux-uclibcgnueabi
Configured with:
/home/murlock/prog/mini2440/src/buildroot-2010.11/output/toolchain/gcc-4.4.5/con
figure
--prefix=/opt/arm-mini2440/usr --build=i686-pc-linux-gnu
--host=i686-pc-linux-gnu --target=arm-unknown-linux-uclibcgnueabi
--enable-languages=c,c++ --with-sysroot=/opt/arm-mini2440
--with-build-time-tools=/opt/arm-mini2440/usr/arm-unknown-linux-uclibcgnueabi/bi
n
--disable-__cxa_atexit --enable-target-optspace --with-gnu-ld
--disable-libssp --disable-multilib --disable-tls --enable-shared
--with-gmp=/home/murlock/prog/mini2440/src/buildroot-2010.11/output/toolchain/gm
p
--with-mpfr=/home/murlock/prog/mini2440/src/buildroot-2010.11/output/toolchain/m
pfr
--disable-nls --enable-threads --disable-decimal-float --with-float=soft
--with-abi=aapcs-linux --with-arch=armv4t --with-tune=arm920t
--with-arch=armv4t --with-cpu=arm920t --with-tune=arm920t
--with-pkgversion='Buildroot 2010.11'
--with-bugurl=http://bugs.buildroot.net/
Thread model: posix
gcc version 4.4.5 (Buildroot 2010.11)

Dirk
This is my output:

Using built-in specs.
Target: arm-unknown-linux-uclibcgnueabi
Configured with:
/root/buildroot/buildroot/output/toolchain/gcc-4.3.5/configure
--prefix=/root/buildroot/buildroot/output/host/usr
--build=i686-pc-linux-gnu --host=i686-pc-linux-gnu
--target=arm-unknown-linux-uclibcgnueabi --enable-languages=c
--with-sysroot=/root/buildroot/buildroot/output/host/usr/arm-unknown-linux-uclib
cgnueabi/sysroot
--with-build-time-tools=/root/buildroot/buildroot/output/host/usr/arm-unknown-li
nux-uclibcgnueabi/bin
--disable-__cxa_atexit --enable-target-optspace --with-gnu-ld
--disable-libssp --disable-multilib --disable-tls --enable-shared
--with-gmp=/root/buildroot/buildroot/output/host/usr
--with-mpfr=/root/buildroot/buildroot/output/host/usr --disable-nls
--enable-threads --disable-decimal-float --with-float=soft
--with-abi=aapcs-linux --with-arch=armv4t --with-tune=arm920t
--disable-largefile --with-pkgversion='Buildroot
2011.02-git-00342-g0fa46e5' --with-bugurl=http://bugs.buildroot.net/
Thread model: posix
gcc version 4.3.5 (Buildroot 2011.02-git-00342-g0fa46e5) 


It seems that this parameter is missing.
Can I put it to 
"()  Additional gcc options"

In the toolchain menu of menuconfig?

Kind Regards

Dirk

Michael Bonfils
Yes, it's the idea :)

dirk
Still doesn't boot.

Have I mentioned that I have the same problem, if I take u-boot.bin and
zImage_X35 from this site?

What I got working:
U-Boot loading Barebox from SD
Barebox then loading kernel via tftp/nfs


Kind Regards

Dirk

Michael Bonfils
Can you provide us your kernel in zimage and the result of mkimage ?

In my case, 
after building zimage, 
 $SRC/uboot/mini2440/tools/mkimage -A arm -O linux -T kernel -C none -a
0x30008000 -e 0x30008000 -d $SRC/linux-2.6.32.2/arch/arm/boot/zImage
mini2440.img

And I use bootp / bootm in uboot, not go

open-nandra
Dirk, your error is still the same. As Michael said you can't use go
command. GO just jump to address and thats all. You need to have properly
set atags for kernel startup so need to use bootm. This is your error
r1=undefined number because through r1 u-boot pass to kernel machine type.
There is a lot of how-to's compile kernel for mini2440. Why not to try one
(with correct toolchain).

marek

kamel
Hi,

I am trying to boot with a linux-2.6.36.2 (with mini2440_defconfig and
arm-none-linux-gnueabi toolchain) but I've got the following errors :

mini2440 # bootm 0x30000000
## Booting kernel from Legacy Image at 30000000 ...
   Image Name:   Linux-2.6.36.2
   Created:      2011-01-30  16:30:48 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3143540 Bytes =  3 MB
   Load Address: 30008000
   Entry Point:  30008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    0.000000] Linux version 2.6.36.2 (mk3@mk3-laptop) (gcc version 4.4.1
(Sourcery G++ Lite 21
[    0.000000] CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] Machine: MINI2440
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] CPU S3C2440A (id 0x32440001)
[    0.000000] S3C24XX Clocks, Copyright 2004 Simtec Electronics
[    0.000000] S3C244X: core 405.000 MHz, memory 101.250 MHz, peripheral
50.625 MHz
[    0.000000] CLOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL on
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on. 
Total pages: 16256
[    0.000000] Kernel command line: init=linuxrc console=ttySAC0
root=/dev/nfs nfsroot=192.168f
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768
bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Memory: 64MB = 64MB total
[    0.000000] Memory: 58512k/58512k available, 7024k reserved, 0K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     DMA     : 0xffc00000 - 0xffe00000   (   2 MB)
[    0.000000]     vmalloc : 0xc4800000 - 0xe0000000   ( 440 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xc4000000   (  64 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .init : 0xc0008000 - 0xc0032000   ( 168 kB)
[    0.000000]       .text : 0xc0032000 - 0xc05d9000   (5788 kB)
[    0.000000]       .data : 0xc05da000 - 0xc060d5c0   ( 206 kB)
[    0.000000] SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0,
CPUs=1, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000]  RCU-based detection of stalled CPUs is disabled.
[    0.000000]  Verbose stalled-CPUs detection is disabled.
[    0.000000] NR_IRQS:85
[    0.000000] irq: clearing pending ext status 00000300
[    0.000000] irq: clearing subpending status 00000003
[    0.000000] irq: clearing subpending status 00000002
[    0.000000] Console: colour dummy device 80x30
[    0.000000] console [ttySAC0] enabled
[    0.015000] Calibrating delay loop... 201.93 BogoMIPS (lpj=504832)
[    0.115000] pid_max: default: 32768 minimum: 301
[    0.115000] Mount-cache hash table entries: 512
[    0.120000] CPU: Testing write buffer coherency: ok
[    0.135000] gpiochip_add: gpios 288..303 (GPIOK) failed to register
[    0.135000] gpiochip_add: gpios 320..334 (GPIOL) failed to register
[    0.140000] gpiochip_add: gpios 352..353 (GPIOM) failed to register
[    0.145000] NET: Registered protocol family 16
[    0.180000] MINI2440: Option string mini2440=0tb
[    0.180000] MINI2440: 't' ignored, touchscreen not compiled in
[    0.185000] Unable to handle kernel NULL pointer dereference at virtual
address 00000000
[    0.185000] pgd = c0004000
[    0.185000] [00000000] *pgd=00000000
[    0.185000] Internal error: Oops: 80000005 [#1]
[    0.185000] last sysfs file: 
[    0.185000] CPU: 0    Not tainted  (2.6.36.2 #1)
[    0.185000] PC is at 0x0
[    0.185000] LR is at s3c_gpio_setpull+0x60/0x74
[    0.185000] pc : [<00000000>]    lr : [<c003dad8>]    psr: a0000093
[    0.185000] sp : c3825f48  ip : 00000010  fp : c3825f58
[    0.185000] r10: 00000000  r9 : 00000000  r8 : 00000000
[    0.185000] r7 : 00000013  r6 : 00000000  r5 : c000b518  r4 : a0000013
[    0.185000] r3 : c05e0820  r2 : 00000002  r1 : 00000001  r0 : c05e042c
[    0.185000] Flags: NzCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM 
Segment kernel
[    0.185000] Control: c000717f  Table: 30004000  DAC: 00000017
[    0.185000] Process swapper (pid: 1, stack limit = 0xc3824260)
[    0.185000] Stack: (0xc3825f48 to 0xc3826000)
[    0.185000] 5f40:                   00000003 c3825f9c c3825f5c c000de28
c003da88 00000002
[    0.185000] 5f60: 00000003 00000000 c05df8e0 c05ded3c 00000000 00000000
00000000 00000000
[    0.185000] 5f80: 00000000 00000000 c0029f74 c000b518 c3825fac c3825fa0
c000b538 c000dc94
[    0.185000] 5fa0: c3825fe0 c3825fb0 c0008460 c000b528 00000054 c000856c
c0047b8c c0029f74
[    0.185000] 5fc0: c000856c c0047b8c 00000013 00000000 00000000 c3825ff4
c3825fe4 c000860c
[    0.185000] 5fe0: c00083a0 00000000 00000000 c3825ff8 c0047b8c c000857c
00000000 00000000
[    0.185000] Backtrace: 
[    0.185000] [<c003da78>] (s3c_gpio_setpull+0x0/0x74) from [<c000de28>]
(mini2440_init+0x1a4)
[    0.185000]  r4:00000003
[    0.185000] [<c000dc84>] (mini2440_init+0x0/0x340) from [<c000b538>]
(customize_machine+0x2)
[    0.185000]  r5:c000b518 r4:c0029f74
[    0.185000] [<c000b518>] (customize_machine+0x0/0x2c) from [<c0008460>]
(do_one_initcall+0x)
[    0.185000] [<c0008390>] (do_one_initcall+0x0/0x1a4) from [<c000860c>]
(kernel_init+0xa0/0x)
[    0.185000] [<c000856c>] (kernel_init+0x0/0x150) from [<c0047b8c>]
(do_exit+0x0/0x5c4)
[    0.185000]  r4:00000000
[    0.185000] Code: bad PC value
[    0.190000] ---[ end trace 1b75b31a2719ed1c ]---
[    0.195000] Kernel panic - not syncing: Attempted to kill init!
[    0.200000] Backtrace: 
[    0.205000] [<c0036368>] (dump_backtrace+0x0/0x114) from [<c045e484>]
(dump_stack+0x18/0x1c)
[    0.210000]  r6:c3822000 r5:0000000b r4:c060dd84
[    0.215000] [<c045e46c>] (dump_stack+0x0/0x1c) from [<c045e4e8>]
(panic+0x60/0x194)
[    0.220000] [<c045e488>] (panic+0x0/0x194) from [<c0047bfc>]
(do_exit+0x70/0x5c4)
[    0.225000]  r3:c05e3750 r2:c3825d80 r1:00000001 r0:c0589334
[    0.230000] [<c0047b8c>] (do_exit+0x0/0x5c4) from [<c00367c8>]
(die+0x1bc/0x1ec)
[    0.235000] [<c003660c>] (die+0x0/0x1ec) from [<c0037c20>]
(__do_kernel_fault+0x6c/0x8c)
[    0.240000]  r8:00000000 r7:80000005 r6:00000000 r5:c3825f00 r4:00000000
[    0.250000] [<c0037bb4>] (__do_kernel_fault+0x0/0x8c) from [<c0037dfc>]
(do_page_fault+0x1b)
[    0.255000]  r8:00000000 r7:00000000 r6:00000000 r5:c3825f00 r4:c3822000
[    0.265000] [<c0037c40>] (do_page_fault+0x0/0x1d4) from [<c0037eac>]
(do_translation_fault+)
[    0.270000] [<c0037e88>] (do_translation_fault+0x0/0xac) from
[<c0032254>] (do_PrefetchAbor)
[    0.275000]  r7:c3825f00 r6:00000000 r5:c05de56c r4:00000005
[    0.280000] [<c0032218>] (do_PrefetchAbort+0x0/0xa0) from [<c0032a24>]
(__pabt_svc+0x44/0x8)
[    0.285000] Exception stack(0xc3825f00 to 0xc3825f48)
[    0.290000] 5f00: c05e042c 00000001 00000002 c05e0820 a0000013 c000b518
00000000 00000013
[    0.295000] 5f20: 00000000 00000000 00000000 c3825f58 00000010 c3825f48
c003dad8 00000000
[    0.300000] 5f40: a0000093 ffffffff
[    0.305000]  r7:00000013 r6:00000000 r5:c3825f34 r4:ffffffff
[    0.310000] [<c003da78>] (s3c_gpio_setpull+0x0/0x74) from [<c000de28>]
(mini2440_init+0x1a4)
[    0.315000]  r4:00000003
[    0.315000] [<c000dc84>] (mini2440_init+0x0/0x340) from [<c000b538>]
(customize_machine+0x2)
[    0.320000]  r5:c000b518 r4:c0029f74
[    0.325000] [<c000b518>] (customize_machine+0x0/0x2c) from [<c0008460>]
(do_one_initcall+0x)
[    0.330000] [<c0008390>] (do_one_initcall+0x0/0x1a4) from [<c000860c>]
(kernel_init+0xa0/0x)
[    0.335000] [<c000856c>] (kernel_init+0x0/0x150) from [<c0047b8c>]
(do_exit+0x0/0x5c4)
[    0.340000]  r4:00000000

Is there any changes to do with the kernel to make it working with u-boot?
Please let me know if it is, I join my kernel image in attachment.


Best regards.
Kamel.

Michael Bonfils
Hi kamel :


At first, I see that you've used bootm at 0x30000000, my default uboot use
0x32000000 but I think it's not an error.

Can you post the result of printenv in uboot ?


Since mini2440=0tb is a default value, it look like somes parts is missing
in your kernel

[    0.180000] MINI2440: Option string mini2440=0tb
[    0.180000] MINI2440: 't' ignored, touchscreen not compiled in
...


Which kernel config has been used for building your kernel (
config_mini2440_x35 / ... ? )

kamel
Hi,

Thanks for the quick reply, here is the printenv result:

mini2440 # printenv
bootcmd=nand read 0x31000000 60000 200000; bootm 0x31000000
bootdelay=2
baudrate=115200                                                            
    
ethaddr=08:00:3e:26:0a:5b                                                  
    
ipaddr=192.192.192.200                                                     
    
serverip=192.192.192.105                                                   
    
netmask=255.255.255.0                                                      
    
install-bootloader=tftp 30000000 u-boot.bin;nand erase 0 40000;nand write
300000
install-kernel=tftp 30000000 uImage;nand erase 60000 200000;nand write
300000000
install-filesystem=tftp 30000000 filesystem.yaffs;nand erase 260000
1c50240;nan0
bootargs=init=linuxrc console=ttySAC0 root=/dev/nfs
nfsroot=192.168.1.160:/armLf
stdin=serial                                                               
    
stdout=serial                                                              
    
stderr=serial                                                              
    
                                                                           
    
Environment size: 716/131068 bytes   

I used the mini2440_defconfig.

Michael Bonfils
Can you post your kernel image ? 
I'll try on my mini2440



Your mini2440_defconfig is located in ./arch/arm/configs/ ?

On http://friendlyarm.net/dl.php?file=linux-2.6.32.2-mini2440_20100609.tgz,
there also at root of archive somes files beginning with config_mini2440_*.

I've copied the proper config file, in my case config_mini2440_x35, to
.config and ran make menuconfig.

kamel
Ok I joined my kernel uImage, let me know if its works for you please.

I am using the arch/arm/configs/mini2440_defconfig, whats the difference
with the config_mini2440_x35?

I will try you config file it may change something.

Thank you Michael ;) !

Michael Bonfils
I don't see your uImage

kamel
Attachment: uImage (2.01 MB)
Hi,

Sorry I thought it was joined, but now it is !

I've tried the kernel you advise me with the config_mini2440_t35 file but
it's the same problem, the kernel hold on decompressing state.

Did you know if the u-boot machine ID is good here:

mini2440 # bdinfo                                                          
    
arch_number = 0x0000147C                                                   
    
env_t       = 0x00000000                                                   
    
boot_params = 0x30000100                                                   
    
DRAM bank   = 0x00000000                                                   
    
-> start    = 0x30000000                                                   
    
-> size     = 0x04000000                                                   
    
ethaddr     = 08:00:3E:26:0A:5B                                            
    
ip_addr     = 192.192.192.200                                              
    
baudrate    = 115200 bps 

I think it can be the problem because on the kernel source
(arch/arm/tools/mach-types) it seems to be 5244 for the machine ID so it
don't match with the u-boot ID.
Whenever I changed the ID but it still don't work for me ...

Thanks for you reply!
Regards.

Michael Bonfils
MINI2440 # bdinfo 
arch_number = 0x000007CF
env_t       = 0x00000000
boot_params = 0x30000100
DRAM bank   = 0x00000000
-> start    = 0x30000000
-> size     = 0x04000000
ethaddr     = 08:08:11:18:12:27
ip_addr     = 192.168.1.1
baudrate    = 115200 bps


I can confirm that your kernel doesn't work : I've got the same error, can
you post all steps you use to build your kernel ?

Because if you've used a config_mini2440_t35, your kernel should be named 
2.6.32.2-FriendlyARM, not 2.6.36.2.

With toolchain in PATH, steps should be
$ tar xf linux-2.6.32.2-mini2440_20100609.tgz
$ cd linux-2.6.32
$ cp config_mini2440_t35 .config
$ make
...
$ mkimage -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008000 -d
arch/arm/boot/zImage uImage

Dirk
Attachment: zImage (2.03 MB)
I've tried "bootm 30008000"
and did mkimage as described above.

I still got the CRC error message(see below).

Could please anybody test my kernel?

Kind regards

Dirk



MINI2440 # bootm 30008000
## Booting kernel from Legacy Image at 30008000 ...
   Image Name:   
   Created:      2011-02-01   4:22:27 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2133440 Bytes =  2 MB
   Load Address: 30008000
   Entry Point:  30008000
   Verifying Checksum ... OK
   XIP Kernel Image ... OK

Starting kernel ...

Uncompressing
Linux...........................................................................
............................................................

crc error

 -- System halted

kamel
Hi,

I've tried what said me step bye step but it still don't work can you give
me your kernel compilate, please, I want to try it, maybe it's my toolchain
(arm-none-linux-gnueabi).

Thanks.

dirk
Hey Kamel, 

Maybe you could try mine. Barebox can boot it. Only my u-boot
can't.

Kind Regards

Dirk

kamel
Dear Mr Dirk,

I've just test your kernel image (for fun ^^) and look the error I get :

mini2440 # tftpboot 0x30000000 uImage                                      
    
dm9000 i/o: 0x18000300, id: 0x90000a46                                     
    
DM9000: running in 16 bit mode                                             
    
MAC: 08:00:3e:26:0a:5b                                                     
    
TFTP from server 192.192.192.105; our IP address is 192.192.192.200        
    
Filename 'uImage'.                                                         
    
Load address: 0x30000000                                                   
    
Loading: T
#################################################################    
         ################################################################# 
    
         ################################################################# 
    
         ################################################################# 
    
         ################################################################# 
    
         ################################################################# 
    
         ###########################                                       
    
done                                                                       
    
Bytes transferred = 2133504 (208e00 hex)                                   
    
mini2440 # bootm 0x30000000                                                
    
## Booting kernel from Legacy Image at 30000000 ...                        
    
   Image Name:                                                             
    
   Created:      2011-02-01  22:00:18 UTC                                  
    
   Image Type:   ARM Linux Kernel Image (uncompressed)                     
    
   Data Size:    2133440 Bytes =  2 MB                                     
    
   Load Address: 30008000                                                  
    
   Entry Point:  30008000                                                  
    
   Verifying Checksum ... OK                                               
    
   Loading Kernel Image ... OK                                             
    
OK                                                                         
    
                                                                           
    
Starting kernel ...                                                        
    
                                                                           
    
Uncompressing
Linux.............................................................
                                                                           
    
Error: unrecognized/unsupported machine ID (r1 = 0x0000147c).              
    
                                                                           
    
Available machine support:                                                 
    
                                                                           
    
ID (hex)        NAME                                                       
    
000007cf        MINI2440                                                   
    
                                                                           
    
Please check your kernel config and/or bootloader.     

I'am fixed now, that's an ID problem because my u-boot mini2440 ID  is :
mini2440 # bdinfo                                                          
    
arch_number = 0x0000147C

SO my last question will be, can we change the u-boot ID without
recompiling u-boot and flashing it again ???

Regards.

Dirk
Dear Kamel,

Thank you for that test.

I don't know a way to change id without recompiling.
Which version of u-boot are you using?


If you have a look at:
http://lxr.linux.no/#linux+v2.6.37/arch/arm/tools/mach-types

Your ID is not valid

-----------

Please load Kernel to 30008000

If you look on your bdinfo output:


mini2440 # bdinfo
<--
-->
boot_params = 0x30000100 
             <-- overwritten by your kernel
                 (if it starts at 30000000)                             
<--
-->

open-nandra
Attachment: uImage (2.03 MB)
Hi kamel,

this is my uImage correctly boting with u-boot or barebox. Plaase test.

marek

Dirk
Dear Marek,

I've tried to boot your kernel:
it stops with "starting kernel"

Could you please upload your u-boot?



MINI2440 # bootm 30008000
## Booting kernel from Legacy Image at 30008000 ...
   Image Name:   Linux-2.6.32-rc8
   Created:      2010-12-17   8:39:44 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2124440 Bytes =  2 MB
   Load Address: 30008000
   Entry Point:  30008000
   Verifying Checksum ... OK
   XIP Kernel Image ... OK

Starting kernel ...


Kind Regards

Dirk

Pradeep
Hello Marek,

I hit the same issue of kernel stopping at "Starting Kernel". I have
enabled CONFIG_DEBUG_LL, but still no information. I am working with
Angstrom kernel. 

How to verify if my uboot machine id and the kernel machine id are same?

I assumed that u-boot doesnt require a change even if I change the uImage.
Is that a wrong assumption?

Thanks
Pradeep

dirk
On U-Boot side:

bdinfo

if you try your zImage by go <offset> you will provoce a missmatch and
kernel will tell you his id.


Dirk

AJeya
same problem here
______________________________________________

U-Boot 1.3.2-mini2440 (Feb 24 2010 - 13:04:49)


I2C:   ready

DRAM:  64 MB

Flash:  2 MB

NAND:  256 MiB

Found Environment offset in OOB..

USB:   S3C2410 USB Deviced

In:    serial

Out:   serial

Err:   serial

MAC: 08:08:11:18:12:27

Hit any key to stop autoboot:  0 


Loading from NAND 256MiB 3,3V 8-bit, offset 0x60000

   Image Name:   

   Created:      2013-01-28  11:28:22 UTC

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    1168832 Bytes =  1.1 MB

   Load Address: 30000000

   Entry Point:  30000000

## Booting kernel from Legacy Image at 32000000 ...

   Image Name:   

   Created:      2013-01-28  11:28:22 UTC

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    1168832 Bytes =  1.1 MB

   Load Address: 30000000

   Entry Point:  30000000

   Verifying Checksum ... OK

   Loading Kernel Image ... OK

OK


Starting kernel ...

____________________________________________________

And i thought 
## Booting kernel from Legacy Image at 32000000 ...
takes the address starting 32000000

so I change my uImage Load point address to same and then try booting it

And I get this

___________________________________________________


U-Boot 1.3.2-mini2440 (Feb 24 2010 - 13:04:49)


I2C:   ready

DRAM:  64 MB

Flash:  2 MB

NAND:  256 MiB

Found Environment offset in OOB..

USB:   S3C2410 USB Deviced

In:    serial

Out:   serial

Err:   serial

MAC: 08:08:11:18:12:27

Hit any key to stop autoboot:  0 


Loading from NAND 256MiB 3,3V 8-bit, offset 0x60000

   Image Name:   DRTSK

   Created:      2013-01-28  12:11:58 UTC

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    1168832 Bytes =  1.1 MB

   Load Address: 32000000

   Entry Point:  32000000

## Booting kernel from Legacy Image at 32000000 ...

   Image Name:   DRTSK

   Created:      2013-01-28  12:11:58 UTC

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    1168832 Bytes =  1.1 MB

   Load Address: 32000000

   Entry Point:  32000000

   Verifying Checksum ... OK

   XIP Kernel Image ... OK


Starting kernel ...

_________________________________________________________


Only change observed is last but one line 

at address 0x30000000 says 
  Loading Kernel Image ... OK

at address 0x32000000 says

  XIP Kernel Image ... OK


-- what does it mean ?
-- what is a legacy Image ?
-- I have used ADS 1.2 to compile codes ; 

used mkimage to make image
__________________________________________________
mkimage -A arm -O linux -T kernel -C none -a 0x32000000  -n "-----" -d
my.bin uImage
______________________________________________

it gives the following info :-
__________________________________________
Image Name:   -----
Created:      Mon Jan 28 17:41:58 2013
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    1168832 Bytes = 1141.44 kB = 1.11 MB
Load Address: 32000000
Entry Point:  32000000

_______________________________________________________


can you spot any error?

ddq
Data cache must be off before starting the kernel.
see http://www.simtec.co.uk/products/SWLINUX/files/booting_article.html

I use u-boot-2013.07, it puts "WARNING: Caches not enabled".
so, I add enable_caches() in mini2440.c:
  void enable_caches(void)
  {
  icache_enable();
  dcache_enable();
  } 

and when booting the kernel, it hangs.

If i remove the dcache_enable(), the kernel works OK.

Akka
Dear all,

I have s3c2410 ARM9 board,SMDK2410,ARM920T,64 MB Flash.

I have vivi boot loader which came with board.
I want to transplant latest U-Boot loader to my board.
Any one have U-Boot bin file or steps how to modify the U-boot source
code,compile for s3c2410 board.

I am struggling since from 1 year.Please help me.
You can send to my mail id aprakash@ueic.com

Thanks.

Akka
Hi All,

No one helped me. Finally I worked hard to solve the U-boot-1.3.2
transplantation to my S3c2410 board. I have succeeded in it.

Now I am stuck with DM9000 Ethernet chip porting to my board.
I am getting error "DM9000 not found 0x28000000 at id 0x2B2A2928"

Can any body help me.

Juergen
Hmm, maybe you should use FriendlyARM hardware instead? ;)

dpmahesh
Hi Dirk,
Although this is year old, I am pinging to know about the solution.

Did you solved the problem of booting on Mini2440 board?

I also ran into the same problem, trying to find solution, thought it would
be helpful to know how others solved it.

your help much appreciated.

Does anyone(experts) have the solution to the kernel hang problem?
Please respond.

Thanks

chandana priya salva
My kernel is not booting after Uncompressing Linux.........booting Done
message
Am using i.mx6sl arm cortex A9 processor.My task is to upgrade the existing
u-boot and kernel to uboot and kernel which has device tree support.

Reply

Name
eMail (not visible)
Subject (no text only in upper case; no HELP, URGENT...)
Text
HTML tags are not supported and links are generated automatically if they start with http or ftp.
Please submit long source code or log files as attachment (only registered users).
Please enter the number: 3 3 2 3