TI am335x (PhyCore-wega): kernel panic: cannot open root device
Linux - Embedded & Single-board computerThis 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
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
TI am335x (PhyCore-wega): kernel panic: cannot open root device
Hi,
Caveat: I am a newbie trying to build linux from scratch for PhyCore board with TI-AM3354 processor and 256 MB RAM
I have compiled kernel for TI AM3354 based board. The root file system is embedded in kernel image using CONFIG_INITRAMFS_SOURCE option.
I (rather the Booloader Barebox) starts the kernel with the following command line:
However the start up is aborted as kernel cannot mount root file system.
Quote:
[ 2.567216] VFS: Cannot open root device "mmcblk0p2" or unknown-block(179,2): error -2
I tried with different partition number (mmcblk0p6) without any success.
The SD card doesn't seem to have any problem.
Any help would be really appreciated.
Thanks in advance.
The startup log is shown below:
Code:
Loading ARM Linux zImage '/mnt/zImage'
Loading devicetree from '/mnt/am335x-wega-rdk.dtb'
commandline: consoleblank=0 console=ttyO0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait rootwait ro fsck.repair=yes
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.9.13_ad_v1.0 (dhama@debian) (gcc version 5.2.0 (crosstool-NG crosstool-ng-1.22.0) ) #1 SMP Tue Jan 2 14:30:28 CET 2018
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt:Machine model: Phytec AM335x phyBOARD-WEGA
[ 0.000000] efi: Getting EFI parameters from FDT:
[ 0.000000] efi: UEFI not found.
[ 0.000000] cma: Reserved 64 MiB at 0x8b800000
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] CPU: All CPU(s) started in SVC mode.
[ 0.000000] AM335X ES2.1 (sgx neon)
[ 0.000000] percpu: Embedded 14 pages/cpu @cfbad000 s26624 r8192 d22528 u57344
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 64512
[ 0.000000] Kernel command line: consoleblank=0 console=ttyO0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait rootwait ro fsck.repair=yes
[ 0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Memory: 168948K/260096K available (9216K kernel code, 1126K rwdata, 3868K rodata, 7168K init, 343K bss, 25612K reserved, 65536K cma-reserved, 0K highmem)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xd0800000 - 0xff800000 ( 752 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0208000 - 0xc0c00000 (10208 kB)
[ 0.000000] .init : 0xc1100000 - 0xc1800000 (7168 kB)
[ 0.000000] .data : 0xc1800000 - 0xc1919b20 (1127 kB)
[ 0.000000] .bss : 0xc191b000 - 0xc1970e78 ( 344 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] Build-time adjustment of leaf fanout to 32.
[ 0.000000] RCU restricting CPUs from NR_CPUS=16 to nr_cpu_ids=1.
[ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=1
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[ 0.000000] OMAP clockevent source: timer2 at 25000000 Hz
[ 0.000019] sched_clock: 32 bits at 25MHz, resolution 40ns, wraps every 85899345900ns
[ 0.000046] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 76450417870 ns
[ 0.000061] OMAP clocksource: timer1 at 25000000 Hz
[ 0.005658] clocksource_probe: no matching clocksources found
[ 0.005977] Console: colour dummy device 80x30
[ 0.006026] Calibrating delay loop... 597.19 BogoMIPS (lpj=1492992)
[ 0.038810] pid_max: default: 32768 minimum: 301
[ 0.038973] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.038990] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.039936] CPU: Testing write buffer coherency: ok
[ 0.040363] CPU0: thread -1, cpu 0, socket -1, mpidr 0
[ 0.040432] Setting up static identity map for 0x80300000 - 0x80300098
[ 0.045506] EFI services will not be available.
[ 0.045866] Brought up 1 CPUs
[ 0.045884] SMP: Total of 1 processors activated (597.19 BogoMIPS).
[ 0.045895] CPU: All CPU(s) started in SVC mode.
[ 0.047808] devtmpfs: initialized
[ 0.063288] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[ 0.064179] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 9556302231375000 ns
[ 0.064221] futex hash table entries: 256 (order: 2, 16384 bytes)
[ 0.068731] pinctrl core: initialized pinctrl subsystem
[ 0.071843] NET: Registered protocol family 16
[ 0.074930] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.100183] omap_hwmod: debugss: _wait_target_disable failed
[ 0.156887] cpuidle: using governor menu
[ 0.167586] OMAP GPIO hardware version 0.1
[ 0.189318] omap-gpmc 50000000.gpmc: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_nandflash, deferring probe
[ 0.193484] No ATAGs?
[ 0.193510] hw-breakpoint: debug architecture 0x4 unsupported.
[ 0.194251] omap4_sram_init:Unable to allocate sram needed to handle errata I688
[ 0.194270] omap4_sram_init:Unable to get sram pool needed to handle errata I688
[ 0.199967] Serial: AMBA PL011 UART driver
[ 0.230812] edma 49000000.edma: TI EDMA DMA engine driver
[ 0.236357] vgaarb: loaded
[ 0.237625] SCSI subsystem initialized
[ 0.238416] usbcore: registered new interface driver usbfs
[ 0.238516] usbcore: registered new interface driver hub
[ 0.238602] usbcore: registered new device driver usb
[ 0.239576] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c0, deferring probe
[ 0.240576] pps_core: LinuxPPS API ver. 1 registered
[ 0.240590] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.240625] PTP clock support registered
[ 0.240860] EDAC MC: Ver: 3.0.0
[ 0.244882] clocksource: Switched to clocksource timer1
[ 0.260335] NET: Registered protocol family 2
[ 0.261181] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.261229] TCP bind hash table entries: 2048 (order: 2, 16384 bytes)
[ 0.261285] TCP: Hash tables configured (established 2048 bind 2048)
[ 0.261366] UDP hash table entries: 256 (order: 1, 8192 bytes)
[ 0.261397] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[ 0.261588] NET: Registered protocol family 1
[ 0.262189] RPC: Registered named UNIX socket transport module.
[ 0.262206] RPC: Registered udp transport module.
[ 0.262215] RPC: Registered tcp transport module.
[ 0.262224] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.882736] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
[ 0.886868] workingset: timestamp_bits=30 max_order=16 bucket_order=0
[ 0.903161] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.904736] NFS: Registering the id_resolver key type
[ 0.904790] Key type id_resolver registered
[ 0.904802] Key type id_legacy registered
[ 0.904954] ntfs: driver 2.1.32 [Flags: R/O].
[ 0.907697] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)
[ 0.907723] io scheduler noop registered
[ 0.907734] io scheduler deadline registered
[ 0.908001] io scheduler cfq registered (default)
[ 0.913267] libphy: mdio_driver_register: phy-bcm-ns2-pci
[ 0.914729] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
[ 1.025781] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[ 1.029844] SuperH (H)SCI(F) driver initialized
[ 1.031209] msm_serial: driver initialized
[ 1.031609] omap_uart 44e09000.serial: no wakeirq for uart0
[ 1.031826] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 158, base_baud = 3000000) is a OMAP UART0
[ 1.418550] random: fast init done
[ 1.720131] console [ttyO0] enabled
[ 1.724510] omap_uart 48022000.serial: no wakeirq for uart1
[ 1.730584] 48022000.serial: ttyO1 at MMIO 0x48022000 (irq = 159, base_baud = 3000000) is a OMAP UART1
[ 1.740989] STMicroelectronics ASC driver initialized
[ 1.749169] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
[ 1.758176] [drm] Initialized
[ 1.784040] brd: module loaded
[ 1.796544] loop: module loaded
[ 1.812367] libphy: Fixed MDIO Bus: probed
[ 1.818685] CAN device driver interface
[ 1.825434] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[ 1.831608] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[ 1.837982] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.4.0-k
[ 1.845329] igb: Copyright (c) 2007-2014 Intel Corporation.
[ 1.914995] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
[ 1.921469] davinci_mdio 4a101000.mdio: detected phy mask fffffffc
[ 1.944074] libphy: 4a101000.mdio: probed
[ 1.948472] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720
[ 1.958111] davinci_mdio 4a101000.mdio: phy[1]: device 4a101000.mdio:01, driver SMSC LAN8710/LAN8720
[ 1.970614] cpsw 4a100000.ethernet: Detected MACID = b0:d5:cc:8a:dc:5b
[ 1.979609] cpsw 4a100000.ethernet: cpsw: Detected MACID = b0:d5:cc:8a:dc:5d
[ 1.989357] pegasus: v0.9.3 (2013/04/25), Pegasus/Pegasus II USB Ethernet driver
[ 1.997297] usbcore: registered new interface driver pegasus
[ 2.003383] usbcore: registered new interface driver asix
[ 2.009154] usbcore: registered new interface driver ax88179_178a
[ 2.015650] usbcore: registered new interface driver cdc_ether
[ 2.021894] usbcore: registered new interface driver smsc75xx
[ 2.028043] usbcore: registered new interface driver smsc95xx
[ 2.034177] usbcore: registered new interface driver net1080
[ 2.040213] usbcore: registered new interface driver cdc_subset
[ 2.046518] usbcore: registered new interface driver zaurus
[ 2.052497] usbcore: registered new interface driver cdc_ncm
[ 2.061152] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 2.068073] ehci-pci: EHCI PCI platform driver
[ 2.072844] ehci-platform: EHCI generic platform driver
[ 2.078648] ehci-orion: EHCI orion driver
[ 2.083100] SPEAr-ehci: EHCI SPEAr driver
[ 2.087544] ehci-st: EHCI STMicroelectronics driver
[ 2.092904] ehci-exynos: EHCI EXYNOS driver
[ 2.097542] ehci-atmel: EHCI Atmel driver
[ 2.101944] tegra-ehci: Tegra EHCI driver
[ 2.106394] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 2.112958] ohci-pci: OHCI PCI platform driver
[ 2.117748] ohci-platform: OHCI generic platform driver
[ 2.123511] ohci-omap3: OHCI OMAP3 driver
[ 2.127939] SPEAr-ohci: OHCI SPEAr driver
[ 2.132375] ohci-st: OHCI STMicroelectronics driver
[ 2.137691] ohci-atmel: OHCI Atmel driver
[ 2.142918] usbcore: registered new interface driver usb-storage
[ 2.151898] mousedev: PS/2 mouse device common for all mice
[ 2.162413] i2c /dev entries driver
[ 2.182636] sdhci: Secure Digital Host Controller Interface driver
[ 2.189234] sdhci: Copyright(c) Pierre Ossman
[ 2.195368] omap_hsmmc 48060000.mmc: Got CD GPIO
[ 2.241663] Synopsys Designware Multimedia Card Interface Driver
[ 2.249580] sdhci-pltfm: SDHCI platform and OF driver helper
[ 2.258828] ledtrig-cpu: registered to indicate activity on CPUs
[ 2.265939] usbcore: registered new interface driver usbhid
[ 2.271865] usbhid: USB HID core driver
[ 2.280913] NET: Registered protocol family 10
[ 2.287541] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 2.294981] NET: Registered protocol family 17
[ 2.299673] can: controller area network core (rev 20120528 abi 9)
[ 2.306580] NET: Registered protocol family 29
[ 2.311294] can: raw protocol (rev 20120528)
[ 2.315805] can: broadcast manager protocol (rev 20161123 t)
[ 2.321782] can: netlink gateway (rev 20130117) max_hops=1
[ 2.328362] Key type dns_resolver registered
[ 2.333292] omap_voltage_late_init: Voltage driver support not added
[ 2.340233] ThumbEE CPU extension supported.
[ 2.344734] Registering SWP/SWPB emulation handler
[ 2.360709] omap-gpmc 50000000.gpmc: omap_device: omap_device_enable() called from invalid state 1
[ 2.370223] omap-gpmc 50000000.gpmc: use pm_runtime_put_sync_suspend() in driver?
[ 2.378123] omap-gpmc 50000000.gpmc: GPMC revision 6.0
[ 2.383551] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
[ 2.415180] tps65910 0-002d: No interrupt support, no core IRQ
[ 2.424513] vrtc: supplied by vcc5v
[ 2.432355] vio: supplied by vcc5v
[ 2.437650] vdd1: supplied by vcc5v
[ 2.443577] vdd2: supplied by vcc5v
[ 2.451231] vdig1: supplied by vcc5v
[ 2.456798] vdig2: supplied by vcc5v
[ 2.462338] vpll: supplied by vcc5v
[ 2.466181] mmc0: host does not support reading read-only switch, assuming write-enable
[ 2.476246] vdac: supplied by vcc5v
[ 2.480887] mmc0: new high speed SDHC card at address aaaa
[ 2.487739] mmcblk0: mmc0:aaaa SC16G 14.8 GiB
[ 2.493879] vaux1: supplied by vcc5v
[ 2.498829] mmcblk0: p1 p2
[ 2.503869] vaux2: supplied by vcc5v
[ 2.509427] vaux33: supplied by vcc5v
[ 2.514993] vmmc: supplied by vcc5v
[ 2.520377] vbb: supplied by vcc5v
[ 2.527160] tps65910-rtc tps65910-rtc: IRQ is not free.
[ 2.532754] tps65910-rtc: probe of tps65910-rtc failed with error -22
[ 2.541725] at24 0-0052: 4096 byte 24c32 EEPROM, writable, 32 bytes/write
[ 2.549641] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[ 2.558736] hctosys: unable to open rtc device (rtc0)
[ 2.567216] VFS: Cannot open root device "mmcblk0p2" or unknown-block(179,2): error -2
[ 2.575628] Please append a correct "root=" boot option; here are the available partitions:
[ 2.584413] 0100 65536 ram0 [ 2.588181] (driver?)
[ 2.590678] 0101 65536 ram1 [ 2.594417] (driver?)
[ 2.596910] 0102 65536 ram2 [ 2.600666] (driver?)
[ 2.603141] 0103 65536 ram3 [ 2.606904] (driver?)
[ 2.609379] 0104 65536 ram4 [ 2.613136] (driver?)
[ 2.615631] 0105 65536 ram5 [ 2.619369] (driver?)
[ 2.621863] 0106 65536 ram6 [ 2.625619] (driver?)
[ 2.628094] 0107 65536 ram7 [ 2.631850] (driver?)
[ 2.634325] 0108 65536 ram8 [ 2.638081] (driver?)
[ 2.640575] 0109 65536 ram9 [ 2.644313] (driver?)
[ 2.646806] 010a 65536 ram10 [ 2.650653] (driver?)
[ 2.653127] 010b 65536 ram11 [ 2.656974] (driver?)
[ 2.659449] 010c 65536 ram12 [ 2.663295] (driver?)
[ 2.665789] 010d 65536 ram13 [ 2.669618] (driver?)
[ 2.672111] 010e 65536 ram14 [ 2.675958] (driver?)
[ 2.678433] 010f 65536 ram15 [ 2.682280] (driver?)
[ 2.684761] b300 15558144 mmcblk0 [ 2.688791] driver: mmcblk
[ 2.691739] b301 65535 mmcblk0p1 00000000-01[ 2.697132]
[ 2.698698] b302 1048576 mmcblk0p2 00000000-02[ 2.704089]
[ 2.705675] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)
[ 2.714517] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.9.13_ad_v1.0 #1
[ 2.721440] Hardware name: Generic AM33XX (Flattened Device Tree)
[ 2.727862] [<c03105f4>] (unwind_backtrace) from [<c030bbb8>] (show_stack+0x10/0x14)
[ 2.735983] [<c030bbb8>] (show_stack) from [<c05a21b4>] (dump_stack+0x90/0xa4)
[ 2.743557] [<c05a21b4>] (dump_stack) from [<c03d2c80>] (panic+0xdc/0x270)
[ 2.750773] [<c03d2c80>] (panic) from [<c1101228>] (mount_block_root+0x194/0x268)
[ 2.758616] [<c1101228>] (mount_block_root) from [<c1101504>] (mount_root+0x11c/0x124)
[ 2.766911] [<c1101504>] (mount_root) from [<c110169c>] (prepare_namespace+0x190/0x1d8)
[ 2.775297] [<c110169c>] (prepare_namespace) from [<c1100e64>] (kernel_init_freeable+0x1ec/0x1fc)
[ 2.784600] [<c1100e64>] (kernel_init_freeable) from [<c0be71c8>] (kernel_init+0x8/0x114)
[ 2.793178] [<c0be71c8>] (kernel_init) from [<c0307e78>] (ret_from_fork+0x14/0x3c)
[ 2.801121] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)
[ 65.299902] random: crng init done
/dev/mmcblk0p2 is a correct partition name (it's shown on the list). However, are you sure you have ext4 driver included to mount it (I assume you have written it correctly). You can try recompiling your kernel with ext4 built-in to be sure.
/dev/mmcblk0p2 is a correct partition name (it's shown on the list). However, are you sure you have ext4 driver included to mount it (I assume you have written it correctly). You can try recompiling your kernel with ext4 built-in to be sure.
I have enabled the ext4 in Kernel configuration (see below)
Code:
CONFIG_DCACHE_WORD_ACCESS=y
# CONFIG_EXT2_FS is not set
# CONFIG_EXT3_FS is not set
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
# CONFIG_EXT4_FS_POSIX_ACL is not set
# CONFIG_EXT4_FS_SECURITY is not set
# CONFIG_EXT4_ENCRYPTION is not set
# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD2=y
I suspected perhaps the "ReadOnly (ro)" flag was somehow confusing the kernel. However, even after I removed the flag, I get same error message during the startup.
I am booting from micro SD Card and following commands were used to write kernel Image to micro SD card.
Code:
cp zImage /home/<user>/boot
The SD card has two partitions: boot and rootfs. "boot" contains MLO, barebox.bin, dtb and zImage. All written to micro SD card with the help of "cp". The initramfs is embedded in kernel image.
(1) My first thought is mounting fails due to a corrupted file system or your kernel doesn't support the file system type. However, you already verified the ext4 support. Can you access the partition within barebox? Or try mounting the SD card on another board/computer.
(2) Can you post the devicetree?
(3) Is the SD card properly inserted? This might sound stupid but I used to have issues with bad 'made-in-china' SD card slots. The slots would signal a card present (via the card-detect line) but the SD card would not be properly connected to the communication pins.
(1) My first thought is mounting fails due to a corrupted file system or your kernel doesn't support the file system type. However, you already verified the ext4 support. Can you access the partition within barebox? Or try mounting the SD card on another board/computer.
(3) Is the SD card properly inserted? This might sound stupid but I used to have issues with bad 'made-in-china' SD card slots. The slots would signal a card present (via the card-detect line) but the SD card would not be properly connected to the communication pins.
Unfortunately I don't have any other spare board to test the SD card. But I would reckon that, since barebox can read the partitions, card reader is functioning properly.
I suspect that somehow kernel commandline is not properly formed, however on the surface it looks to be ok.
This is the devicetree from barebox. I need the one for Linux (dts file).
Quote:
Unfortunately I don't have any other spare board to test the SD card. But I would reckon that, since barebox can read the partitions, card reader is functioning properly.
I suspect that somehow kernel commandline is not properly formed, however on the surface it looks to be ok.
I agree.
One lead we have is that you get result code -2 which is the one for ENODEV. There can be many reasons for that result code. Firstly this indicates the device may be missing but your MMC driver is able to detect it. Secondly this could also indicate it doesn't support the filesystem type. Thirdly it may indicate it cannot mount the device as a file systemtype you specified in 'rootfstype'.
You may want to play with this 'rootfstype'. Try omitting the parameter or try passing 'rootfstype=ext2' (I mention this because it looks like the ext4 driver in barebox reports "EXT2 rev 1"). Also try mounting is as read-only.
This tells us your kernel is looking for second partition on MMC block device to mount it as root. So the first condition is met, it can access the device (otherwise it would complain about 0,0).
Next is the partition table. Can your kernel read the partition table in use on this MMC device?
I don't trust the settings for the card detect line, marked in bold. With these setting you're telling the driver that the SD card is present when the line is high. Meanwhile also the internal pull-up of that same line is enabled. So, depending on external circuitry, the line is pulled high anyway... with our without an SD card.
This may not fix your problem, since the driver was able to detect the SD card containing the two partitions, but I would double-check these settings with your hardware first before continuing.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.