
On Mon, Dec 20, 2004 at 02:37:25PM +0100, jean-paul.saman@philips.com wrote:
I am trying to boot on an ARM-Integrator AP a linux-2.6.9 kernel with u-boot. I tried u-boot-1.1.1 stable and cvs, but both result in "data abort" just at the point of "Starting kernel .... ". Here is the dump from minicom:
Integrator-AP # bootm 24400000 Boot reached stage 1 ## Booting image at 24400000 ... Boot reached stage 2 Boot reached stage 3 Image Name: Linux-2.6.9 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 1216080 Bytes = 1.2 MB Load Address: 00008000 Entry Point: 00008000 Boot reached stage 4 Boot reached stage 5 Boot reached stage 6 OK Boot reached stage 7 Boot reached stage 8 Boot reached stage 14 No initrd Boot reached stage 15 ## Transferring control to Linux (at address 00008000) ...
Starting kernel ...
data abort pc : [<0000801c>] lr : [<0100bcbc>]
That is a rather odd address to have an abort at assuming you're using the uImage obtained from `make uImage` because there are normally NOPs from 0x8000 through 0x801f, e.g.
../BUILD/integrator/default/arch/arm/boot/compressed/vmlinux: file format elf32-littlearm
Disassembly of section .text:
00000000 <start>: 0: e1a00000 nop (mov r0,r0) 4: e1a00000 nop (mov r0,r0) 8: e1a00000 nop (mov r0,r0) c: e1a00000 nop (mov r0,r0) 10: e1a00000 nop (mov r0,r0) 14: e1a00000 nop (mov r0,r0) 18: e1a00000 nop (mov r0,r0) 1c: e1a00000 nop (mov r0,r0) 20: ea000002 b 30 <_text+0x30>
sp : 00fd7bd4 ip : 00fd7bc4 fp : 00fd7c10 r10: 00000000 r9 : 00fd7c84 r8 : 00fd7fdc r7 : 0100f1b4 r6 : 0100f1b4 r5 : 00000000 r4 : 24400040 r3 : e1a00001 r2 : 00000100 r1 : e1a00000 r0 : 00000000 Flags: nZCv IRQs off FIQs off Mode SVC_32 Resetting CPU ...
Has anyone succeeded in booting a 2.6.x kernel with u-boot?
FWIW, I just booted 2.6.10-rc3 bk latest on IntegratorAP with ARM920T processor module using latest u-boot CVS:
Integrator-AP # bootm 0x800000 ## Booting image at 00800000 ... Image Name: Linux-2.6.10-rc3 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 1199040 Bytes = 1.1 MB Load Address: 00008000 Entry Point: 00008000 OK No initrd ## Transferring control to Linux (at address 00008000) ...
Starting kernel ...
Uncompressing Linux.................................................................................. done, booting the kernel. Linux version 2.6.10-rc3 (gdavis@localhost) (gcc version 3.3.1 (MontaVista 3.3.1-3.0.10.0300532 2003-12-24)) #6 Mon Dec 20 14:46:41 EST 2004 CPU: ARM920Tid(wb) [41129200] revision 0 (ARMv4T) CPU: D VIVT write-back cache CPU: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets CPU: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets Machine: ARM-Integrator Memory policy: ECC disabled, Data cache writeback Built 1 zonelists Kernel command line: console=ttyAM0,38400n8 root=/dev/nfs ip=bootp mem=32M PID hash table entries: 256 (order: 8, 4096 bytes) Console: colour dummy device 80x30 Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) Memory: 32MB = 32MB total Memory: 29696KB available (1864K code, 458K data, 308K init) Mount-cache hash table entries: 512 (order: 0, 4096 bytes) CPU: Testing write buffer coherency: ok NET: Registered protocol family 16 PCI: bus0: Fast back to back transfers disabled PCI: bus1: Fast back to back transfers enabled PCI: Bus 1, bridge: 0000:00:09.0 IO window: disabled. MEM window: disabled. PREFETCH window: disabled. NetWinder Floating Point Emulator V0.97 (double precision) Installing knfsd (copyright (C) 1996 okir@monad.swb.de). JFFS2 version 2.2. (C) 2001-2003 Red Hat, Inc. matroxfb: Matrox Millennium II (PCI) detected matroxfb: 640x480x8bpp (virtual: 640x13081) matroxfb: framebuffer at 0x50000000, mapped to 0xc2880000, size 8388608 fb0: MATROX frame buffer device fb0: initializing hardware Serial: AMBA driver $Revision: 1.41 $ ttyAM0 at MMIO 0x16000000 (irq = 1) is a AMBA ttyAM1 at MMIO 0x17000000 (irq = 2) is a AMBA io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize loop: loaded (max 8 devices) e100: Intel(R) PRO/100 Network Driver, 3.2.3-k2-NAPI e100: Copyright(c) 1999-2004 Intel Corporation e100: eth0: e100_probe: addr 0x40908000, irq 16, MAC addr 00:03:47:95:50:65 elevator: using anticipatory as default io scheduler mice: PS/2 mouse device common for all mice NET: Registered protocol family 2 IP: routing cache hash table of 512 buckets, 4Kbytes TCP: Hash tables configured (established 2048 bind 4096) NET: Registered protocol family 1 NET: Registered protocol family 17 e100: eth0: e100_watchdog: link up, 10Mbps, half-duplex Sending BOOTP requests . OK IP-Config: Got BOOTP answer from 192.168.1.103, my address is 192.168.1.84 IP-Config: Complete: device=eth0, addr=192.168.1.84, mask=255.255.255.0, gw=192.168.1.1, host=192.168.1.84, domain=, nis-domain=(none), bootserver=192.168.1.103, rootserver=192.168.1.103, rootpath=/tftpboot/integrator Looking up port of RPC 100003/2 on 192.168.1.103 Looking up port of RPC 100005/1 on 192.168.1.103 VFS: Mounted root (nfs filesystem). INIT: version 2.78 booting Activating swap... Checking all file systems... fsck 1.27 (8-Mar-2002) Calculating module dependencies... done. Loading modules: Mounting local filesystems... nothing was mounted Cleaning: /etc/network/ifstate. Setting up IP spoofing protection: rp_filter. Disable TCP/IP Explicit Congestion Notification: done. Configuring network interfaces: done. Starting portmap daemon: portmap. Mounting remote filesystems... Cleaning: /tmp /var/lock /var/run. INIT: Entering runlevel: 3 Starting kernel log daemon: klogd. Starting system log daemon: syslogd. Starting internet superserver: inetd.
MontaVista(R) Linux(R) Professional Edition 3.1
192.168.1.84 login:
Kind greetings,
Jean-Paul Saman
-- Regards, George