[U-Boot-Users] RAMDISK image in flash not getting mounted - Memec Powerpc405 board
Shamile Khan
shamile at yahoo.com
Wed Nov 12 02:59:02 CET 2003
Hi,
There is some progress. My kernel configuration was bad. I
had ONFIG_EXPERIMENTAL which is needed for
CONFIG_DEVFS_FS and CONFIG_DEVFS_MOUNT.
Now I can get a really simple ramdisk image (obtained from
Xilinx) which only prints Hello world and echoes everything
I type.
So I decided to try the ppc4xx ramdisk from DENX and I am
getting this error
EXT2-fs error (device ramdisk(1,0)): ext2_check_page: bad
entry in directory #2: rec_len is smaller than minimal -
offset=0, inode=0, rec_len=0, name_len=0
Does this imply that some entry in the filesystem is
corrupted?
My kernel boot log and a gdb backtrace (via abatron) is
below:
kernel boot log
---------------
=> bootm fe300000 fe500000
## Booting image at fe300000 ...
Image Name: Linux-2.4.23-pre6
Image Type: PowerPC Linux Kernel Image (gzip
compressed)
Data Size: 500501 Bytes = 488.8 kB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
## cmdline at 0x007FFC00 ... 0x007FFC2D
memstart = 0x00000000
memsize = 0x02000000
flashstart = 0xFE020000
flashsize = 0x00800000
flashoffset = 0x0001F900
sramstart = 0x00000000
sramsize = 0x00000000
bootflags = 0x0000C2C1
intfreq = 100 MHz
busfreq = 100 MHz
ethaddr = 00:00:00:00:00:00
IP addr = 0.0.0.0
baudrate = 115200 bps
## Loading RAMDisk Image at fe500000 ...
Image Name: Simple Embedded Linux Framework
Image Type: PowerPC Linux RAMDisk Image (gzip
compressed)
Data Size: 1476478 Bytes = 1.4 MB
Load Address: 00000000
Entry Point: 00000000Verifying Checksum ... OK
Loading Ramdisk to 01e43000, end 01fab77e ... OK
Linux version 2.4.23-pre6 (shamile at ws022.ecsi.ca) (gcc
version 2.95.4 20010319 (prerelease/franzo/20011204)) #4
Tue Nov 11 15:37:30 EST 2003
Xilinx Virtex-II Pro port (C) 2002 MontaVista Software,
Inc. (source at mvista.com)On node 0 totalpages: 8192
zone(0): 8192 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: console=ttyS0,115200 mem=32M
root=/dev/ram rw
Xilinx INTC #0 at 0xFEFE2FC0 mapped to 0xFDFFEFC0
Calibrating delay loop... 99.73 BogoMIPS
Memory: 29664k available (912k kernel code, 304k data, 52k
init, 0k highmem)
Dentry cache hash table entries: 4096 (order: 3, 32768
bytes)
Inode cache hash table entries: 2048 (order: 2, 16384
bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer cache hash table entries: 1024 (order: 0, 4096
bytes)
Page-cache hash table entries: 8192 (order: 3, 32768 bytes)
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
devfs: v1.12c (20020818) Richard Gooch
(rgooch at atnf.csiro.au)
devfs: boot_options: 0x1
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with no serial
options enabled
ttyS00 at 0xfdfff003 (irq = 31) is a 16450
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024
blocksize
loop: loaded (max 8 devices)
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 2048 bind 2048)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
RAMDISK: Compressed image found at block 0
Freeing initrd memory: 1441k freed
VFS: Mounted root (ext2 filesystem).
Mounted devfs on /dev
Freeing unused kernel memory: 52k init
serial console detected. Disabling virtual terminals.
Oops: kernel access of bad area, sig: 11
NIP: C00297FC XER: 20000000 LR: C0029924 SP: C19BFB30 REGS:
c19bfa80 TRAP: 0800
Not tainted
MSR: 00009030 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11
DEAR: 00000608, ESR: 00000000
TASK = c19be000[12] 'xinetd' Last syscall: 12
last math 00000000 last altivec 00000000
GPR00: C0029924 C19BFB30 C19BE000 C1FE2500 0000035D
00000600 C19B6BFC 00000000
GPR08: 00000400 C0120000 0000307F 00001FFF 84000008
10043878 00000000 00000000
GPR16: 00000000 00000000 00000000 C01239B4 C0067970
00000000 C01239B4 C1FE2500
GPR24: 00000000 C01B9410 0000035D C01B8000 00000600
C1FE2500 0000035D 00000600
Call backtrace:
C1FE2500 C0029924 C008B1FC C008B36C C0089650 C0089720
C003E294
C0067E04 C002929C C002930C C002B0D0 C0026420 C00265F8
C000EF4C
C0004A28 C0046454 C0047BEC C0039444 C00047DC 10009390
100096C8
1000C130 0FD74D14 00000000
EXT2-fs error (device ramdisk(1,0)): ext2_check_page: bad
entry in directory #2: rec_len is smaller than minimal -
offset=0, inode=0, rec_len=0, name_len=0
Oops: kernel access of bad area, sig: 11
NIP: C001EC20 XER: 00000000 LR: C001ECB0 SP: C0100E00 REGS:
c0100d50 TRAP: 0800
Not tainted
MSR: 00009030 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11
DEAR: 00000000, ESR: 00000000
TASK = c00ff030[0] 'swapper' Last syscall: 120
last math 00000000 last altivec 00000000
GPR00: 00000000 C0100E00 C00FF030 00000800 00001030
00000001 C0120000 C011A1E0
GPR08: 00000000 00000000 C011A1E0 C00FF030 42000000
10043878 01FFA600 00000000
GPR16: 007FFC2D 007FFC00 01FF581C 00000000 00001032
00100EF0 00000000 C0004A20
GPR24: C00060C4 00800000 C010C220 00000000 C0120000
00000001 00000000 00000001
Call backtrace:
C001EC88 C001A7C4 C001A688 C001A2C0 C00062E8 C0004A20
C0024B90
C0006088 C00060B0 C000243C C010D5A4 C0002328
Kernel panic: Aiee, killing interrupt handler!
In interrupt handler - not syncing
<0>Rebooting in 180 seconds..
abatron trace
-------------
#0 0xc00067cc in __delay ()
#1 0xc0014774 in panic (fmt=0x1cfde0 <Address 0x1cfde0 out
of bounds>) at
/home/shamile/ecsi-linux/kernel/src-linuxppc_2_4_devel/include/asm/delay.h:42
#2 0xc001897c in do_exit (code=11) at exit.c:430
#3 0xc0004bc4 in die (str=0xc00e60bc "kernel access of bad
area", fp=0xc0100d50, err=11) at traps.c:109
#4 0xc000f1ac in bad_page_fault (regs=0xb, address=4144,
sig=-1072799556) at fault.c:341
#5 0xc000f058 in do_page_fault (regs=0xc0100d50,
address=0, error_code=0) at fault.c:288
#6 0xc0004a28 in ret_from_intercept ()
#7 0xc001ec88 in timer_bh () at timer.c:686
#8 0xc001a7c4 in bh_action (nr=49857) at softirq.c:299
#9 0xc001a688 in tasklet_hi_action (a=0xc2c1) at
softirq.c:229
#10 0xc001a2c0 in do_softirq () at softirq.c:90
#11 0xc00062e8 in timer_interrupt (regs=0xc0100f00) at
time.c:209
#12 0xc0004a20 in ret_from_fork ()
#13 0xc0024b90 in check_pgt_cache () at memory.c:138
#14 0xc0006088 in idled () at idle.c:68
#15 0xc00060b0 in cpu_idle () at idle.c:84
#16 0xc000243c in rest_init () at init/main.c:346
#17 0xc010d5a4 in start_kernel () at init/main.c:440
#18 0xc0002328 in start_here ()
Thanks,
Shamile
--- Wolfgang Denk <wd at denx.de> wrote:
> Hello,
>
> in message
> <20031106213306.15958.qmail at web11609.mail.yahoo.com> you
> wrote:
> >
> > I tried pRamdisk for ppc_4xxFP and ppc_4xx. I am not
> sure
> > of the difference between ppc_4xxFP and ppc_4xx. But
> just a
> > heads up. With ppc_4xxFP, I get the same results as for
> the
>
> ppc_4xxFP is for PPC 4xx processors with floating point
> unit; your
> processor belongs not to this group.
>
> All this is documented - please see the DULG (to be more
> precise, see
> the table at end of section 3.5 at
> http://www.denx.de/twiki/bin/view/DULG/ELDKUsage
>
>
> > With ppc_4xx, I get these messages
> >
> > Freeing unused kernel memory: 52k init
> > serial console detected. Disabling virtual terminals.
> > Oops: kernel access of bad area, sig: 11
> > NIP: C00112C8 XER: 00000000 LR: C00112AC SP: C19CFF10
> REGS:
> > c19cfe60 TRAP: 0800 Not tainted
> > MSR: 00009030 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11
> > DEAR: 39600410, ESR: 00000000
> > TASK = c19ce000[12] 'xinetd' Last syscall: 3
> > last math 00000000 last altivec 00000000
> > GPR00: ED0001FE C19CFF10 C19CE000 00009030 00001030
> > C0101AE8 C1E44260 00000000
> > GPR08: C0101AE8 09B003ED C00F8030 396003F0 00000001
> > 10043878 00000000 00000000
> > GPR16: 00000000 00000000 00000000 00000000 00001032
> > 019CFF40 00000000 C00049E0
> > GPR24: C000608C 10024CB0 30025ACC 10025A48 C1E86000
> > C0104C80 00000000 C19CFF10
> > Call backtrace:
> > 0EC82E3A C0004A04 10007570 10007614 10009714 1000C134
> > 0FD74D14
> > 00000000
>
> Well, and which results did you get when decoding
> this call
> backtrace?
>
> > I also have a question concerning Linux debugging with
> > abatron. I can set an instruction breakpoint (e.g at
> > start_here in the kernel) when I use a zImage.elf image
> but
>
> zImage.elf is definitely not what you want to use. You
> have to use
> the vmlinux file in the kernel's top level directory.
>
> > the same breakpoint doesnt work when I use u-boot to
> boot
> > vmlinux.PPCBoot image.
>
> See
>
http://www.denx.de/twiki/bin/view/DULG/DebuggingLinuxKernel
>
> Best regards,
>
> Wolfgang Denk
>
> --
> Software Engineering: Embedded and Realtime Systems,
> Embedded Linux
> Phone: (+49)-8142-4596-87 Fax: (+49)-8142-4596-88
> Email: wd at denx.de
> You speak of courage. Obviously you do not know the
> difference bet-
> ween courage and foolhardiness. Always it is the brave
> ones who die,
> the soldiers.
> -- Kor, the Klingon Commander, "Errand of Mercy",
> stardate 3201.7
__________________________________
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard
http://antispam.yahoo.com/whatsnewfree
More information about the U-Boot
mailing list