title: Error in booting from uSD-card - No filesystem could mount root, tried:Ext4
body: <p>I am trying to build an embedded Linux to be run on PocketBeagle using Buildroot; and following the instructions in (<a href="https://bootlin.com/pub/conferences/2018/elc/petazzoni-e-ale-buildroot-tutorial/petazzoni-buildroot-tutorial-lab.pdf" rel="nofollow noreferrer">source1</a>). The resulting images are copied then to the uSD-card.
  When inserting the uSD-card in the Pocketbeagle and monitor the booting process via a serial connection; I got the following error:</p>
  
  <pre><code>No filesystem could mount root, tried: 
  ext4
  Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,1)
  ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,1).
  </code></pre>
  
  <p>The used resources are:
  Buildroot: 2018.02<br>
  File system: ext4<br>
  Bootloader: U-Boot (custom version 2018.01)<br>
  Kernel version: 4.14.24<br>
  Applying all the patches stated in source above and can be found in (<a href="https://bootlin.com/pub/conferences/2018/elc/petazzoni-e-ale-buildroot-tutorial/src/usb-stick/patches/" rel="nofollow noreferrer">source2</a>):<br>
  - 0001-Stripped-back-pocketbeagle-devicetree.patch<br>
  - 0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch<br>
  - 0002-U-Boot-BeagleBone-Cape-Manager.patch<br>
  - 0003-pocketbeagle-tweaks.patch   </p>
  
  <p>Runing the build results in the following files and images:<br>
  MLO: First stage bootloader<br>
  U-boot.img: Second stage bootloader<br>
  uEnv.txt: U-boot environmnt<br>
  zImage: Linux kernel image<br>
  am335x-pocketbeagle.dtb: Linux kernel Device Tree Blob<br>
  rootfs.ext4: Root filesystem image  </p>
  
  <p>The uEnv.txt is as follows:</p>
  
  <pre><code>fdtfile=am335x-pocketbeagle.dtb  
  bootpart=0:1  
  bootdir=  
  bootargs=console=ttyO0,115200n8 root=/dev/mmcblk0p1 rw rootfstype=ext4   rootwait  
  uenvcmd=run loadimage;run loadfdt;printenv bootargs;bootz ${loadaddr} - ${fdtaddr};  
  </code></pre>
  
  <p>Then by using <em>genimage</em> in buildroot (and rebuilding) to generate the uSd-image that contains two partitions:<br>
  1. FAT partition containing the bootloader images, the kernel image and Device Tree<br>
  2. Rootfs partition containing the root filesystem ext4  </p>
  
  <p>The resulting image is called <em>sdcard.img</em> is copies to the uSD-card by using program etcher (etcher-electron-1.4.3-x86_64.AppImage) or by (<em>sudo dd if=output/images/sdcard.img of=/dev/mmcblk0 bs=1M</em>) </p>
  
  <p>I have used two different uSD-cards to test the build, but the result was the same:<br>
  1. Kingstone 32 GB (SDHC 10)<br>
  2. Sandisk 16GB (SDHC 10)  </p>
  
  <p>It's worth to say that I have used the same uSD-cards to load the original image of the PocketBeagle from the <a href="https://beagleboard.org/latest-images" rel="nofollow noreferrer">official site</a> and boot from them, the cards boots without problem. </p>
  
  <p>Any idea to help is highly appreciated.</p>
  
  <hr>
  
  <p><strong>ADDENDUM</strong>  </p>
  
  <p>Another error that is shown in the log file occurs in the beginning of the boot:  </p>
  
  <pre><code>U-Boot SPL 2018.01 (Mar 24 2018 - 21:13:25) 
  Trying to boot from MMC1 
  *** Warning - bad CRC, using default environment 
  reading u-boot.img 
  reading u-boot.img 
  U-Boot 2018.01 (Mar 24 2018 - 21:13:25 +0100) 
  CPU : AM335X-GP rev 2.1 I2C: ready DRAM: 512 MiB 
  No match for driver 'omap_hsmmc' 
  No match for driver 'omap_hsmmc' 
  Some drivers were not found 
  Reset Source: Power-on reset has occurred. 
  MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1 
  *** Warning - bad CRC, using default environment  
  </code></pre>
  
  <p>The full log is as follows:</p>
  
  <pre><code>U-Boot SPL 2018.01 (Mar 24 2018 - 21:13:25)
  Trying to boot from MMC1
  *** Warning - bad CRC, using default environment
  
  reading u-boot.img
  reading u-boot.img
  
  
  U-Boot 2018.01 (Mar 24 2018 - 21:13:25 +0100)
  
  CPU  : AM335X-GP rev 2.1
  I2C:   ready
  DRAM:  512 MiB
  No match for driver 'omap_hsmmc'
  No match for driver 'omap_hsmmc'
  Some drivers were not found
  Reset Source: Power-on reset has occurred.
  MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
  *** Warning - bad CRC, using default environment
  
  Model: BeagleBoard.org PocketBeagle
  &lt;ethaddr&gt; not set. Validating first E-fuse MAC
  Net:   No ethernet found.
  Press SPACE to abort autoboot in 2 seconds
  switch to partitions #0, OK
  mmc0 is current device
  Scanning mmc 0:1...
  gpio: pin 56 (gpio 56) value is 0
  gpio: pin 55 (gpio 55) value is 0
  gpio: pin 54 (gpio 54) value is 0
  gpio: pin 53 (gpio 53) value is 1
  switch to partitions #0, OK
  mmc0 is current device
  gpio: pin 54 (gpio 54) value is 1
  Checking for: /uEnv.txt ...
  reading uEnv.txt
  218 bytes read in 4 ms (52.7 KiB/s)
  gpio: pin 55 (gpio 55) value is 1
  Loaded environment from /uEnv.txt
  Importing environment from mmc ...
  Checking if uenvcmd is set ...
  gpio: pin 56 (gpio 56) value is 1
  Running uenvcmd ...
  reading /zImage
  5540120 bytes read in 351 ms (15.1 MiB/s)
  loading /am335x-pocketbeagle.dtb ...
  reading /am335x-pocketbeagle.dtb
  33516 bytes read in 9 ms (3.6 MiB/s)
  bootargs=console=ttyO0,115200n8 root=/dev/mmcblk0p1 rw rootfstype=ext4 rootwait
  ## Flattened Device Tree blob at 88000000
     Booting using the fdt blob at 0x88000000
     Loading Device Tree to 8fff4000, end 8ffff2eb ... OK
  
  Starting kernel ...
  
  [    0.000000] Booting Linux on physical CPU 0x0
  [    0.000000] Linux version 4.14.24 (ammar@ammar-System-Product-Name) (gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11)) #1 SMP Sat Mar 24 21:23:50 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: TI AM335x PocketBeagle
  [    0.000000] Memory policy: Data cache writeback
  [    0.000000] cma: Reserved 16 MiB at 0x9e800000
  [    0.000000] CPU: All CPU(s) started in SVC mode.
  [    0.000000] AM335X ES2.1 (sgx neon)
  [    0.000000] random: fast init done
  [    0.000000] percpu: Embedded 17 pages/cpu @df93f000 s40872 r8192 d20568 u69632
  [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 129412
  [    0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/mmcblk0p1 rw 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: 479900K/522240K available (8192K kernel code, 810K rwdata, 2412K rodata, 1024K init, 7547K bss, 25956K 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 : 0xe0000000 - 0xff800000   ( 504 MB)
  [    0.000000]     lowmem  : 0xc0000000 - 0xdfe00000   ( 510 MB)
  [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
  [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
  [    0.000000]       .text : 0xc0008000 - 0xc0900000   (9184 kB)
  [    0.000000]       .init : 0xc0c00000 - 0xc0d00000   (1024 kB)
  [    0.000000]       .data : 0xc0d00000 - 0xc0dca9b8   ( 811 kB)
  [    0.000000]        .bss : 0xc0dcc000 - 0xc152af94   (7548 kB)
  [    0.000000] Running RCU self tests
  [    0.000000] Hierarchical RCU implementation.
  [    0.000000]  RCU event tracing is enabled.
  [    0.000000]  RCU lockdep checking is enabled.
  [    0.000000]  RCU restricting CPUs from NR_CPUS=2 to nr_cpu_ids=1.
  [    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
  [    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 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.000017] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
  [    0.000044] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
  [    0.000097] OMAP clocksource: timer1 at 24000000 Hz
  [    0.000569] timer_probe: no matching timers found
  [    0.001470] Console: colour dummy device 80x30
  [    0.001516] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
  [    0.001530] ... MAX_LOCKDEP_SUBCLASSES:  8
  [    0.001542] ... MAX_LOCK_DEPTH:          48
  [    0.001554] ... MAX_LOCKDEP_KEYS:        8191
  [    0.001566] ... CLASSHASH_SIZE:          4096
  [    0.001578] ... MAX_LOCKDEP_ENTRIES:     32768
  [    0.001589] ... MAX_LOCKDEP_CHAINS:      65536
  [    0.001601] ... CHAINHASH_SIZE:          32768
  [    0.001613]  memory used by lock dependency info: 4655 kB
  [    0.001626]  per task-struct memory footprint: 1536 bytes
  [    0.001663] Calibrating delay loop... 996.14 BogoMIPS (lpj=4980736)
  [    0.078740] pid_max: default: 32768 minimum: 301
  [    0.079147] Security Framework initialized
  [    0.079285] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
  [    0.079306] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
  [    0.082392] CPU: Testing write buffer coherency: ok
  [    0.083889] CPU0: thread -1, cpu 0, socket -1, mpidr 0
  [    0.085406] Setting up static identity map for 0x80100000 - 0x80100078
  [    0.085975] Hierarchical SRCU implementation.
  [    0.087625] smp: Bringing up secondary CPUs ...
  [    0.087648] smp: Brought up 1 node, 1 CPU
  [    0.087665] SMP: Total of 1 processors activated (996.14 BogoMIPS).
  [    0.087679] CPU: All CPU(s) started in SVC mode.
  [    0.091643] devtmpfs: initialized
  [    0.116033] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
  [    0.116853] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
  [    0.116916] futex hash table entries: 256 (order: 2, 16384 bytes)
  [    0.118550] pinctrl core: initialized pinctrl subsystem
  [    0.123225] NET: Registered protocol family 16
  [    0.130326] DMA: preallocated 256 KiB pool for atomic coherent allocations
  [    0.171692] omap_hwmod: debugss: _wait_target_disable failed
  [    0.226390] cpuidle: using governor menu
  [    0.237629] OMAP GPIO hardware version 0.1
  [    0.262333] No ATAGs?
  [    0.262360] hw-breakpoint: debug architecture 0x4 unsupported.
  [    0.262655] omap4_sram_init:Unable to allocate sram needed to handle errata I688
  [    0.262675] omap4_sram_init:Unable to get sram pool needed to handle errata I688
  [    0.298256] edma 49000000.edma: TI EDMA DMA engine driver
  [    0.303666] SCSI subsystem initialized
  [    0.305374] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c0_pins, deferring probe
  [    0.307447] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 400 kHz
  [    0.307764] omap_i2c 4819c000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/mma8452_pins_default, deferring probe
  [    0.308058] pps_core: LinuxPPS API ver. 1 registered
  [    0.308076] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti &lt;giometti@linux.it&gt;
  [    0.308128] PTP clock support registered
  [    0.312478] clocksource: Switched to clocksource timer1
  [    0.448001] VFS: Disk quotas dquot_6.6.0
  [    0.448193] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
  [    0.473020] NET: Registered protocol family 2
  [    0.474843] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
  [    0.474948] TCP bind hash table entries: 4096 (order: 5, 147456 bytes)
  [    0.476120] TCP: Hash tables configured (established 4096 bind 4096)
  [    0.476506] UDP hash table entries: 256 (order: 2, 20480 bytes)
  [    0.476689] UDP-Lite hash table entries: 256 (order: 2, 20480 bytes)
  [    0.477446] NET: Registered protocol family 1
  [    0.479566] RPC: Registered named UNIX socket transport module.
  [    0.479614] RPC: Registered udp transport module.
  [    0.479629] RPC: Registered tcp transport module.
  [    0.479643] RPC: Registered tcp NFSv4.1 backchannel transport module.
  [    0.482107] hw perfevents: no interrupt-affinity property for /pmu, guessing.
  [    0.483357] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
  [    0.487455] audit: initializing netlink subsys (disabled)
  [    0.490304] audit: type=2000 audit(0.480:1): state=initialized audit_enabled=0 res=1
  [    0.490640] workingset: timestamp_bits=14 max_order=17 bucket_order=3
  [    0.493682] NFS: Registering the id_resolver key type
  [    0.494058] Key type id_resolver registered
  [    0.494099] Key type id_legacy registered
  [    0.494253] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
  [    0.500669] io scheduler noop registered
  [    0.500700] io scheduler deadline registered
  [    0.500822] io scheduler cfq registered (default)
  [    0.500841] io scheduler mq-deadline registered
  [    0.500856] io scheduler kyber registered
  [    0.503256] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
  [    0.510527] Serial: 8250/16550 driver, 6 ports, IRQ sharing enabled
  [    0.516492] omap_uart 44e09000.serial: no wakeirq for uart0
  [    0.516942] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 30, base_baud = 3000000) is a OMAP UART0
  [    1.250345] console [ttyO0] enabled
  [    1.255586] omap_uart 48022000.serial: no wakeirq for uart1
  [    1.261829] 48022000.serial: ttyO1 at MMIO 0x48022000 (irq = 31, base_baud = 3000000) is a OMAP UART1
  [    1.272744] omap_uart 48024000.serial: no wakeirq for uart2
  [    1.278844] 48024000.serial: ttyO2 at MMIO 0x48024000 (irq = 32, base_baud = 3000000) is a OMAP UART2
  [    1.289570] omap_uart 481a8000.serial: no wakeirq for uart4
  [    1.295781] 481a8000.serial: ttyO4 at MMIO 0x481a8000 (irq = 33, base_baud = 3000000) is a OMAP UART4
  [    1.334046] brd: module loaded
  [    1.362138] loop: module loaded
  [    1.368162] mtdoops: mtd device (mtddev=name/number) must be supplied
  [    1.383297] libphy: Fixed MDIO Bus: probed
  [    1.390588] i2c /dev entries driver
  [    1.398755] omap_hsmmc 48060000.mmc: Got CD GPIO
  [    1.465093] ledtrig-cpu: registered to indicate activity on CPUs
  [    1.472542] oprofile: using arm/armv7
  [    1.477095] Initializing XFRM netlink socket
  [    1.481985] NET: Registered protocol family 10
  [    1.493215] Segment Routing with IPv6
  [    1.497190] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
  [    1.505262] NET: Registered protocol family 17
  [    1.509973] NET: Registered protocol family 15
  [    1.515090] Key type dns_resolver registered
  [    1.519724] omap_voltage_late_init: Voltage driver support not added
  [    1.526481] sr_dev_init: No voltage domain specified for smartreflex0. Cannot initialize
  [    1.535007] sr_dev_init: No voltage domain specified for smartreflex1. Cannot initialize
  [    1.543566] ThumbEE CPU extension supported.
  [    1.548049] Registering SWP/SWPB emulation handler
  [    1.553116] SmartReflex Class3 initialized
  [    1.623490] mmc0: host does not support reading read-only switch, assuming write-enable
  [    1.635560] mmc0: new high speed SDHC card at address 0007
  [    1.644119] mmcblk0: mmc0:0007 SD32G 28.8 GiB 
  [    1.655081]  mmcblk0: p1 p2
  [    1.671199] tps65217 0-0024: TPS65217 ID 0xe version 1.2
  [    1.677649] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
  [    1.686633] omap_i2c 4819c000.i2c: bus 2 rev0.11 at 400 kHz
  [    1.694194] hctosys: unable to open rtc device (rtc0)
  [    1.699490] sr_init: No PMIC hook to init smartreflex
  [    1.705144] sr_init: platform driver register failed for SR
  [    1.720670] List of all partitions:
  [    1.724586] 0100           16384 ram0 
  [    1.724597]  (driver?)
  [    1.730999] 0101           16384 ram1 
  [    1.731008]  (driver?)
  [    1.737842] 0102           16384 ram2 
  [    1.737854]  (driver?)
  [    1.744389] 0103           16384 ram3 
  [    1.744400]  (driver?)
  [    1.750791] 0104           16384 ram4 
  [    1.750800]  (driver?)
  [    1.757269] 0105           16384 ram5 
  [    1.757278]  (driver?)
  [    1.763737] 0106           16384 ram6 
  [    1.763746]  (driver?)
  [    1.770139] 0107           16384 ram7 
  [    1.770148]  (driver?)
  [    1.776597] 0108           16384 ram8 
  [    1.776607]  (driver?)
  [    1.783061] 0109           16384 ram9 
  [    1.783071]  (driver?)
  [    1.789456] 010a           16384 ram10 
  [    1.789465]  (driver?)
  [    1.795999] 010b           16384 ram11 
  [    1.796008]  (driver?)
  [    1.802540] 010c           16384 ram12 
  [    1.802549]  (driver?)
  [    1.809029] 010d           16384 ram13 
  [    1.809038]  (driver?)
  [    1.815571] 010e           16384 ram14 
  [    1.815580]  (driver?)
  [    1.822056] 010f           16384 ram15 
  [    1.822065]  (driver?)
  [    1.828679] b300        30228480 mmcblk0 
  [    1.828690]  driver: mmcblk
  [    1.835867]   b301           16384 mmcblk0p1 00000000-01
  [    1.835877] 
  [    1.843044]   b302          524288 mmcblk0p2 00000000-02
  [    1.843053] 
  [    1.850164] No filesystem could mount root, tried: 
  [    1.850173]  ext4
  [    1.855340] 
  [    1.858913] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,1)
  [    1.867873] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,1)
  </code></pre>
  
  <hr>