Programming Tool Problem - Will not boot Ramdisk

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

Programming Tool Problem - Will not boot Ramdisk

2,604 Views
PaulDeMetrotion
Senior Contributor I

I am having difficulty programming an on-board SPI-NOR device on a custom i.MX6Q board.


I have built all of the appropriate manufacturing files and placed them in the proper directory. I am using the MfgTool2 program. Everything appears to be working properly but when the kernel gets to the end of execution, it attempts to mount a file system rather than executing the Ramdrive currently in memory. This failure causes none of the Updater commands to be executed.

Any suggestions will be greatly appreciated!

Here are the important parts of the console output:


U-Boot 2009.08 (Aug 22 2013 - 14:50:48)

CPU: Freescale i.MX6 family TO1.2 at 792 MHz

Thermal sensor with ratio = 182

Temperature:   54 C, calibration data 0x57f4f87d

mx6q pll1: 792MHz

mx6q pll2: 528MHz

mx6q pll3: 480MHz

mx6q pll8: 50MHz

     :

MMC:   FSL_USDHC: 0,FSL_USDHC: 1

Using default environment


In:    serial

Out:   serial

Err:   serial

Net:   got MAC address from IIM: 00:01:45:05:c0:13

FEC0 [PRIME]

Hit any key to stop autoboot:  0

## Booting kernel from Legacy Image at 10800000 ...

   Image Name:   Linux-3.0.35-2508-g54750ff

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    4066652 Bytes =  3.9 MB

   Load Address: 10008000

   Entry Point:  10008000

   Verifying Checksum ... OK

## Loading init Ramdisk from Legacy Image at 11000000 ...

   Image Name:   uboot initramfs rootfs

   Image Type:   ARM Linux RAMDisk Image (gzip compressed)

   Data Size:    9504629 Bytes =  9.1 MB

   Load Address: 00000000

   Entry Point:  00000000

   Verifying Checksum ... OK

   Loading Kernel Image ... OK

OK


Starting kernel ...


Uncompressing Linux... done, booting the kernel.

Initializing cgroup subsys cpuset

Initializing cgroup subsys cpu

Linux version 3.0.35-2508-g54750ff (pauldemet@ubuntu) (gcc version 4.6.2 2011063

0 (prerelease) (Freescale MAD -- Linaro 2011.07 -- Built at 2011/08/10 09:20) )

#69 SMP PREEMPT Thu Aug 22 15:04:55 CDT 2013

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

CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache

Machine: WinSystems i.MX6 Quad/DualLite/Solo SBC35-C398 Board

Ignoring unrecognised tag 0x54410008

Memory policy: ECC disabled, Data cache writealloc

CPU identified as i.MX6Q, silicon rev 1.2

PERCPU: Embedded 7 pages/cpu @cc80e000 s5536 r8192 d14944 u32768

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

Kernel command line: console=ttymxc0,115200 rdinit=/linuxrc

     :

spi_imx imx6q-ecspi.0: probed

spi_imx imx6q-ecspi.2: can't get cs gpios

spi_imx: probe of imx6q-ecspi.2 failed with error -16

     :

Unpacking initramfs...

Freeing initrd memory: 9280K

     :

m25p80 spi0.0: m25p32 (4096 Kbytes)

Creating 3 MTD partitions on "m25p32":

0x000000000000-0x000000040000 : "bootloader"

0x000000040000-0x000000042000 : "bootenv"

Moving partition 2: 0x000000042000 -> 0x000000050000

0x000000050000-0x000000400000 : "kernel"

     :

VFS: Cannot open root device "(null)" or unknown-block(0,0)

Please append a correct "root=" boot option; here are the available partitions:

1f00             256 mtdblock0  (driver?)

1f01               8 mtdblock1  (driver?)

1f02            3776 mtdblock2  (driver?)

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

[<c004fec0>] (unwind_backtrace+0x0/0xf8) from [<c0579e98>] (panic+0x74/0x18c)

[<c0579e98>] (panic+0x74/0x18c) from [<c0008d7c>] (mount_block_root+0x170/0x224)

[<c0008d7c>] (mount_block_root+0x170/0x224) from [<c0008f18>] (mount_root+0xe8/0x108)

[<c0008f18>] (mount_root+0xe8/0x108) from [<c0009064>] (prepare_namespace+0x12c/0x184)

[<c0009064>] (prepare_namespace+0x12c/0x184) from [<c0008a40>] (kernel_init+0x134/0x16c)

[<c0008a40>] (kernel_init+0x134/0x16c) from [<c00490e4>] (kernel_thread_exit+0x0/0x8)

CPU0: stopping

[<c004fec0>] (unwind_backtrace+0x0/0xf8) from [<c0042324>] (do_IPI+0x150/0x17c)

[<c0042324>] (do_IPI+0x150/0x17c) from [<c0047a0c>] (__irq_svc+0x4c/0xe8)

Exception stack(0xc074df68 to 0xc074dfb0)

df60:                   c07af4a0 20000093 00000001 00000000 c074c000 c07a7fe4

df80: c05839e0 c076a214 1000406a 412fc09a 00000000 00000000 00000000 c074dfb0

dfa0: c0057e28 c0049144 40000013 ffffffff

[<c0047a0c>] (__irq_svc+0x4c/0xe8) from [<c0049144>] (default_idle+0x24/0x28)

[<c0049144>] (default_idle+0x24/0x28) from [<c0049348>] (cpu_idle+0xc8/0x108)

[<c0049348>] (cpu_idle+0xc8/0x108) from [<c00088bc>] (start_kernel+0x29c/0x2ec)

[<c00088bc>] (start_kernel+0x29c/0x2ec) from [<10008040>] (0x10008040)

CPU1: stopping

[<c004fec0>] (unwind_backtrace+0x0/0xf8) from [<c0042324>] (do_IPI+0x150/0x17c)

[<c0042324>] (do_IPI+0x150/0x17c) from [<c0047a0c>] (__irq_svc+0x4c/0xe8)

Exception stack(0xe406bf90 to 0xe406bfd8)

bf80:                                     c07af4a0 60000093 00000001 00000000

bfa0: e406a000 c07a7fe4 c05839e0 c076a214 1000406a 412fc09a 00000000 00000000

bfc0: 00000000 e406bfd8 c0057e28 c0049144 40000013 ffffffff

[<c0047a0c>] (__irq_svc+0x4c/0xe8) from [<c0049144>] (default_idle+0x24/0x28)

[<c0049144>] (default_idle+0x24/0x28) from [<c0049348>] (cpu_idle+0xc8/0x108)

[<c0049348>] (cpu_idle+0xc8/0x108) from [<10576554>] (0x10576554)

CPU2: stopping

[<c004fec0>] (unwind_backtrace+0x0/0xf8) from [<c0042324>] (do_IPI+0x150/0x17c)

[<c0042324>] (do_IPI+0x150/0x17c) from [<c0047a0c>] (__irq_svc+0x4c/0xe8)

Exception stack(0xe4075f90 to 0xe4075fd8)

5f80:                                     c07af4a0 60000093 00000001 00000000

5fa0: e4074000 c07a7fe4 c05839e0 c076a214 1000406a 412fc09a 00000000 00000000

5fc0: 00000000 e4075fd8 c0057e28 c0049144 40000013 ffffffff

[<c0047a0c>] (__irq_svc+0x4c/0xe8) from [<c0049144>] (default_idle+0x24/0x28)

[<c0049144>] (default_idle+0x24/0x28) from [<c0049348>] (cpu_idle+0xc8/0x108)

[<c0049348>] (cpu_idle+0xc8/0x108) from [<10576554>] (0x10576554)

0 Kudos
12 Replies

1,216 Views
AlejandroSierra
NXP Employee
NXP Employee

Is it posible to boot the system from different source?, we need to make sure we have access to the spi-nor from linux.

0 Kudos

1,216 Views
PaulDeMetrotion
Senior Contributor I

Yes, I can boot from an SD device, a micro-SD device, and a SATA/CFAST device. Wouldn't the following indicate that the SPI-NOR is being seen:

Please append a correct "root=" boot option; here are the available partitions:

1f00             512 mtdblock0  (driver?)

1f01               8 mtdblock1  (driver?)

1f02            3520 mtdblock2  (driver?)

0 Kudos

1,216 Views
YixingKong
Senior Contributor IV

Paul

This discussion is closed since no activity. If you still need help, please feel free to reply with an update to this discussion, or create another discussion.

Thanks,

Yixing

0 Kudos

1,216 Views
YixingKong
Senior Contributor IV

Paul

Had your issue got resolved? If yes, we are going to close the discussion in 3 days. If you still need help please feel free to contact Freescale.

Thanks,
Yixing

0 Kudos

1,216 Views
AlejandroSierra
NXP Employee
NXP Employee

Could you please include all the log message from the begining?.

Our Sabreauto board has pin conflicts on the SPI-NOR and WEIM-NOR, therefore we set a kernel parameter  called "SPI-NOR" to enable it. Is it posible to boot the system from different source?, we need to make sure we have access to the spi-nor from linux.

0 Kudos

1,216 Views
PaulDeMetrotion
Senior Contributor I

Here is the entire console output.

U-Boot 2009.08 (Aug 23 2013 - 10:45:32)

CPU: Freescale i.MX6 family TO1.2 at 792 MHz
Thermal sensor with ratio = 182
Temperature:   35 C, calibration data 0x57f4f87d
mx6q pll1: 792MHz
mx6q pll2: 528MHz
mx6q pll3: 480MHz
mx6q pll8: 50MHz
ipg clock     : 66000000Hz
ipg per clock : 66000000Hz
uart clock    : 80000000Hz
cspi clock    : 60000000Hz
ahb clock     : 132000000Hz
axi clock   : 264000000Hz
emi_slow clock: 132000000Hz
ddr clock     : 528000000Hz
usdhc1 clock  : 198000000Hz
usdhc2 clock  : 198000000Hz
usdhc3 clock  : 198000000Hz
usdhc4 clock  : 198000000Hz
nfc clock     : 24000000Hz
Board: i.MX6Q-SBC-C398: unknown-board Board: 0x63012 [POR]
Boot Device: I2C
I2C:   ready
DRAM:   2 GB
MMC:   FSL_USDHC: 0,FSL_USDHC: 1
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   got MAC address from IIM: 00:01:45:05:c0:13
FEC0 [PRIME]
Hit any key to stop autoboot:  0
## Booting kernel from Legacy Image at 10800000 ...
   Image Name:   Linux-3.0.35-2508-g54750ff
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3759696 Bytes =  3.6 MB
   Load Address: 10008000
   Entry Point:  10008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 10c00000 ...
   Image Name:   uboot initramfs rootfs
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    9464835 Bytes =  9 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Initializing cgroup subsys cpuset
Initializing cgroup subsys cpu
Linux version 3.0.35-2508-g54750ff (pauldemet@ubuntu) (gcc version 4.6.2 2011063
0 (prerelease) (Freescale MAD -- Linaro 2011.07 -- Built at 2011/08/10 09:20) )
#99 SMP PREEMPT Tue Aug 27 11:32:53 CDT 2013
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: WinSystems i.MX6 Quad/DualLite/Solo SBC35-C398 Board
Ignoring unrecognised tag 0x54410008
Memory policy: ECC disabled, Data cache writealloc
CPU identified as i.MX6Q, silicon rev 1.2
PERCPU: Embedded 7 pages/cpu @cc80e000 s5536 r8192 d14944 u32768
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 487424
Kernel command line: console=ttymxc0,115200 rdinit=/linuxrc
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: 640MB 1280MB = 1920MB total
Memory: 1931820k/1931820k available, 165332k reserved, 1310720K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    DMA     : 0xf4600000 - 0xffe00000   ( 184 MB)
    vmalloc : 0xea800000 - 0xf2000000   ( 120 MB)
    lowmem  : 0xc0000000 - 0xea000000   ( 672 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    modules : 0xbf000000 - 0xbfe00000   (  14 MB)
      .init : 0xc0008000 - 0xc003e000   ( 216 kB)
      .text : 0xc003e000 - 0xc06e5930   (6815 kB)
      .data : 0xc06e6000 - 0xc0741f40   ( 368 kB)
       .bss : 0xc0741f64 - 0xc077ab58   ( 227 kB)
Preemptible hierarchical RCU implementation.
NR_IRQS:624
MXC GPIO hardware
sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms
arm_max_freq=1GHz
MXC_Early serial console at MMIO 0x2020000 (options '115200')
bootconsole [ttymxc0] enabled
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
Initializing cgroup subsys cpuacct
CPU: Testing write buffer coherency: ok
hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
CPU1: Booted secondary processor
CPU2: Booted secondary processor
CPU3: Booted secondary processor
Brought up 4 CPUs
SMP: Total of 4 processors activated (6324.22 BogoMIPS).
print_constraints: dummy:
NET: Registered protocol family 16
print_constraints: vddpu: 725 <--> 1300 mV at 700 mV fast normal
print_constraints: vddcore: 725 <--> 1300 mV at 1150 mV fast normal
print_constraints: vddsoc: 725 <--> 1300 mV at 1200 mV fast normal
print_constraints: vdd2p5: 2000 <--> 2775 mV at 2400 mV fast normal
print_constraints: vdd1p1: 800 <--> 1400 mV at 1100 mV fast normal
print_constraints: vdd3p0: 2625 <--> 3400 mV at 3000 mV fast normal
cpu regulator mode:ldo_enable
hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
hw-breakpoint: 1 breakpoint(s) reserved for watchpoint single-step.
hw-breakpoint: maximum watchpoint size is 4 bytes.
L310 cache controller enabled
l2x0: 16 ways, CACHE_ID 0x410000c7, AUX_CTRL 0x02070000, Cache size: 1048576 B
bio: create slab <bio-0> at 0
print_constraints: VDDA: 3300 mV
print_constraints: VDDIO: 3300 mV
machine_constraints_voltage: VDDD: unsupportable voltage constraints
reg-fixed-voltage reg-fixed-voltage.2: Failed to register regulator: -22
reg-fixed-voltage: probe of reg-fixed-voltage.2 failed with error -22
SCSI subsystem initialized
spi_imx imx6q-ecspi.0: probed
spi_imx imx6q-ecspi.2: can't get cs gpios
spi_imx: probe of imx6q-ecspi.2 failed with error -16
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Freescale USB OTG Driver loaded, $Revision: 1.55 $
imx-ipuv3 imx-ipuv3.0: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)
imx-ipuv3 imx-ipuv3.1: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)
Advanced Linux Sound Architecture Driver Version 1.0.24.
Bluetooth: Core ver 2.16
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO socket layer initialized
Switching to clocksource mxc_timer1
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: 7, 786432 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
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.
Unpacking initramfs...
Freeing initrd memory: 9240K
PMU: registered new PMU device of type 0
Static Power Management for Freescale i.MX6
wait mode is enabled for i.MX6
cpaddr = ea880000 suspend_iram_base=ea918000
PM driver module loaded
link up failed, DB_R0:0x00117a00, DB_R1:0x08200000!
IMX PCIe port: link down!
IMX usb wakeup probe
add wake up source irq 75
IMX usb wakeup probe
cpu regulator mode:ldo_enable
i.MXC CPU frequency driver
highmem bounce pool size: 64 pages
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
msgmni has been set to 1231
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
MIPI DSI driver module loaded
mxc_sdc_fb mxc_sdc_fb.0: register mxc display driver hdmi
mxc_hdmi mxc_hdmi: Detected HDMI controller 0x13:0xa:0xa0:0xc1
fbcvt: 1920x1080@60: CVT Name - 2.073M9
imx-ipuv3 imx-ipuv3.0: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2~5), 5F(6,7)
mxc_sdc_fb mxc_sdc_fb.1: register mxc display driver ldb
_regulator_get: get() with no identifier
mxc_sdc_fb mxc_sdc_fb.2: register mxc display driver ldb
imx-sdma imx-sdma: loaded firmware 1.1
imx-sdma imx-sdma: initialized
Serial: IMX driver
imx-uart.0: ttymxc0 at MMIO 0x2020000 (irq = 58) is a IMX
console [ttymxc0] enabled, bootconsole disabled
console [ttymxc0] enabled, bootconsole disabled
imx-uart.1: ttymxc1 at MMIO 0x21e8000 (irq = 59) is a IMX
imx-uart.2: ttymxc2 at MMIO 0x21ec000 (irq = 60) is a IMX
imx-uart.3: ttymxc3 at MMIO 0x21f0000 (irq = 61) is a IMX
imx-uart.4: ttymxc4 at MMIO 0x21f4000 (irq = 62) is a IMX
loop: module loaded
No sata disk.
m25p80 spi0.0: m25p32 (4096 Kbytes)
Creating 3 MTD partitions on "m25p32":
0x000000000000-0x000000080000 : "bootloader"
0x000000080000-0x000000082000 : "bootenv"
Moving partition 2: 0x000000082000 -> 0x000000090000
0x000000090000-0x000000400000 : "kernel"
vcan: Virtual CAN interface driver
CAN device driver interface
flexcan netdevice driver
flexcan imx6q-flexcan.0: device registered (reg_base=ea9e8000, irq=142)
flexcan imx6q-flexcan.1: device registered (reg_base=ea9f0000, irq=143)
FEC Ethernet Driver
fec_enet_mii_bus: probed
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
PPP BSD Compression module registered
PPP MPPE Compression module registered
NET: Registered protocol family 24
PPTP driver version 0.8.5
SLIP: version 0.8.4-NET3.019-NEWTTY (dynamic channels, max=256).
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1
fsl-ehci fsl-ehci.0: irq 75, io base 0x02184000
fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
add wake up source irq 72
fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2
fsl-ehci fsl-ehci.1: irq 72, io base 0x02184200
fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
ARC USBOTG Device Controller driver (1 August 2005)
g_file_storage gadget: controller 'fsl-usb2-udc' not recognized
check_parameters:UTP settings are in place now, overriding defaults
g_file_storage gadget: No serial-number string provided!
g_file_storage gadget: File-backed Storage Gadget, version: 1 September 2010
g_file_storage gadget: Number of LUNs=1
Suspend udc for OTG auto detect
fsl-usb2-udc: bind to driver g_file_storage
mousedev: PS/2 mouse device common for all mice
=======snvs_pwrkey_probe() lp_cr 0x21
=======snvs_pwrkey_probe() lp_cr 0x21
input: snvs_power_key as /devices/virtual/input/input0
i.MX6 powerkey probe
i2c-core: driver [isl29023] using legacy suspend method
i2c-core: driver [isl29023] using legacy resume method
usb 2-1: new high speed USB device number 2 using fsl-ehci
snvs_rtc snvs_rtc.0: rtc core: registered snvs_rtc as rtc0
i2c /dev entries driver
Linux video capture interface: v2.00
mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video16
mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video17
hub 2-1:1.0: USB hub found
hub 2-1:1.0: 7 ports detected
mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video18
mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video19
mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video20
imx2-wdt imx2-wdt.0: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=1)
SoftDog: cannot register miscdev on minor=130 (err=-16)
device-mapper: uevent: version 1.0.3
device-mapper: ioctl: 4.20.0-ioctl (2011-02-02) initialised: dm-devel@redhat.com
Bluetooth: Virtual HCI driver ver 1.3
Bluetooth: HCI UART driver ver 2.2
Bluetooth: HCIATH3K protocol initialized
Bluetooth: Generic Bluetooth USB driver ver 0.6
usbcore: registered new interface driver btusb
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci sdhci-esdhc-imx.0: no write-protect pin available!
mmc0: no vmmc regulator found
g_file_storage gadget: high speed config #1
mmc0: SDHCI controller on platform [sdhci-esdhc-imx.0] using DMA
sdhci sdhci-esdhc-imx.1: no write-protect pin available!
sdhci sdhci-esdhc-imx.1: no card-detect pin available!
mmc1: no vmmc regulator found
mmc1: SDHCI controller on platform [sdhci-esdhc-imx.1] using DMA
mxc_vdoa mxc_vdoa: i.MX Video Data Order Adapter(VDOA) driver probed
VPU initialized
mxc_asrc registered
Thermal calibration data is 0x57f4f87d
Thermal sensor with ratio = 182
Anatop Thermal registered as thermal_zone0
anatop_thermal_probe: default cooling device is cpufreq!
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
mxc_hdmi_soc mxc_hdmi_soc.0: MXC HDMI Audio
sgtl5000 0-000a: Failed to get supply 'VDDD': -19
print_constraints: 0-000a: 850 <--> 1600 mV at 1200 mV normal
sgtl5000 0-000a: sgtl5000 revision 17
asoc: sgtl5000 <-> imx-ssi.1 mapping ok
asoc: mxc-hdmi-soc <-> imx-hdmi-soc-dai.0 mapping ok
ALSA device list:
  #0: sgtl5000-audio
  #1: imx-hdmi-soc
Netfilter messages via NETLINK v0.30.
nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
ctnetlink v0.93: registering with nfnetlink.
xt_time: kernel timezone is -0000
IPv4 over IPv4 tunneling driver
GRE over IPv4 demultiplexor driver
ip_tables: (C) 2000-2006 Netfilter Core Team
arp_tables: (C) 2002 David S. Miller
TCP cubic registered
NET: Registered protocol family 10
Mobile IPv6
ip6_tables: (C) 2000-2006 Netfilter Core Team
IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
NET: Registered protocol family 15
can: controller area network core (rev 20090105 abi 8)
NET: Registered protocol family 29
can: raw protocol (rev 20090105)
can: broadcast manager protocol (rev 20090105 t)
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
lib80211: common routines for IEEE802.11 drivers
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
Bus freq driver module loaded
Bus freq driver Enabled
mxc_dvfs_core_probe
DVFS driver module loaded
snvs_rtc snvs_rtc.0: setting system clock to 1970-01-01 00:00:43 UTC (43)
VFS: Cannot open root device "(null)" or unknown-block(0,0)
Please append a correct "root=" boot option; here are the available partitions:
1f00             512 mtdblock0  (driver?)
1f01               8 mtdblock1  (driver?)
1f02            3520 mtdblock2  (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[<c004b1c4>] (unwind_backtrace+0x0/0xe0) from [<c0519c98>] (panic+0x68/0x188)
[<c0519c98>] (panic+0x68/0x188) from [<c0008db8>] (mount_block_root+0x1d0/0x214)
[<c0008db8>] (mount_block_root+0x1d0/0x214) from [<c0008ee4>] (mount_root+0xe8/0
x108)
[<c0008ee4>] (mount_root+0xe8/0x108) from [<c000902c>] (prepare_namespace+0x128/
0x17c)
[<c000902c>] (prepare_namespace+0x128/0x17c) from [<c0008a24>] (kernel_init+0x13
0/0x16c)
[<c0008a24>] (kernel_init+0x130/0x16c) from [<c00448c4>] (kernel_thread_exit+0x0
/0x8)
CPU2: stopping
[<c004b1c4>] (unwind_backtrace+0x0/0xe0) from [<c003e278>] (do_IPI+0xd0/0x13c)
[<c003e278>] (do_IPI+0xd0/0x13c) from [<c004320c>] (__irq_svc+0x4c/0xe8)
Exception stack(0xe4075f98 to 0xe4075fe0)
5f80:                                                       c07494c0 00000000
5fa0: 00000002 e4075fe0 e4074000 c0742024 c05235fc c07421d8 1000406a 412fc09a
5fc0: 00000000 00000000 00000000 e4075fe0 c0052bb4 c0044924 40000013 ffffffff
[<c004320c>] (__irq_svc+0x4c/0xe8) from [<c0044924>] (default_idle+0x24/0x28)
[<c0044924>] (default_idle+0x24/0x28) from [<c0044af0>] (cpu_idle+0x90/0xf4)
[<c0044af0>] (cpu_idle+0x90/0xf4) from [<105165d4>] (0x105165d4)
CPU0: stopping
[<c004b1c4>] (unwind_backtrace+0x0/0xe0) from [<c003e278>] (do_IPI+0xd0/0x13c)
[<c003e278>] (do_IPI+0xd0/0x13c) from [<c004320c>] (__irq_svc+0x4c/0xe8)
Exception stack(0xc06e7f70 to 0xc06e7fb8)
7f60:                                     c07494c0 00000000 00000000 c06e7fb8
7f80: c06e6000 c0742024 c05235fc cc80b0e0 1000406a 412fc09a 00000000 00000000
7fa0: 00000000 c06e7fb8 c0052bb4 c0044924 40000013 ffffffff
[<c004320c>] (__irq_svc+0x4c/0xe8) from [<c0044924>] (default_idle+0x24/0x28)
[<c0044924>] (default_idle+0x24/0x28) from [<c0044af0>] (cpu_idle+0x90/0xf4)
[<c0044af0>] (cpu_idle+0x90/0xf4) from [<c00088a4>] (start_kernel+0x29c/0x2ec)
[<c00088a4>] (start_kernel+0x29c/0x2ec) from [<10008040>] (0x10008040)
CPU1: stopping
[<c004b1c4>] (unwind_backtrace+0x0/0xe0) from [<c003e278>] (do_IPI+0xd0/0x13c)
[<c003e278>] (do_IPI+0xd0/0x13c) from [<c004320c>] (__irq_svc+0x4c/0xe8)
Exception stack(0xe406bf98 to 0xe406bfe0)
bf80:                                                       c07494c0 00000000
bfa0: 00000001 e406bfe0 e406a000 c0742024 c05235fc c07421d8 1000406a 412fc09a
bfc0: 00000000 00000000 00000000 e406bfe0 c0052bb4 c0044924 40000013 ffffffff
[<c004320c>] (__irq_svc+0x4c/0xe8) from [<c0044924>] (default_idle+0x24/0x28)
[<c0044924>] (default_idle+0x24/0x28) from [<c0044af0>] (cpu_idle+0x90/0xf4)
[<c0044af0>] (cpu_idle+0x90/0xf4) from [<105165d4>] (0x105165d4)

0 Kudos

1,216 Views
AlejandroSierra
NXP Employee
NXP Employee

How are you building your mfg tool kernel image?

0 Kudos

1,216 Views
PaulDeMetrotion
Senior Contributor I

Using LTIB, I select the 'Build mfg firmware' option and start the build. I have created the manufacturing specific include file which follows the instructions found in the Linux or Android Firmware Development Guide. Everything appears to be good.

0 Kudos

1,216 Views
karina_valencia
NXP Apps Support
NXP Apps Support

AlejandroSierra will  work on this case.

0 Kudos

1,216 Views
PaulDeMetrotion
Senior Contributor I

I have more information to share. I have tracked the problem to the function kernel_init which is below. Within this function there is a call to sys_access that returns a -2 which indicates an error has occurred. Because of the error the ramdisk_execute_command variable is nulled and the kernel searches for an existing file system. I do not know why the sys_access function fails – could this indicate a memory error?

If I use the emulator I can trap after this function and force the return variable to be a zero and restart the boot process. If I do this I get the following console output: Failed to execute /linuxrc. This is the right function to execute according to the environment variables.

   

Could this possibly be a configuration setting?

static int __init kernel_init(void * unused)

{

        /*

         * Wait until kthreadd is all set-up.

         */

        wait_for_completion(&kthreadd_done);

        /* Now the scheduler is fully set up and can do blocking allocations */

        gfp_allowed_mask = __GFP_BITS_MASK;

        /*

         * init can allocate pages on any node

         */

        set_mems_allowed(node_states[N_HIGH_MEMORY]);

        /*

         * init can run on any cpu.

         */

        set_cpus_allowed_ptr(current, cpu_all_mask);

        cad_pid = task_pid(current);

        smp_prepare_cpus(setup_max_cpus);

        do_pre_smp_initcalls();

        lockup_detector_init();

        smp_init();

        sched_init_smp();

        do_basic_setup();

        /* Open the /dev/console on the rootfs, this should never fail */

        if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)

                printk(KERN_WARNING "Warning: unable to open an initial console.\n");

        (void) sys_dup(0);

        (void) sys_dup(0);

        /*

         * check if there is an early userspace init.  If yes, let it do all

         * the work

         */

        if (!ramdisk_execute_command)

                ramdisk_execute_command = "/init";

        if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0) {

                ramdisk_execute_command = NULL;

                prepare_namespace();

        }

        /*

         * Ok, we have completed the initial bootup, and

         * we're essentially up and running. Get rid of the

         * initmem segments and start the user-mode stuff..

         */

        init_post();

        return 0;

}

0 Kudos

1,216 Views
PaulDeMetrotion
Senior Contributor I

Major breakthrough! I copied the initramfs.cpio.gz.uboot file from the Freescale folder titled Mfgtools-Rel-4.0.0_130424_MX6Q_UPDATER. Now the process does not fail where it did previously. It attempts to program the SPI-NOR device but fails. Have not investigated this failure any further.

Question now is should I be creating my own version of the initramfs.cpio.gz.uboot file or just use the Freescale version?

  

Here is the end of the new console output:

  

DVFS driver module loaded

snvs_rtc snvs_rtc.0: setting system clock to 1970-01-01 00:00:00 UTC (0)

Freeing init memory: 216K

Starting UTP

ln: /etc/mtab: File exists

disable turn off display

Starting the hotplug events dispatcher udevd

udevd (2118): /proc/2118/oom_adj is deprecated, please use /proc/2118/oom_score_  adj instead.

Synthesizing initial hotplug events

g_file_storage gadget: high speed config #1

uuc 0.4 [built Apr 25 2013 00:52:55]

UTP: Waiting for device to appear

UTP: file/device node /dev/utp already exists

cpu_id is 0

UTP: received command '$ flash_erase /dev/mtd0 0 0'

UTP: executing "flash_erase /dev/mtd0 0 0"

UTP: sending Success to kernel for command
$ flash_erase /dev/mtd0 0 0.

utp_poll: pass returned.

UTP: received command 'send'

UTP: sending Success to kernel for commandsend.

UTP: received command '$ dd if=$FILE of=/dev/mtd0 bs=512'

UTP: executing "dd if=$FILE of=/dev/mtd0 bs=512"

dd: writing '/dev/mtd0': No space left on device

513+0 records in

512+0 records out

262144 bytes (256.0KB) copied, 1.541287 seconds, 166.1KB/s

UTP: sending Non-success to kernel for command $ dd if=$FILE of=/dev/mtd0 bs=512

utp_poll: exit with status 256

0 Kudos

1,216 Views
karina_valencia
NXP Apps Support
NXP Apps Support

AlejandroSierra please continue with the  follow up on this case.

0 Kudos