This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/AM3352: kernel is not seeing sdcard partitions

Part Number: AM3352

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