AnsweredAssumed Answered

Linux 3.10.17 i.MX6S SOLO boot problem

Question asked by Marco Cavallini on Mar 1, 2015
Latest reply on Mar 9, 2015 by sunc xun

Hello,

I am trying to port Linux version 3.10.17 to an i.MX6 SOLO (Not Solo Lite)

I started from the imx6q-sabresd configuration as foudation for the first test

  make imx_v7_defconfig

  make -j4 uImage LOADADDR=0x10008000

  make imx6q-sabresd.dtb

 

 

Is this the correct way to proceed for MX6 SOLO ?

 

 

The problem is that kernel hangs at the line below just after trying to mount the mmcblk0

Sometimes some messages appear but they don't give much information.

I need a help to understand where to dig in order to continue the boot process.

 

Thank you

 

[BOOT LOG]

 

Booting Linux on physical CPU 0x0

Linux version 3.10.17+g232293e (koan@kmobile) (gcc version 4.8.2 (GCC) ) #46 SMP PREEMPT Sun Mar 1 16:04:32 CET 2015

CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d

CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache

Machine: Freescale i.MX6 Quad/DualLite (Device Tree)

cma: CMA: reserved 320 MiB at 3a000000

Memory policy: ECC disabled, Data cache writealloc

PERCPU: Embedded 9 pages/cpu @816f2000 s12992 r8192 d15680 u36864

Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260096

Kernel command line: console=ttymxc0,115200 maxcpus=1 root=/dev/mmcblk1p2 rootwait rw

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: 1024MB = 1024MB total

Memory: 695876k/695876k available, 352700k reserved, 0K highmem

Virtual kernel memory layout:

    vector  : 0xffff0000 - 0xffff1000   (   4 kB)

    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)

    vmalloc : 0xc0800000 - 0xff000000   (1000 MB)

    lowmem  : 0x80000000 - 0xc0000000   (1024 MB)

    pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)

    modules : 0x7f000000 - 0x7fe00000   (  14 MB)

      .text : 0x80008000 - 0x80d60358   (13665 kB)

      .init : 0x80d61000 - 0x80de42c0   ( 525 kB)

      .data : 0x80de6000 - 0x80e54670   ( 442 kB)

       .bss : 0x80e54670 - 0x80edf36c   ( 556 kB)

SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1

Preemptible hierarchical RCU implementation.

  RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.

NR_IRQS:16 nr_irqs:16 16

L310 cache controller enabled

l2x0: 16 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x32050000, Cache size: 524288 B

sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms

CPU identified as i.MX6DL, silicon rev 1.1

Console: colour dummy device 80x30

Calibrating delay loop... 1581.05 BogoMIPS (lpj=7905280)

pid_max: default: 32768 minimum: 301

Mount-cache hash table entries: 512

CPU: Testing write buffer coherency: ok

ftrace: allocating 23648 entries in 70 pages

CPU0: thread -1, cpu 0, socket 0, mpidr 80000000

Setting up static identity map for 0x806d1848 - 0x806d18a0

Brought up 1 CPUs

SMP: Total of 1 processors activated (1581.05 BogoMIPS).

CPU: All CPU(s) started in SVC mode.

devtmpfs: initialized

pinctrl core: initialized pinctrl subsystem

regulator-dummy: no parameters

NET: Registered protocol family 16

DMA: preallocated 256 KiB pool for atomic coherent allocations

Use WDOG2 as reset source

syscon 20c8000.anatop: regmap [mem 0x020c8000-0x020c8fff] registered

vdd1p1: 800 <--> 1375 mV at 1125 mV

vdd3p0: 2800 <--> 3150 mV at 3000 mV

vdd2p5: 2000 <--> 2750 mV at 2425 mV

cpu: 725 <--> 1450 mV at 1150 mV

vddpu: 725 <--> 1450 mV at 1150 mV

vddsoc: 725 <--> 1450 mV at 1175 mV

syscon 20e0000.iomuxc-gpr: regmap [mem 0x020e0000-0x020e0037] registered

syscon 21bc000.ocotp-ctrl: regmap [mem 0x021bc000-0x021bffff] registered

hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.

hw-breakpoint: maximum watchpoint size is 4 bytes.

imx6q-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver

bio: create slab <bio-0> at 0

mxs-dma 110000.dma-apbh: initialized

i2c-core: driver [max17135] using legacy suspend method

i2c-core: driver [max17135] using legacy resume method

SCSI subsystem initialized

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

pps_core: LinuxPPS API ver. 1 registered

pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>

PTP clock support registered

imx-ipuv3 2400000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)

imx-ipuv3 2800000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)

MIPI CSI2 driver module loaded

Advanced Linux Sound Architecture Driver Initialized.

cfg80211: Calling CRDA to update world regulatory domain

Switching to clocksource mxc_timer1

NET: Registered protocol family 2

TCP established hash table entries: 8192 (order: 4, 65536 bytes)

TCP bind hash table entries: 8192 (order: 4, 65536 bytes)

TCP: Hash tables configured (established 8192 bind 8192)

TCP: reno registered

UDP hash table entries: 512 (order: 2, 16384 bytes)

UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)

NET: Registered protocol family 1

RPC: Registered named UNIX socket transport module.

RPC: Registered udp transport module.

RPC: Registered tcp transport module.

RPC: Registered tcp NFSv4.1 backchannel transport module.

hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available

pureg-dummy: no parameters

imx6_busfreq busfreq.15: busfreq_probe: failed to get axi_sel_clk

imx6_busfreq: probe of busfreq.15 failed with error -2

Bus freq driver module loaded

VFS: Disk quotas dquot_6.5.2

Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)

NFS: Registering the id_resolver key type

Key type id_resolver registered

Key type id_legacy registered

jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.

fuse init (API version 7.22)

msgmni has been set to 1999

io scheduler noop registered

io scheduler deadline registered

io scheduler cfq registered (default)

imx-weim 21b8000.weim: WEIM driver registered.

MIPI DSI driver module loaded

imx-sdma 20ec000.sdma: no iram assigned, using external mem

imx-sdma 20ec000.sdma: initialized

imx-sdma 20ec000.sdma: loaded firmware 1.1

Serial: IMX driver

2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 58) is a IMX

console [ttymxc0] enabled

serial: Freescale lpuart driver

[drm] Initialized drm 1.1.0 20060810

[drm] Initialized vivante 1.0.0 20120216 on minor 0

brd: module loaded

loop: module loaded

lkdtm: No crash points registered, enable through debugfs

m25p80 spi32766.0: found mr25h256, expected m25p32

m25p80 spi32766.0: mr25h256 (32 Kbytes)

spi_imx 2008000.ecspi: probed

CAN device driver interface

libphy: fec_enet_mii_bus: probed

fec 2188000.ethernet eth0: registered PHC device 0

ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver

usbcore: registered new interface driver usb-storage

ci_hdrc ci_hdrc.0: doesn't support gadget

ci_hdrc ci_hdrc.0: EHCI Host Controller

ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1

ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00

hub 1-0:1.0: USB hub found

hub 1-0:1.0: 1 port detected

mousedev: PS/2 mouse device common for all mice

i2c-core: driver [isl29023] using legacy suspend method

i2c-core: driver [isl29023] using legacy resume method

snvs_rtc 20cc034.snvs-rtc-lp: rtc core: registered 20cc034.snvs-rtc-lp as rtc0

i2c /dev entries driver

i2c-core: driver [mag3110] using legacy suspend method

i2c-core: driver [mag3110] using legacy resume method

imx2-wdt 20bc000.wdog: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=0)

cpuidle: using governor ladder

cpuidle: using governor menu

sdhci: Secure Digital Host Controller Interface driver

sdhci: Copyright(c) Pierre Ossman

usbcore: registered new interface driver ushc

sdhci-pltfm: SDHCI platform and OF driver helper

mmc0: no vqmmc regulator found

mmc0: no vmmc regulator found

mmc0: SDHCI controller on 2198000.usdhc [2198000.usdhc] using ADMA

mmc0: mmc_rescan_try_freq: trying to init card at 400000 Hz

mmc0: host does not support reading read-only switch. assuming write-enable.

mmc0: new high speed SD card at address 59b4

mmcblk0: mmc0:59b4 USD   1.87 GiB

(usually hangs here)

 

 

...

 

 

(but sometimes the boot continue in this way)

Unable to handle kernel paging request at virtual address afff0000

pgd = 80004000

[afff0000] *pgd=4ffcf801, *pte=00000000, *ppte=00000000

Internal error: Oops: 807 [#1] PREEMPT ARM

Modules linked in:

CPU: 0 PID: 1 Comm: swapper Not tainted 3.10.17+g232293e #14

task: a805a000 ti: a806c000 task.ti: a806c000

PC is at __memzero+0x24/0x80

LR is at 0x0

pc : [<80264cc4>]    lr : [<00000000>]    psr: 20000113

sp : a806dd6c  ip : 00000000  fp : 00000000

r10: a80c4610  r9 : a806ddbc  r8 : 00008000

r7 : 00000047  r6 : 8113b000  r5 : 08000000  r4 : aa500000

r3 : 00000000  r2 : 00000000  r1 : 0250ffc0  r0 : afff0000

Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel

Control: 10c53c7d  Table: 10004059  DAC: 00000015

Process swapper (pid: 1, stack limit = 0xa806c230)

Stack: (0xa806dd6c to 0xa806e000)

dd60:                            80015fec 00000001 08000000 8113b000 08000000

dd80: 00000047 00008000 a806ddbc 80016720 fffffffe 00000000 08000000 00000000

dda0: 00000000 00000000 a82a9b94 80016960 803e6be4 00000001 80bcbea0 00000000

ddc0: 00000047 a82a9b94 08000000 a80c4610 000000d0 803e6be4 80b2fb40 80016c1c

dde0: 00000047 00000000 803e6be4 800b1158 00000000 8030914c a82a9b80 80b75d30

de00: a80c4610 a80c4610 a80c4600 a82a9b90 80b23814 803e6be4 a82a9b90 80110e6c

de20: 00200200 00001ebe a82a9a40 a82a9b40 a806de60 80111058 00000000 a82a9a40

de40: 00000000 a82a9b40 a80c3e00 80111a68 00000000 800b04e0 a82a9a80 a82a9a90

de60: a80c3e00 00000000 a80c4610 80be36a0 a80c4610 00000000 80b75d44 80b81340

de80: 80b23814 80b2fb40 00000000 80307d5c 80307d44 80306adc 00000000 a80c4610

dea0: 80b75d44 a80c4644 00000000 80306cc8 00000000 80b75d44 80306c3c 80304fe0

dec0: a804234c a80c16b0 80b75d44 a829ad80 80b649e0 803062a0 80a86a60 80267fdc

dee0: 80b75d44 80b75d44 00000006 80b81340 80b81340 803072d0 80b3bea8 00000006

df00: 80b81340 80b81340 80b81340 80008744 000000ab 80040508 00000000 a806c010

df20: 80a7f5f8 80ad0d28 00000006 00000006 8003fd74 8003fdcc 00000000 80b3bea8

df40: 00000006 80b81340 80b81340 80afd480 000000ab 80b2fb40 80b2fb34 80afdb68

df60: 00000006 00000006 80afd480 7a5dcff3 ebdbb65f 7567aef9 5f7fb2ef 00000000

df80: 8056e6cc 00000000 00000000 00000000 00000000 00000000 00000000 8056e6d4

dfa0: 00000000 00000000 8056e6cc 8000e118 00000000 00000000 00000000 00000000

dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

dfe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000001

Code: e52de004 e1a0c002 e1a0e002 e2511040 (a8a0500c)

---[ end trace 993561f6a7d64d56 ]---

Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

 

--

Marco

Outcomes