[Motorola Droid and Milestone General] JoeDuncan:
Hi, I have an unlocked, rooted Milestone running 2.1-update1.

I am having some issues getting App2SD up and running.

Everything seems to be working fine except for one piece:

I can't mount the ext2 partition of my SDCard.

I have a 16gb sdcard, formatted with two primary partitions, 14.5gb for FAT32 and 1.5gb for ext2.

busybox was installed ok, all the shell scripts seem to have installed fine as well, however, in order for it to work, the "mount_sd.sh" script has to be able to mount the second partition in order to link /data/app to it - but the damn thing won't mount.

I have tried re-partitioning the SD card multiple times, using multiple different partitioners (gparted in Ubuntu, Minitool in XP, even fdisk in the Android shell itself...) but nothing seems to work - I always get the same error:

# mount -t ext2 /dev/block//vold/179:2 /system/sd
mount -t ext2 /dev/block//vold/179:2 /system/sd
mount: No such device

The device however, most certainly DOES exist:

# ls /dev/block//vold
ls /dev/block//vold
179:2
179:1
179:0

I have seen that some people use the /dev/block/mmcblk0 instead of /dev/block//vold/179 - I am unsure as to why (anyone know which one I should be using on the Milestone???) but I tried that as well:

# mount -t ext2 /dev/block/mmcblk0p2 /system/sd
mount -t ext2 /dev/block/mmcblk0p2 /system/sd
mount: No such device

Again, it tells me the device doesn't exist, when it clearly DOES:

# ls /dev/block/mmc*
ls /dev/block/mmc*
/dev/block/mmcblk0
/dev/block/mmcblk0p1
/dev/block/mmcblk0p2

When I try to verify the partitions are there in the ADB shell, it looks like /dev/block//vold/179 doesn't exist or is some kind of special device (incidentally, does anyone know wtf the double slashes "//" are for?):

# fdisk /dev/block//vold/179
fdisk /dev/block//vold/179
fdisk: can't open '/dev/block//vold/179'

However, I CAN fdisk /dev/block/mmcblk0, and it gives me the following partition table:

# fdisk /dev/block/mmcblk0
fdisk /dev/block/mmcblk0

...snip...

Disk /dev/block/mmcblk0: 16.0 GB, 16039018496 bytes
255 heads, 63 sectors/track, 1949 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 1 1762 14153233+ b Win95 FAT32
/dev/block/mmcblk0p2 1763 1949 1502077+ 83 Linux

So, it looks like /dev/mmcblk0 is the correct block device, however, mount tells me this:

# mount
mount
...snip...
/dev/block//vold/179:1 /sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=101
020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0

So, mount is telling me that the first partition is mounted onto /sdcard from /dev/block//vold/179:1

I am confused. The only thing left I need to do in order to get App2SD working on my Milestone, is to mount the bloody second partition of my SD card and link it to the file system, yet the damn thing refuses to mount.

Does anyone know where I am going wrong here?

Which is the correct block device I should even be trying to mount /dev/block/mmcblk0 or /dev/block//vold/179:2?

I don't want to flash to an unofficial 2.2 and I have everything else working just the way I want it, so I'd rather not reset either.

There MUST be a solution somewhere, but I am getting frustrated.

Thanks for any help you can give me!