3.0.35 kernel on iMX6Q Sabre Lite

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

3.0.35 kernel on iMX6Q Sabre Lite

Jump to solution
8,943 Views
marcinmiklas
Contributor III

I've recently tried the 3.0.35 kernel from L3.0.35_12.09.03_ER. It is very unstable no matter what kernel configuration I'm using, even on kernel provided in debian package in L3.0.35_12.09.03_ER

 

It crashes with errors like:

 

Unable to handle kernel paging request at virtual address ffffffff

pgd = ba2f4000

[ffffffff] *pgd=4fffe821, *pte=00000000, *ppte=00000000

Internal error: Oops: 17 [#1] PREEMPT SMP

Modules linked in:

CPU: 1    Not tainted  (3.0.35 #1)

PC is at anon_vma_clone+0x4c/0x158

LR is at anon_vma_clone+0x3c/0x158

pc : [<800e0504>]    lr : [<800e04f4>]    psr: a00f0013

sp : bff8be78  ip : 0bfd7000  fp : 80ad8d40

r10: 00000000  r9 : ba142cf0  r8 : baa561c8

r7 : bff0e840  r6 : 00000000  r5 : ffffffff  r4 : bfa31f78

r3 : bff8a000  r2 : 80a7fc90  r1 : 8003d004  r0 : bfa31f78

Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user

Control: 10c53c7d  Table: 4a2f404a  DAC: 00000015

Process init (pid: 1, stack limit = 0xbff8a2f0)

Stack: (0xbff8be78 to 0xbff8c000)

be60:                                                       2ab98fff bff0e878

be80: 80ad8d20 ba142cb8 bff0e840 ba142cb8 bff0e754 80acdd20 00000001 bff0e738

bea0: bc0b07dc 800e0630 bff0e840 bfc29040 ba142cb8 bff0e754 80acdd20 8007138c

bec0: bffd2054 00000020 bff0e744 bff0e758 bfc28000 bff8a000 bfc2803c bfc2907c

bee0: bc0178cc ba050000 01200011 80acdd20 bff8bf08 00000000 bff8bfb0 bff8a000

bf00: 7eabd718 80072118 bfd82c80 80a97fe0 ba0501d8 ba0501d0 bff8a000 00000000

bf20: 00000000 ba050124 00000020 00000000 bffd2000 01200011 00000000 2ab91360

bf40: 00000000 800416c4 bff8a000 00000000 2ad08000 80072534 2ab913c8 00000000

bf60: 00000000 bff8bf80 800416c4 7eabd91c 00000008 00000000 7eabd91c 80081910

bf80: 7ffbfeff fffffffe 00000000 00000000 0000000b 2ab913c8 7eabd720 2ab91360

<0>bfa0: 00000078 80041540 00000000 2ab913c8 01200011 00000000 00000000 00000000

bfc0: 2ab913c8 7eabd720 2ab91360 00000078 2ab91820 00000001 00000001 2ad08000

bfe0: 00000078 7eabd718 2ac97edf 2ac41276 000f0030 01200011 00000000 00000000

[<800e0504>] (anon_vma_clone+0x4c/0x158) from [<800e0630>] (anon_vma_fork+0x20/)

[<800e0630>] (anon_vma_fork+0x20/0x130) from [<8007138c>] (dup_mm+0x1a8/0x4d8)

[<8007138c>] (dup_mm+0x1a8/0x4d8) from [<80072118>] (copy_process+0x9e4/0xdb8)

[<80072118>] (copy_process+0x9e4/0xdb8) from [<80072534>] (do_fork+0x48/0x2a4)

[<80072534>] (do_fork+0x48/0x2a4) from [<80041540>] (ret_fast_syscall+0x0/0x30)

Code: e2504000 11a0a006 0a000024 e5985004 (e5956000)

---[ end trace 8479eb65fc3380dc ]---

 

Virtual addresses are different each time.

 

With kernel 3.0.15 and the same rootfs everything works perfectly. Have somebody experienced simillar issue?

 

Googling the issue suggests that the broken memory might be an issue, but I run the memcheck program on 3.0.15 kernel and it founds nothing.

 

I would really appreciate any help.

 

Regards,

Marcin Miklas

 

PS. More crashes attached.

Original Attachment has been moved to: 3.0.35_crashes.zip

Labels (2)
Tags (2)
1 Solution
4,136 Views
JasonLiu
NXP Employee
NXP Employee

This 12.09.03 release is for the i.MX6DL Beta release. Could you please use the i.MX6Q GA release, which has been released out recently.

View solution in original post

0 Kudos
50 Replies
1,588 Views
daiane_angolini
NXP Employee
NXP Employee

I got find and gst-inspect until the end.

Could you share the memtester? I can give it a try with my board.

(are our environment the same?)

0 Kudos
1,593 Views
marcinmiklas
Contributor III

Daiane,
memtester is included in ubuntu repositories, if you try oneiric image then you can easily install it:
apt-get install memtester

You can also try play some video using gplay. It could make it crash faster.

Yes we have the same board revision.

0 Kudos
1,593 Views
daiane_angolini
NXP Employee
NXP Employee

I'm not using ubuntu pre-built image.

Can you send me the binary file?

0 Kudos
1,593 Views
daiane_angolini
NXP Employee
NXP Employee

I mean, the memtester binary file.

I want to test it in my rootfs. If it's kernel crash/bug I will be able to reproduce it over here.

0 Kudos
4,137 Views
JasonLiu
NXP Employee
NXP Employee

This 12.09.03 release is for the i.MX6DL Beta release. Could you please use the i.MX6Q GA release, which has been released out recently.

0 Kudos
1,597 Views
marcinmiklas
Contributor III

I've took oneiric.tar.gz from L3.0.35_12.09.01_GA_images_MX6Q. Upgraded u-boot on the board to u-boot-mx6q-sabrelite.bin. Modified uboot environment a little to make it able read kernel from rootfs.

Problems are basically the same.

3.0.35 crash - Pastebin.com

0 Kudos
1,597 Views
RandyKrakora
NXP Employee
NXP Employee

DId you use the kernel from L3.0.35_12.09.01_GA_images_MX6Q as well?

0 Kudos
1,597 Views
marcinmiklas
Contributor III

yes, the one from /boot folder in oneiric.tar.gz

0 Kudos
1,597 Views
RandyKrakora
NXP Employee
NXP Employee

What do you uboot environment variables look like?

Regards,

Randy Krakora

0 Kudos
1,597 Views
marcinmiklas
Contributor III

MX6Q SABRELITE U-Boot > printenv

bootdelay=3

baudrate=115200

ipaddr=192.168.1.103

serverip=_SERVER_IP_ADDR_

netmask=255.255.255.0

loadaddr=0x10800000

rd_loadaddr=0x11000000

netdev=eth0

ethprime=FEC0

uboot=u-boot.bin

kernel=uImage

bootargs=console=ttymxc1,115200

bootargs_base=setenv bootargs console=ttymxc1,115200

bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp video=mxcfb0:dev=ldb,LDB-XGA,if=RGB666

bootcmd_net=dhcp; run bootargs_base bootargs_nfs;bootm

bootargs_mmc=setenv bootargs ${bootargs} root=/dev/mmcblk0p1 rootwait rw video=mxcfb0:dev=ldb,LDB-XGA,if=RGB666 video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24

bootcmd=run bootcmd_mmc

clearenv=sf probe 1 && sf erase 0xc0000 0x2000 && echo restored environment to factory default

upgradeu=for disk in 0 1 ; do mmc dev ${disk} ;for fs in fat ext2 ; do ${fs}load mmc ${disk}:1 10008000 /6q_upgrade && source 10008000 ; done ; done

bootfile=_BOOT_FILE_PATH_IN_TFTP_

nfsroot=_ROOTFS_PATH_IN_NFS_

ethact=FEC0

bootcmd_mmc=for disk in 0 1 ; do mmc dev ${disk} ;for fs in fat ext2 ; do ${fs}load mmc ${disk}:1 10008000 /6q_bootscript && source 10008000 ;done ;done

stdin=serial

stdout=serial

stderr=serial

Environment size: 1171/8188 bytes

6q_bootscript contents:

set bootargs $bootargs root=/dev/mmcblk0p1 rootwait fixrtc ;

ext2load mmc ${disk}:1 10800000 /boot/uImage && bootm 10800000 ;

echo "Error loading kernel image"


0 Kudos
1,593 Views
JeffKudrick
NXP Employee
NXP Employee

In the U-Boot bootargs, the following doesn't seem correct:

video=mxcfb0:dev=ldb,LDB-XGA,if=RGB666 video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24

If the system is using dual-display, the second video needs to be on another framebuffer.

Jeff

0 Kudos
1,597 Views
daiane_angolini
NXP Employee
NXP Employee

"Error loading kernel image" is not an kernel error.


Your u-boot configuration are not good enough. Or, your kernel was not copied to right place.


Could you, please, use the default u-boot configurations and let me know the results?


And, could you, please, share how you copy uImage to your board?


(I thought you was getting a kernel crash)

0 Kudos
1,597 Views
marcinmiklas
Contributor III

The uboot config is good enough, it loads the kernel properly and runs it. The kernel gives the error:

"Unable to handle kernel paging request at virtual address 0004e844"

Also this uboot config runs 3.0.15 kernel properly.

0 Kudos
1,597 Views
RandyKrakora
NXP Employee
NXP Employee

I downloaded the 12.09 images, set up a uSD card just like yours and it loads and runs fine. I used the rootfs, not oneiric rootfs, but my uImage is stored on the uSD in /boot and loaded by 6q_bootscript.

You could try a little different setup, by burning the kernel to the uSD and use the "old" way to load it:

( Take care to use this command, make sure you get the correct device and not an internal hard drive )

( cat /proc/mounts will help you determine )

sudo dd if=rootfs/boot/uImage of=/dev/sdX seek=2k bs=512 && sync && sync

bootcmd_mmc=run bootargs_base bootargs_mmc;mmc dev 1;mmc read ${loadaddr} 0x800 0x2000;bootm

bootargs_mmc=setenv bootargs ${bootargs} root=/dev/mmcblk0p1 rootwait rw video=mxcfb0:dev=ldb,LDB-XGA,if=RGB666

This method is not much different than what you are using though.

Do you have any devices connected to the Sabre Lite? I would recommend disconnecting everything except the power supply, uSD and console cable, see if that helps.

0 Kudos
1,597 Views
marcinmiklas
Contributor III

Thanks for checking this. I also tried rootfs.tar.bz2 from L3.0.35_12.09.01_GA_images_MX6Q. It crashed with the usual paging errors during touch screen calibration.

I'll also try with kernel written directly to sdcard, not partition. Maybe somehow it helps.

0 Kudos
1,594 Views
RandyKrakora
NXP Employee
NXP Employee

What display are you using? Is there anything else connected to the SL?

0 Kudos
1,588 Views
marcinmiklas
Contributor III

HannStar HSD100PXN1. Also dell keyboard is connected. But with keyboard disconnected everything behaves the same.

Also I'd like to say again, that this board works perfectly ok with 3.0.15 and 2.6.38 kernels.

0 Kudos
1,587 Views
RandyKrakora
NXP Employee
NXP Employee

Are you using the same uSD card for all three kernels? And the same rfs? It looks like it cannot load the init from the rfs properly. I know uboot loads the 6q_bootscript and uImage, but it seems it crashes where the rfs init starts after the kernel.

Maybe try a different card? Or try nfs mounted rfs? This is just a strange error, but maybe the 3.0.35 kernel is sensitive to the brand of uSD? ( That's why uboot reads it fine? ).

0 Kudos
1,588 Views
marcinmiklas
Contributor III

I'm using normal SD card, the same rootfs, I only change kernels. And sometimes with the 3.0.35 kernel everything starts up correctly (even my app is displaying) but after some playing with app it crashes with similar page error.

I tried many cards and even booting from TFTP. So that must be something else.

0 Kudos