Tool/software: Linux
We have beaglebone balck based custom board with 512MB RAM and 4GB eMMC and SdCard socket ( with 2GB SDcard)
I used following script to partition SDcard
DRIVE="/dev/sdc" umount "${DRIVE}"[0-9]* wipefs -a "${DRIVE}" #Erase all the partitions on the SDCard wipefs -a ${DRIVE}[0-9]* || true parted --script -a optimal ${DRIVE} \ mklabel msdos \ mkpart primary fat16 128KiB 32MiB \ toggle 1 boot \ mkpart primary ext4 32MiB 100% \ sync blockdev --flushbufs "${DRIVE}" mkfs.vfat -n BOOT /dev/sdc1 sync yes | mkfs.ext4 -j -L rootfs /dev/sdc2 sync
I copied MLO, u-boot.img, uImage, test.dtb and when I try to boot from SDcard,
Board boots till SPL, U-Boot, kernel BUT kernel is not able to see the RFS partition on SDcard.
To debug the issue I booted board from NFS with same kernel and dtb.
I see that fdisk -l on the board gives following result
# fdisk -l Disk /dev/mmcblk0: 1983 MB, 2079326208 bytes, 4061184 sectors 63456 cylinders, 4 heads, 16 sectors/track Units: cylinders of 64 * 512 = 32768 bytes Device Boot StartCHS EndCHS StartLBA EndLBA Sectors Size Id Type /dev/mmcblk0p1 * 0,33,3 17,2,4 2048 67583 65536 32.0M c Win95 FAT32 (LBA) Partition 1 does not end on cylinder boundary /dev/mmcblk0p2 17,2,5 1023,30,60 67584 4061183 3993600 1950M 83 Linux Partition 2 does not end on cylinder boundary Found valid GPT with protective MBR; using GPT
but I don't see any partitions being reported in /proc/partitions, look at output below, there are eMMC partitions being reported but kernel is not able to detect SDcard partitions.
# cat /proc/partitions major minor #blocks name 1 0 16384 ram0 1 1 16384 ram1 1 2 16384 ram2 1 3 16384 ram3 1 4 16384 ram4 1 5 16384 ram5 1 6 16384 ram6 1 7 16384 ram7 1 8 16384 ram8 1 9 16384 ram9 1 10 16384 ram10 1 11 16384 ram11 1 12 16384 ram12 1 13 16384 ram13 1 14 16384 ram14 1 15 16384 ram15 179 0 2030592 mmcblk0 179 23 3735552 mmcblk1 179 24 127 mmcblk1p1 179 25 127 mmcblk1p2 179 26 128 mmcblk1p3 179 27 1024 mmcblk1p4 179 28 1024 mmcblk1p5 179 29 1024 mmcblk1p6 179 30 1024 mmcblk1p7 179 31 5120 mmcblk1p8 179 32 5120 mmcblk1p9 179 33 5120 mmcblk1p10 179 34 1024 mmcblk1p11 179 35 1024 mmcblk1p12 179 36 1024 mmcblk1p13 179 37 5120 mmcblk1p14 179 38 512000 mmcblk1p15 179 39 512000 mmcblk1p16 179 40 102400 mmcblk1p17 179 41 76800 mmcblk1p18 179 42 1048576 mmcblk1p19 179 43 400384 mmcblk1p20 179 44 54272 mmcblk1p21 179 45 999424 mmcblk1p22 179 69 2048 mmcblk1boot1 179 46 2048 mmcblk1boot0
Any suggestions pointers as to why kernel is not detecting SDcard partitions ? I am getting following prints on fdisk -l output but I am not sure what is wrong
Partition 1 does not end on cylinder boundary
Partition 2 does not end on cylinder boundary