MFG Tool - boot kernel error :VFS: Cannot open root device "(null)"

Showing results for 
Search instead for 
Did you mean: 

MFG Tool - boot kernel error :VFS: Cannot open root device "(null)"

Contributor III

Hello All,

I'm playing with MFG Tool in order to flash my custom board. I'm using kernel 4.1.15-1.1.0 with initramfs but the MFG kernel isn't starting because of a VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6

It seems that the boot command uses the right address for the ramfsimage, execept that there is not "root=


NB my uboot variant only add a special patch in order to support my custom board which embedds a PF3001 pmic. There is no other change, and the uboot is stable and working well in the regular boot process (not with MFG tool)

U-Boot 2015.04-imx_v2015.04_4.1.15_1.0.0_ga+gd7d7c43 (May 30 2016 - 17:17:00)

CPU:   Freescale i.MX6UL rev1.0 at 396 MHz

CPU:   Temperature 41 C

Reset cause: POR

Board: MX6UL 14x14 EVK PF3001 XXX

I2C:   ready

DRAM:  512 MiB

PMIC: PFUZE300 DEV_ID=0x31 REV_ID=0x11


*** Warning - bad CRC, using default environment

Display: TFT43AB (480x272)

Video: 480x272x24

In:    serial

Out:   serial

Err:   serial

switch to partitions #0, OK

mmc1 is current device

Net:   FEC1

Error: FEC1 address not set.

Boot from USB for mfgtools

Use default environment for                              mfgtools

Run bootcmd_mfg: run mfgtool_args;bootz ${loadaddr} ${initrd_addr} ${fdt_addr};

Hit any key to stop autoboot:  0

Kernel image @ 0x80800000 [ 0x000000 - 0x552ac0 ]

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

   Image Name:   fsl-image-mfgtool-initramfs-imx6

   Image Type:   ARM Linux RAMDisk Image (gzip compressed)

   Data Size:    26945165 Bytes = 25.7 MiB

   Load Address: 00000000

   Entry Point:  00000000

   Verifying Checksum ... OK

## Flattened Device Tree blob at 83000000

   Booting using the fdt blob at 0x83000000

   Using Device Tree in place at 83000000, end 8300af94

ft_system_setup for mx6

Starting kernel ...

Booting Linux on physical CPU 0x0

Linux version 4.1.15-1.1.0-mfgtool+ga4d2a08 (xxx@xxx-xxx) (gcc version 5.2.0 (GCC) ) #1 SMP PREEMPT Mon May 30 17:21:20 CEST 2016

CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d

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

Machine model: Freescale i.MX6 UltraLite 14x14 EVK with PF3001

cma: Reserved 320 MiB at 0x8c000000

Memory policy: Data cache writealloc

PERCPU: Embedded 12 pages/cpu @8bb33000 s16768 r8192 d24192 u49152

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

Kernel command line: console=ttymxc0,115200 rdinit=/linuxrc g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.file=/fat g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF g_mass_storage.iSerialNumber= clk_ignore_unused

PID hash table entries: 2048 (order: 1, 8192 bytes)

Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)

Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)

Memory: 154512K/524288K available (6895K kernel code, 319K rwdata, 2392K rodata, 384K init, 423K bss, 42096K reserved, 327680K cma-reserved, 0K highmem)

Virtual kernel memory layout:

    vector  : 0xffff0000 - 0xffff1000   (   4 kB)

    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)

    vmalloc : 0xa0800000 - 0xff000000   (1512 MB)

    lowmem  : 0x80000000 - 0xa0000000   ( 512 MB)

    pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)

    modules : 0x7f000000 - 0x7fe00000   (  14 MB)

      .text : 0x80008000 - 0x80919f88   (9288 kB)

      .init : 0x8091a000 - 0x8097a000   ( 384 kB)

      .data : 0x8097a000 - 0x809c9f00   ( 320 kB)

       .bss : 0x809cc000 - 0x80a35f14   ( 424 kB)

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

Preemptible hierarchical RCU implementation.

        Additional per-CPU info printed with stalls.

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

RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1

NR_IRQS:16 nr_irqs:16 16

mxc_clocksource_init 24000000

Switching to timer-based delay loop, resolution 41ns

sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns

clocksource mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns

Console: colour dummy device 80x30

Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)

pid_max: default: 32768 minimum: 301

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

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

CPU: Testing write buffer coherency: ok

/cpus/cpu@0 missing clock-frequency property

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

Setting up static identity map for 0x80008280 - 0x800082f0

Brought up 1 CPUs

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

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

devtmpfs: initialized

VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5

clocksource jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns

pinctrl core: initialized pinctrl subsystem

NET: Registered protocol family 16

DMA: preallocated 256 KiB pool for atomic coherent allocations

cpuidle: using governor ladder

cpuidle: using governor menu

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

hw-breakpoint: maximum watchpoint size is 8 bytes.

imx6ul-pinctrl 20e0000.iomuxc: no fsl,pins property in node /soc/aips-bus@02000000/iomuxc@020e0000/imx6ul-evk/tscgrp

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

mxs-dma 1804000.dma-apbh: initialized

SCSI subsystem initialized

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

i2c i2c-0: IMX I2C adapter registered

i2c i2c-0: can't use DMA

Linux video capture interface: v2.00

pps_core: LinuxPPS API ver. 1 registered

pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <>

PTP clock support registered

Advanced Linux Sound Architecture Driver Initialized.

Switched to clocksource mxc_timer1

NET: Registered protocol family 2

TCP established hash table entries: 4096 (order: 2, 16384 bytes)

TCP bind hash table entries: 4096 (order: 3, 32768 bytes)

TCP: Hash tables configured (established 4096 bind 4096)

UDP hash table entries: 256 (order: 1, 8192 bytes)

UDP-Lite hash table entries: 256 (order: 1, 8192 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.

Trying to unpack rootfs image as initramfs...

rootfs image is not initramfs (write error); looks like an initrd

/initrd.image: incomplete write (1052672 != 26945165)

Freeing initrd memory: 26316K (83800000 - 851b3000)

imx rpmsg driver is registered.

Bus freq driver module loaded

futex hash table entries: 256 (order: 2, 16384 bytes)

VFS: Disk quotas dquot_6.6.0

VFS: 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.23)

io scheduler noop registered

io scheduler deadline registered

io scheduler cfq registered (default)

imx-weim 21b8000.weim: Driver registered.

imx-sdma 20ec000.sdma: no event needs to be remapped

imx-sdma 20ec000.sdma: loaded firmware 3.3

imx-sdma 20ec000.sdma: initialized

pfuze100-regulator 0-0008: Full layer: 1, Metal layer: 1

pfuze100-regulator 0-0008: FAB: 0, FIN: 0

pfuze100-regulator 0-0008: pfuze3000 found.

2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 19, base_baud = 5000000) is a IMX

console [ttymxc0] enabled

21e8000.serial: ttymxc1 at MMIO 0x21e8000 (irq = 225, base_baud = 5000000) is a IMX

imx sema4 driver is registered.

[drm] Initialized drm 1.1.0 20060810

[drm] Initialized vivante 1.0.0 20120216 on minor 0

brd: module loaded

loop: module loaded

fsl-quadspi 21e0000.qspi: n25q256a (32768 Kbytes)

20b4000.ethernet supply phy not found, using dummy regulator

pps pps0: new PPS source ptp0

fec 20b4000.ethernet (unnamed net_device) (uninitialized): Invalid MAC address: 00:00:00:00:00:00

fec 20b4000.ethernet (unnamed net_device) (uninitialized): Using random MAC address: 7e:0b:61:a6:99:aa

libphy: fec_enet_mii_bus: probed

fec 20b4000.ethernet eth0: registered PHC device 0

2188000.ethernet supply phy not found, using dummy regulator

pps pps1: new PPS source ptp1

fec 2188000.ethernet (unnamed net_device) (uninitialized): Invalid MAC address: 00:00:00:00:00:00

fec 2188000.ethernet (unnamed net_device) (uninitialized): Using random MAC address: ea:1b:c6:90:98:04

fec 2188000.ethernet eth1: registered PHC device 1

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

ehci-mxc: Freescale On-Chip EHCI Host driver

usbcore: registered new interface driver usb-storage

2184800.usbmisc supply vbus-wakeup not found, using dummy regulator

2184200.usb supply vbus not found, using dummy regulator

ci_hdrc ci_hdrc.1: EHCI Host Controller

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

ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00

hub 1-0:1.0: USB hub found

hub 1-0:1.0: 1 port detected

Mass Storage Function, version: 2009/09/11

LUN: removable file: (no medium)

lun0: unable to open backing file: /fat

g_mass_storage ci_hdrc.0: failed to start g_mass_storage: -2

mousedev: PS/2 mouse device common for all mice

input: 20cc000.snvs:snvs-powerkey as /devices/platform/soc/2000000.aips-bus/20cc000.snvs/20cc000.snvs:snvs-powerkey/input/input0

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

i2c /dev entries driver

IR NEC protocol handler initialized

IR RC5(x/sz) protocol handler initialized

IR RC6 protocol handler initialized

IR JVC protocol handler initialized

IR Sony protocol handler initialized

IR SANYO protocol handler initialized

IR Sharp protocol handler initialized

IR MCE Keyboard/mouse protocol handler initialized

IR XMP protocol handler initialized

imx2-wdt 20bc000.wdog: timeout 60 sec (nowayout=0)

sdhci: Secure Digital Host Controller Interface driver

sdhci: Copyright(c) Pierre Ossman

sdhci-pltfm: SDHCI platform and OF driver helper

/soc/aips-bus@02100000/usdhc@02190000: voltage-ranges unspecified

sdhci-esdhc-imx 2190000.usdhc: Got CD GPIO

sdhci-esdhc-imx 2190000.usdhc: No vqmmc regulator found

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

/soc/aips-bus@02100000/usdhc@02194000: voltage-ranges unspecified

sdhci-esdhc-imx 2194000.usdhc: No vmmc regulator found

sdhci-esdhc-imx 2194000.usdhc: No vqmmc regulator found

mmc0: queuing unknown CIS tuple 0x91 (2 bytes)

mmc0: new high speed SDIO card at address 0001

mmc1: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMA

usbcore: registered new interface driver usbhid

usbhid: USB HID core driver

NET: Registered protocol family 10

sit: IPv6 over IPv4 tunneling driver

NET: Registered protocol family 17

Key type dns_resolver registered

cpu cpu0: dev_pm_opp_get_opp_count: device OPP not found (-19)

Registering SWP/SWPB emulation handler

snvs_rtc 20cc000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01 00:00:00 UTC (0)

mmc1: host does not support reading read-only switch, assuming write-enable

mmc1: new high speed SDHC card at address a7af

can-3v3: disabling

clk: Not disabling unused clocks

mmcblk1: mmc1:a7af R04GS 3.70 GiB

ALSA device list:

mmcblk1: p1 p2

  No soundcards found.

RAMDISK: gzip image found at block 0

RAMDISK: EOF while reading compressed data

uncompression error

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

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

0100           65536 ram0  (driver?)

0101           65536 ram1  (driver?)

0102           65536 ram2  (driver?)

0103           65536 ram3  (driver?)

0104           65536 ram4  (driver?)

0105           65536 ram5  (driver?)

0106           65536 ram6  (driver?)

0107           65536 ram7  (driver?)

0108           65536 ram8  (driver?)

0109           65536 ram9  (driver?)

010a           65536 ram10  (driver?)

010b           65536 ram11  (driver?)

010c           65536 ram12  (driver?)

010d           65536 ram13  (driver?)

010e           65536 ram14  (driver?)

010f           65536 ram15  (driver?)

1f00           32768 mtdblock0  (driver?)

b300         3887104 mmcblk1  driver: mmcblk

  b301            8192 mmcblk1p1 0f57b60a-01

  b302          151552 mmcblk1p2 0f57b60a-02

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

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

random: nonblocking pool is initialized

Any idea ?

Labels (4)
Tags (2)
0 Kudos
4 Replies

Contributor III

Still not resolved, I cooked a patch (see attached) but it's not working.

0 Kudos

Contributor III

I found what was the problem ! My initramfs was probably too big. I removed the IMAGE_INSTALL_append from my local.conf file and regenerate fsl-image-mfgtool-initramfs then it worked.

What is the limitation regarding the size of this image ?


0 Kudos

NXP TechSupport
NXP TechSupport

Hi matt67

had you defined in uboot/include/configs/mx6ul_14x14_evk.h :


Best regards



Note: If this post answers your question, please click the Correct Answer button. Thank you!


0 Kudos

Contributor III

Hello Igor,

Thanks for ur reply,


I also tried to use the ramfs comming from the release of MFGTool "fsl-image-mfgtool-initramfs-imx_mfgtools.cpio.gz.u-boot" and it's correctly loaded without error. So I'm guessing that my custom MFGTool kernel and u-boot are valid. The problem should come from my initramfs.

What do you think ?

0 Kudos