Hi All,
I am trying to upgrade my Current u-boot(2013) and Kernel (3.14) to latest u-boot(2017) and kernel(4.9) on beagleboneblack.
I am successfully able to boot latest image using SD card but after writing images into eMMC, it stuck at kernel saying "Waiting for root device /dev/mmcblk0p2..".
As per my understanding when SD card is mounted on BBB then it show SD card as /dev/mmcblk0* and eMMC as /dev/mmcblk1*.
and with only eMMC it should be as /dev/mmcblk0*.
In my Latest kernel (4.9) log it states that "mmcblk1: mmc1:0001 S10004 3.56 GiB" without sd card for eMMC.i.e. eMMC is mounted on mmcblk1.
and thats why the error "Waiting for root device /dev/mmcblk0p2.." comes. Also when i change bootargs to /dev/mmcblk1p2 then it works.
but as per my older kernel log (3.14) without SD card, eMMC mount as "mmcblk0: mmc1:0001 S10004 3.56 GiB" means it takes eMMC as mmcblk0 and without changing bootargs it boots successfully from eMMC.
Kindly help where to start debugging for this issue. I dont want different Bootargs for eMMC and SD card.
I have attached Kernel_log.txt and Bootargs.txt for reference.
Regards,
Viraj
U-Boot SPL 2017.01 (Oct 23 2017 - 13:45:03) Trying to boot from MMC2Card did not respond to voltage select! *** Warning - MMC init failed, using default environment reading u-boot.img reading u-boot.img U-Boot 2017.01 (Oct 23 2017 - 13:45:03 +0530) CPU : AM335X-GP rev 2.1 I2C: ready DRAM: 512 MiB MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1 Net: cpsw, usb_ether Press SPACE To abort autoboot in 1 seconds Card did not respond to voltage select! Card did not respond to voltage select! No micro SD card found, setting mmcdev to 1 switch to partitions #0, OK mmc1(part 0) is current device SD/MMC found on device 1 reading uEnv.txt ** Unable to read file uEnv.txt ** 3750128 bytes read in 260 ms (13.8 MiB/s) 34184 bytes read in 22 ms (1.5 MiB/s) Booting from mmc ... ## Booting kernel from Legacy Image at 82000000 ... Image Name: Linux-4.9.0-ossdn-oasis Created: 2017-10-23 8:12:07 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 3750064 Bytes = 3.6 MiB Load Address: 80008000 Entry Point: 80008000 Verifying Checksum ... OK ## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Loading Kernel Image ... OK Loading Device Tree to 8fff4000, end 8ffff587 ... OK Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 4.9.0-ossdn-oasis (oe-user@oe-host) (gcc version 6.3.0 (GCC) ) #1 Mon Oct 23 13:41:59 IST 2017 [ 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: TI AM335x BeagleBone Black [ 0.000000] cma: Reserved 16 MiB at 0x9f000000 [ 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] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048 [ 0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait [ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes) [ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) [ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) [ 0.000000] Memory: 486584K/524288K available (5120K kernel code, 373K rwdata, 1716K rodata, 1024K init, 7987K bss, 21320K reserved, 16384K 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 : 0xe0800000 - 0xff800000 ( 496 MB) [ 0.000000] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB) [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB) [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB) [ 0.000000] .text : 0xc0008000 - 0xc0600000 (6112 kB) [ 0.000000] .init : 0xc0800000 - 0xc0900000 (1024 kB) [ 0.000000] .data : 0xc0900000 - 0xc095d400 ( 373 kB) [ 0.000000] .bss : 0xc095d400 - 0xc112a37c (7988 kB) [ 0.000000] Running RCU self tests [ 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 24000000 Hz [ 0.000015] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns [ 0.000035] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns [ 0.000073] OMAP clocksource: timer1 at 24000000 Hz [ 0.000375] clocksource_probe: no matching clocksources found [ 0.001087] Console: colour dummy device 80x30 [ 0.001131] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar [ 0.001138] ... MAX_LOCKDEP_SUBCLASSES: 8 [ 0.001145] ... MAX_LOCK_DEPTH: 48 [ 0.001151] ... MAX_LOCKDEP_KEYS: 8191 [ 0.001158] ... CLASSHASH_SIZE: 4096 [ 0.001164] ... MAX_LOCKDEP_ENTRIES: 32768 [ 0.001171] ... MAX_LOCKDEP_CHAINS: 65536 [ 0.001177] ... CHAINHASH_SIZE: 32768 [ 0.001183] memory used by lock dependency info: 5167 kB [ 0.001190] per task-struct memory footprint: 1536 bytes [ 0.001215] Calibrating delay loop... 996.14 BogoMIPS (lpj=4980736) [ 0.078782] pid_max: default: 32768 minimum: 301 [ 0.079029] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.079043] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.081213] CPU: Testing write buffer coherency: ok [ 0.082286] Setting up static identity map for 0x80100000 - 0x80100058 [ 0.086879] devtmpfs: initialized [ 0.117453] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3 [ 0.118219] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.119655] pinctrl core: initialized pinctrl subsystem [ 0.123515] NET: Registered protocol family 16 [ 0.128999] DMA: preallocated 256 KiB pool for atomic coherent allocations [ 0.169809] omap_hwmod: debugss: _wait_target_disable failed [ 0.230080] cpuidle: using governor ladder [ 0.230112] cpuidle: using governor menu [ 0.249923] OMAP GPIO hardware version 0.1 [ 0.286245] No ATAGs? [ 0.286270] hw-breakpoint: debug architecture 0x4 unsupported. [ 0.352653] edma 49000000.edma: TI EDMA DMA engine driver [ 0.356763] usbcore: registered new interface driver usbfs [ 0.356936] usbcore: registered new interface driver hub [ 0.357094] usbcore: registered new device driver usb [ 0.357914] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c0_pins, deferring probe [ 0.358010] omap_i2c 4819c000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c2_pins, deferring probe [ 0.386734] clocksource: Switched to clocksource timer1 [ 0.507212] NET: Registered protocol family 2 [ 0.508773] TCP established hash table entries: 4096 (order: 2, 16384 bytes) [ 0.508864] TCP bind hash table entries: 4096 (order: 5, 147456 bytes) [ 0.510014] TCP: Hash tables configured (established 4096 bind 4096) [ 0.510179] UDP hash table entries: 256 (order: 2, 20480 bytes) [ 0.510345] UDP-Lite hash table entries: 256 (order: 2, 20480 bytes) [ 0.511036] NET: Registered protocol family 1 [ 0.512481] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available [ 0.515903] futex hash table entries: 256 (order: 1, 11264 bytes) [ 0.524011] workingset: timestamp_bits=30 max_order=17 bucket_order=0 [ 0.530465] io scheduler noop registered [ 0.530489] io scheduler deadline registered [ 0.530560] io scheduler cfq registered (default) [ 0.532347] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568 [ 0.538516] omap_uart 44e09000.serial: no wakeirq for uart0 [ 0.539223] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 158, base_baud = 3000000) is a OMAP UART0 [ 1.080438] console [ttyO0] enabled [ 1.087670] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20 [ 1.133238] brd: module loaded [ 1.159727] loop: module loaded [ 1.164582] mtdoops: mtd device (mtddev=name/number) must be supplied [ 1.172775] libphy: Fixed MDIO Bus: probed [ 1.177613] CAN device driver interface [ 1.256855] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6 [ 1.263246] davinci_mdio 4a101000.mdio: detected phy mask fffffffe [ 1.272203] libphy: 4a101000.mdio: probed [ 1.276417] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720 [ 1.287214] cpsw 4a100000.ethernet: Detected MACID = a0:f6:fd:6c:64:69 [ 1.297635] usbcore: registered new interface driver asix [ 1.303426] usbcore: registered new interface driver ax88179_178a [ 1.309973] usbcore: registered new interface driver cdc_ether [ 1.316236] usbcore: registered new interface driver smsc95xx [ 1.322382] usbcore: registered new interface driver net1080 [ 1.328415] usbcore: registered new interface driver cdc_subset [ 1.334698] usbcore: registered new interface driver zaurus [ 1.340722] usbcore: registered new interface driver cdc_ncm [ 1.353725] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 1.360646] ehci-omap: OMAP-EHCI Host Controller driver [ 1.366460] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 1.373167] usbcore: registered new interface driver cdc_wdm [ 1.379298] usbcore: registered new interface driver usbtest [ 1.388124] 47401300.usb-phy supply vcc not found, using dummy regulator [ 1.406437] 47401b00.usb-phy supply vcc not found, using dummy regulator [ 1.420049] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver [ 1.429373] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 1 [ 1.439349] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 [ 1.446474] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 1.454086] usb usb1: Product: MUSB HDRC host driver [ 1.459304] usb usb1: Manufacturer: Linux 4.9.0-ossdn-oasis musb-hcd [ 1.465961] usb usb1: SerialNumber: musb-hdrc.1.auto [ 1.475313] hub 1-0:1.0: USB hub found [ 1.480257] hub 1-0:1.0: 1 port detected [ 1.491667] mousedev: PS/2 mouse device common for all mice [ 1.502842] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0 [ 1.510877] i2c /dev entries driver [ 1.514603] Driver for 1-wire Dallas network protocol. [ 1.525806] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec [ 1.535638] omap_hsmmc 48060000.mmc: Got CD GPIO [ 1.660123] ledtrig-cpu: registered to indicate activity on CPUs [ 1.667180] oprofile: using arm/armv7 [ 1.671590] Initializing XFRM netlink socket [ 1.676167] NET: Registered protocol family 17 [ 1.681076] NET: Registered protocol family 15 [ 1.685723] can: controller area network core (rev 20120528 abi 9) [ 1.692346] NET: Registered protocol family 29 [ 1.697033] can: raw protocol (rev 20120528) [ 1.701582] can: broadcast manager protocol (rev 20161123 t) [ 1.707876] Key type dns_resolver registered [ 1.712484] omap_voltage_late_init: Voltage driver support not added [ 1.719715] ThumbEE CPU extension supported. [ 1.796611] random: fast init done [ 1.812217] mmc1: new high speed MMC card at address 0001 [ 1.820360] tps65217 0-0024: TPS65217 ID 0xe version 1.2 [ 1.827080] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz [ 1.836193] mmcblk1: mmc1:0001 S10004 3.56 GiB [ 1.844498] omap_i2c 4819c000.i2c: bus 2 rev0.11 at 100 kHz [ 1.851066] mmcblk1boot0: mmc1:0001 S10004 partition 1 4.00 MiB [ 1.859100] mmcblk1boot1: mmc1:0001 S10004 partition 2 4.00 MiB [ 1.868716] omap_rtc 44e3e000.rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800) [ 1.883672] mmcblk1: p1 p2 [ 1.895962] Waiting for root device /dev/mmcblk0p2...
U-Boot SPL 2017.01 (Oct 23 2017 - 13:45:03) Trying to boot from MMC2Card did not respond to voltage select! *** Warning - MMC init failed, using default environment reading u-boot.img reading u-boot.img U-Boot 2017.01 (Oct 23 2017 - 13:45:03 +0530) CPU : AM335X-GP rev 2.1 I2C: ready DRAM: 512 MiB MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1 Net: cpsw, usb_ether Press SPACE To abort autoboot in 1 seconds => pr arch=arm baudrate=115200 board=am335x board_name=A335BNLT board_rev=00C0 board_serial=0916BBBK3E18 bootcmd=run findfdt; mmc dev 0; if mmc rescan ; then echo micro SD card found;setenv mmcdev 0;else echo No micro SD card found, setting mmcdev to 1;setenv mmcdev 1;fi;setenv bootpart ${mmcdev}:2;mmc dev ${mmcdev}; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadbootenv; then echo Loaded environment from ${bootenv};run importbootenv;fi;if test -n $uenvcmd; then echo Running uenvcmd ...;run uenvcmd;fi;if run loaduimage; then run loadfdt;run mmcboot;fi;else run nandboot;fi; bootcount=1 bootdelay=1 bootdir=/boot bootenv=uEnv.txt bootfile=uImage bootm_size=0x10000000 bootpart=0:3 console=ttyO0,115200n8 cpu=armv7 dfu_alt_info_emmc=rawemmc mmc 0 3751936 dfu_alt_info_mmc=boot part 0 1;rootfs part 0 2;MLO fat 0 1;MLO.raw mmc 100 100;u-boot.img.raw mmc 300 3C0;u-boot.img fat 0 1;uEnv.txt fat 0 1 eth1addr=a0:f6:fd:6c:64:6b ethact=cpsw ethaddr=a0:f6:fd:6c:64:69 fdt_addr_r=0x88000000 fdtaddr=0x88000000 fdtfile=am335x-boneblack.dtb filesize=284f08 findfdt=if test $board_name = A335BONE; then setenv fdtfile am335x-bone.dtb; fi; if test $board_name = A335BNLT; then setenv fdtfile am335x-boneblack.dtb; fi; if test $board_name = A33515BB; then setenv fdtfile am335x-evm.dtb; fi; if test $board_name = A335X_SK; then setenv fdtfile am335x-evmsk.dtb; fi; if test $fdtfile = undefined; then echo WARNING: Could not determine device tree to use; fi; importbootenv=echo Importing environment from mmc ...; env import -t $loadaddr $filesize kernel_addr_r=0x82000000 loadaddr=0x82000000 loadbootenv=load mmc ${mmcdev} ${loadaddr} ${bootenv} loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile} loadramdisk=load mmc ${mmcdev} ${rdaddr} ramdisk.gz loaduimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile} mmcargs=setenv bootargs console=${console} ${optargs} root=${mmcroot} rootfstype=${mmcrootfstype} mmcboot=echo Booting from mmc ...; run mmcargs; bootm ${loadaddr} - ${fdtaddr} mmcdev=0 mmcroot=/dev/mmcblk0p2 ro mmcrootfstype=ext4 rootwait netargs=setenv bootargs console=${console} ${optargs} root=/dev/nfs nfsroot=${serverip}:${rootpath},${nfsopts} rw ip=dhcp netboot=echo Booting from network ...; setenv autoload no; dhcp; tftp ${loadaddr} ${bootfile}; tftp ${fdtaddr} ${fdtfile}; run netargs; bootm ${loadaddr} - ${fdtaddr} new1=1 nfsopts=nolock ramargs=setenv bootargs console=${console} ${optargs} root=${ramroot} rootfstype=${ramrootfstype} ramboot=echo Booting from ramdisk ...; run ramargs; bootm ${loadaddr} ${rdaddr} ${fdtaddr} ramdisk_addr_r=0x88080000 ramroot=/dev/ram0 rw ramdisk_size=65536 initrd=${rdaddr},64M ramrootfstype=ext2 rdaddr=0x88080000 rootpath=/export/rootfs soc=am33xx spiargs=setenv bootargs console=${console} ${optargs} root=${spiroot} rootfstype=${spirootfstype} spiboot=echo Booting from spi ...; run spiargs; sf probe ${spibusno}:0; sf read ${loadaddr} ${spisrcaddr} ${spiimgsize}; bootm ${loadaddr} spibusno=0 spiimgsize=0x362000 spiroot=/dev/mtdblock4 rw spirootfstype=jffs2 spisrcaddr=0xe0000 static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off stderr=ns16550_serial stdin=ns16550_serial stdout=ns16550_serial usbnet_devaddr=a0:f6:fd:6c:64:69 vendor=ti ver=U-Boot 2017.01 (Oct 23 2017 - 13:45:03 +0530) Environment size: 3480/131067 bytes =>