LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware > Linux - Embedded & Single-board computer
User Name
Password
Linux - Embedded & Single-board computer This forum is for the discussion of Linux on both embedded devices and single-board computers (such as the Raspberry Pi, BeagleBoard and PandaBoard). Discussions involving Arduino, plug computers and other micro-controller like devices are also welcome.

Notices


Reply
 
Search this Thread
Old 08-30-2013, 12:45 PM   #1
LMiguel
LQ Newbie
 
Registered: Aug 2013
Posts: 3

Rep: Reputation: Disabled
kernel 2.6.38 crash uncompressing rdimg


Hi everybody,

I have a custom board with a PowerPC MPC8347.
It loads and mounts a ramdrive.

Everything works fine with 512MB of RAM.
The RAM has been upgraded to 1GB and the support was made successfuly in the u-boot.
But the kernel crashes when unzipping the ramdrive.
If, in u-boot, I set "mem=512M" in the bootargs, it boots fine as before.

Here's the kernel output:

NOTE: kernel indicates only 756MB of RAM because I don't have High memmory support activated.
Code:
Linux version 2.6.38-rc5-ptin+ (alex@ubuntu) (gcc version 4.0.2 20060628 (Wasabi)) #21 Sat Dec 10 23:47:20 WET 2011
Found initrd at 0xce486000:0xcff98399
bootconsole [udbg0] enabled
setup_arch: bootmem
olt7_8ch_setup_arch()
Found FSL PCI host bridge at 0x00000000e0008500. Firmware bus number: 0->0
PCI host bridge /soc8347@e0000000/pci@8500 (primary) ranges:
arch: exit
Zone PFN ranges:
  DMA      0x00000000 -> 0x00030000
  Normal   empty
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0: 0x00000000 -> 0x00030000
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 195072
Kernel command line: root=/dev/ram rw console=ttyS0,115200 ip=off
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 746032k/786432k available (4012k kernel code, 40400k reserved, 156k data, 1226k bss, 196k init)
Kernel virtual memory layout:
  * 0xfffdf000..0xfffff000  : fixmap
  * 0xfdffd000..0xfe000000  : early ioremap
  * 0xf1000000..0xfdffd000  : vmalloc & ioremap
NR_IRQS:512
IPIC (128 IRQ sources) at f1000700
clocksource: timebase mult[79364d9] shift[22] registered
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
NET: Registered protocol family 16

PCI: Probing PCI hardware
PCI: I/O resource not set for host bridge /soc8347@e0000000/pci@8500 (domain 0)
PCI: Memory resource 0 not set for host bridge /soc8347@e0000000/pci@8500 (domain 0)
pci 0000:00:0a.0: BAR 0: assigned [mem 0xa0000000-0xa000ffff]
pci 0000:00:0a.0: BAR 0: set to [mem 0xa0000000-0xa000ffff] (PCI address [0xa0000000-0xa000ffff])
bio: create slab <bio-0> at 0
vgaarb: loaded
SCSI subsystem initialized
Switching to clocksource timebase
NET: Registered protocol family 2
IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 6, 262144 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
TCP reno registered
UDP hash table entries: 512 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Trying to unpack rootfs image as initramfs...
rootfs image is not initramfs (no cpio magic); looks like an initrd
Freeing initrd memory: 27720k freed
msgmni has been set to 1513
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0xe0004500 (irq = 0) is a 16550A
console [ttyS0] enabled, bootconsole disabled
console [ttyS0] enabled, bootconsole disabled
serial8250.0: ttyS1 at MMIO 0xe0004600 (irq = 0) is a 16550A
brd: module loaded
loop: module loaded
Fixed MDIO Bus: probed
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
i2c /dev entries driver
TCP cubic registered
NET: Registered protocol family 17
Registering the dns_resolver key type
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
RAMDISK: gzip image found at block 0
Unable to handle kernel paging request for data at address 0x4bfffe84
Faulting instruction address: 0xc008e3d0
Oops: Kernel access of bad area, sig: 11 [#1]
OLT7_8CH
last sysfs file:
Modules linked in:
NIP: c008e3d0 LR: c008e39c CTR: 00000001
REGS: ef82db80 TRAP: 0300   Not tainted  (2.6.38-rc5-ptin+)
MSR: 00001032 <ME,IR,DR>  CR: 24024082  XER: 20000000
DAR: 4bfffe84, DSISR: 20000000
TASK = ef81eb70[1] 'swapper' THREAD: ef82c000
GPR00: 00001032 ef82dc30 ef81eb70 00000000 000000d0 00000241 000000d0 00000000
GPR08: 00000000 c0410000 4bfffe84 00000000 24024082 101f36c8 00000000 ef82de38
GPR16: 00000000 00240124 00000001 00000000 c02cca94 00001000 00000edc ef82dd00
GPR24: 00000000 ef872720 c00c2854 c0402df0 ef804140 000000d0 00009032 00000000
NIP [c008e3d0] kmem_cache_alloc+0x5c/0xdc
LR [c008e39c] kmem_cache_alloc+0x28/0xdc
Call Trace:
[ef82dc30] [c006905c] __alloc_pages_nodemask+0xdc/0x57c (unreliable)
[ef82dc50] [c018dbec] radix_tree_preload+0x3c/0xb8
[ef82dc70] [c00641fc] add_to_page_cache_locked+0x28/0x194
[ef82dc90] [c00643b0] add_to_page_cache_lru+0x48/0x98
[ef82dca0] [c0065860] grab_cache_page_write_begin+0x6c/0xa4
[ef82dcc0] [c00bdde0] block_write_begin+0x3c/0x98
[ef82dce0] [c00c0b74] blkdev_write_begin+0x1c/0x2c
[ef82dcf0] [c0063f38] generic_file_buffered_write+0x19c/0x258
[ef82dd60] [c0065bfc] __generic_file_aio_write+0x2c4/0x494
[ef82ddd0] [c00c0f64] blkdev_aio_write+0x3c/0xd4
[ef82ddf0] [c0092950] do_sync_write+0xa8/0x11c
[ef82de90] [c0093be8] vfs_write+0xcc/0x16c
[ef82deb0] [c009407c] sys_write+0x4c/0xa4
[ef82dee0] [c03bb2c8] compr_flush+0x2c/0x80
[ef82def0] [c03d5278] gunzip+0x28c/0x3bc
[ef82df30] [c03bb558] rd_load_image+0x1fc/0x65c
[ef82df80] [c03bbb28] initrd_load+0x50/0x33c
[ef82dfb0] [c03bb0a0] prepare_namespace+0x104/0x21c
[ef82dfd0] [c03ba8f4] kernel_init+0x138/0x174
[ef82dff0] [c000dffc] kernel_thread+0x4c/0x68
Instruction dump:
2f830000 419e001c 80010024 7fe3fb78 bb810010 38210020 7c0803a6 4e800020
7fc000a6 57c0045e 7c000124 815c0000 <812a0000> 2f890000 419e0064 3809ffff
---[ end trace a5d4a87e24012d0d ]---
Unable to handle kernel paging request for data at address 0x38c00000
Faulting instruction address: 0xc008ddbc
Oops: Kernel access of bad area, sig: 11 [#2]
OLT7_8CH
last sysfs file:
Modules linked in:
NIP: c008ddbc LR: c01ab660 CTR: 00000000
REGS: ef82d930 TRAP: 0300   Tainted: G      D      (2.6.38-rc5-ptin+)
MSR: 00001032 <ME,IR,DR>  CR: 22242024  XER: 20000000
DAR: 38c00000, DSISR: 20000000
TASK = ef81eb70[1] 'swapper' THREAD: ef82c000
GPR00: 00000000 ef82d9e0 ef81eb70 ef8000c0 00000001 00000001 00000000 ef872820
GPR08: ed9b89a8 00000000 c0547000 c0410000 24024028 101f36c8 00000000 ef82de38
GPR16: 00000000 20000000 00000000 ed9c6cf0 ed9c6ce8 000000f0 000000e8 ef400710
GPR24: c0400000 00000001 00000000 00000000 ef872820 ed9b89a0 00001032 38c00000
NIP [c008ddbc] kfree+0x6c/0xdc
LR [c01ab660] tty_del_file+0x4c/0x5c
Call Trace:
[ef82d9e0] [ef872820] 0xef872820 (unreliable)
[ef82da00] [c01ab660] tty_del_file+0x4c/0x5c
[ef82da10] [c01ad218] tty_release+0x344/0x4e4
[ef82daa0] [c0094940] fput+0xac/0x1e8
[ef82dac0] [c0091afc] filp_close+0x70/0xac
[ef82dae0] [c0030870] put_files_struct+0x9c/0x104
[ef82db00] [c00312c0] do_exit+0xcc/0x5c8
[ef82db40] [c000bd74] kernel_bad_stack+0x0/0x4c
[ef82db60] [c0015ee0] bad_page_fault+0xc4/0x10c
[ef82db70] [c00129f4] handle_page_fault+0x7c/0x80
--- Exception: 300 at kmem_cache_alloc+0x5c/0xdc
    LR = kmem_cache_alloc+0x28/0xdc
[ef82dc30] [c006905c] __alloc_pages_nodemask+0xdc/0x57c (unreliable)
[ef82dc50] [c018dbec] radix_tree_preload+0x3c/0xb8
[ef82dc70] [c00641fc] add_to_page_cache_locked+0x28/0x194
[ef82dc90] [c00643b0] add_to_page_cache_lru+0x48/0x98
[ef82dca0] [c0065860] grab_cache_page_write_begin+0x6c/0xa4
[ef82dcc0] [c00bdde0] block_write_begin+0x3c/0x98
[ef82dce0] [c00c0b74] blkdev_write_begin+0x1c/0x2c
[ef82dcf0] [c0063f38] generic_file_buffered_write+0x19c/0x258
[ef82dd60] [c0065bfc] __generic_file_aio_write+0x2c4/0x494
[ef82ddd0] [c00c0f64] blkdev_aio_write+0x3c/0xd4
[ef82ddf0] [c0092950] do_sync_write+0xa8/0x11c
[ef82de90] [c0093be8] vfs_write+0xcc/0x16c
[ef82deb0] [c009407c] sys_write+0x4c/0xa4
[ef82dee0] [c03bb2c8] compr_flush+0x2c/0x80
[ef82def0] [c03d5278] gunzip+0x28c/0x3bc
[ef82df30] [c03bb558] rd_load_image+0x1fc/0x65c
[ef82df80] [c03bbb28] initrd_load+0x50/0x33c
[ef82dfb0] [c03bb0a0] prepare_namespace+0x104/0x21c
[ef82dfd0] [c03ba8f4] kernel_init+0x138/0x174
[ef82dff0] [c000dffc] kernel_thread+0x4c/0x68
Instruction dump:
7c695214 70098000 40820064 80030000 70098000 40820084 80030000 68000080
5400cffe 0f000000 80630018 83e30000 <817f0000> 801f0004 7f8b0040 409c0038
---[ end trace a5d4a87e24012d0e ]---
Fixing recursive fault but reboot is needed!
Unable to handle kernel paging request for data at address 0x7ca50214
Faulting instruction address: 0xc008db84
Oops: Kernel access of bad area, sig: 11 [#3]
OLT7_8CH
last sysfs file:
Modules linked in:
NIP: c008db84 LR: c008dfc0 CTR: c002a060
REGS: ef899e70 TRAP: 0300   Tainted: G      D      (2.6.38-rc5-ptin+)
MSR: 00009032 <EE,ME,IR,DR>  CR: 42002024  XER: 00000000
DAR: 7ca50214, DSISR: 20000000
TASK = ef845070[12] 'kworker/0:1' THREAD: ef898000
GPR00: c008dfc0 ef899f20 ef845070 ef8047a0 38a0ffff 7ca50214 00000000 00000000
GPR08: 00000001 c04125d4 fffffcc6 00000000 22000028 101f36c8 00000000 00000000
GPR16: 3a1b0630 3f192330 00000000 00000000 00000000 00000000 00000000 00000000
GPR24: 00000000 c008df38 00000000 c0400000 c03fda0c c0410000 ef8047a0 7ca50214
NIP [c008db84] drain_array+0x18/0x104
LR [c008dfc0] cache_reap+0x88/0x128
Call Trace:
[ef899f20] [00001032] 0x1032 (unreliable)
[ef899f40] [c008dfc0] cache_reap+0x88/0x128
[ef899f60] [c0043a1c] process_one_work+0x114/0x350
[ef899f90] [c0043fd0] worker_thread+0x1b4/0x2f4
[ef899fb0] [c00482ec] kthread+0x7c/0x80
[ef899ff0] [c000dffc] kernel_thread+0x4c/0x68
Instruction dump:
7c004850 90050018 4bfffe21 4bffff1c 8084000c 4bffff44 9421ffe0 7c0802a6
bfa10014 7cbf2b79 90010024 41820088 <801f0000> 2f800000 419e007c 801f000c
---[ end trace a5d4a87e24012d0f ]---
Then, it keeps printing these exceptions for a while (too much info to put here) and then finally decides that it must reboot.

Can you help me find what's wrong?

Best regards,
LM

Last edited by onebuck; 08-31-2013 at 02:26 AM. Reason: clean post by using vbcode tags.
 
Old 09-01-2013, 03:52 AM   #2
business_kid
Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware & Android
Posts: 6,873

Rep: Reputation: 614Reputation: 614Reputation: 614Reputation: 614Reputation: 614Reputation: 614
Quote:
Unable to handle kernel paging request for data at address 0x4bfffe84
Faulting instruction address: 0xc008e3d0
Oops: Kernel access of bad area, sig: 11 [#1]
It seems to be telling you it has trouble. That is 1.27507^09 decimal, so I'm not surprised. You only gave it a gig. That's over a gig.

Try passing the ram as 1G

Last edited by business_kid; 09-01-2013 at 08:02 AM.
 
Old 09-01-2013, 10:32 AM   #3
LMiguel
LQ Newbie
 
Registered: Aug 2013
Posts: 3

Original Poster
Rep: Reputation: Disabled
Hi,

I tried passing 1GB first.
The output I posted was a result of an experience where I used the original kernel that boots perfectly with 512M of RAM.
The memmory info is passed to the kernel through the dtb that is filled by the u-boot.
To support 1GB I need to recompile kernel with High Memmory support. Without it, kernel supports 756MB maximum.

Thanks
LM
 
Old 09-01-2013, 11:16 AM   #4
business_kid
Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware & Android
Posts: 6,873

Rep: Reputation: 614Reputation: 614Reputation: 614Reputation: 614Reputation: 614Reputation: 614
Sounds like you found it. Mark it solved then.
 
Old 09-02-2013, 04:14 AM   #5
LMiguel
LQ Newbie
 
Registered: Aug 2013
Posts: 3

Original Poster
Rep: Reputation: Disabled
Hi,

I've not explained me well.
In any situation I get this crash.
I've tried without High memmory support to reduce complexity in memmory management and see if it's easier to find the origin of the problem. Without High memmory support it should work, but only with 756MB of RAM.

Meanwhile, doing some more debug, I've detected that the crash occurs during the process of decompressing the ramdrive. After decompressing a bunch of blocks it crashes, somehow it goes out of bounds of the memmory. I know that this doesn't add much but it's just an update.

Regards,
LMP
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
uncompressing linux ok, booting the kernel 'then nothing' fez1200 Linux - Newbie 12 11-17-2010 12:05 PM
Uncompressing linux... Ok, booting the kernel PlatinumX Linux - Newbie 3 11-12-2008 11:59 AM
Grub freezes before `Uncompressing kernel' JackTheGrubber Linux - Software 8 09-09-2007 07:09 PM
smp kernel: uncompressing Linux ..ok booting the kernel krissb Linux - General 1 11-16-2005 06:31 PM
Uncompressing Linux... Ok, booting the kernel GlobShim Linux - General 2 01-29-2004 05:24 PM


All times are GMT -5. The time now is 05:59 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration