[Desire Android Development] Droidzone:
I think my problem is that I made some kind of subpartition in sdb1..

Had to redo fdisk with sdb instead of sdb1..

Problem is my df -l listed sdb1, and I erroneously made some kind of child partition within a partition! Does that make sense?

Now formatting sdb1 as fat32 succeeded, but mke2fs on sdb2 doesnt!

ubuntu@ubuntu:~$ sudo fdisk -H64 -S32 /dev/sdb

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').

Command (m for help): p

Disk /dev/sdb: 15.9 GB, 15931539456 bytes
64 heads, 32 sectors/track, 15193 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x007ec8ab

Device Boot Start End Blocks Id System
/dev/sdb1 2 14952 15309824 c W95 FAT32 (LBA)
/dev/sdb2 14953 15193 246784 83 Linux

Command (m for help): q

ubuntu@ubuntu:~$ sudo mke2fs -T ext4 -b 4096 -E stride=64,stripe-width=64,hash_alg=tea -O extent,^huge_file -m 0 -L userdata /dev/sdb2
mke2fs 1.41.14 (22-Dec-2010)
Could not stat /dev/sdb2 --- No such file or directory

The device apparently does not exist; did you specify it correctly?
ubuntu@ubuntu:~$

Finally, again:

ubuntu@ubuntu:~$ sudo fdisk -H64 -S32 /dev/sdb
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').

Command (m for help): p

Disk /dev/sdb: 15.9 GB, 15931539456 bytes
64 heads, 32 sectors/track, 15193 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x007ec8ab

Device Boot Start End Blocks Id System
/dev/sdb1 2 14952 15309824 c W95 FAT32 (LBA)
/dev/sdb2 14953 15193 246784 83 Linux

Command (m for help): d
Partition number (1-4): 2

Command (m for help): p

Disk /dev/sdb: 15.9 GB, 15931539456 bytes
64 heads, 32 sectors/track, 15193 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x007ec8ab

Device Boot Start End Blocks Id System
/dev/sdb1 2 14952 15309824 c W95 FAT32 (LBA)

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (1-15193, default 1): 14953
Last cylinder, +cylinders or +size{K,M,G} (14953-15193, default 15193): 15193
Command (m for help): p

Disk /dev/sdb: 15.9 GB, 15931539456 bytes
64 heads, 32 sectors/track, 15193 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x007ec8ab

Device Boot Start End Blocks Id System
/dev/sdb1 2 14952 15309824 c W95 FAT32 (LBA)
/dev/sdb2 14953 15193 246784 83 Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
ubuntu@ubuntu:~$ sudo mke2fs -T ext4 -b 4096 -E stride=64,stripe-width=64,hash_alg=tea -O extent,^huge_file -m 0 -L userdata /dev/sdb2
mke2fs 1.41.14 (22-Dec-2010)
[COLOR=Sienna][B]
Bad option(s) specified: hash_alg[/B][/COLOR]

Extended options are separated by commas, and may take an argument which
is set off by an equals ('=') sign.

Valid extended options are:
stride=<RAID per-disk data chunk in blocks>
stripe-width=<RAID stride * data disks in blocks>
resize=<resize maximum size in blocks>
lazy_itable_init=<0 to disable, 1 to enable>
test_fs
discard
nodiscard

ubuntu@ubuntu:~$ sudo mke2fs -T ext4 -b 4096 -E stride=64,stripe-width=64 -O extent,^huge_file -m 0 -L userdata /dev/sdb2
mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=userdata
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=64 blocks, Stripe width=64 blocks
15424 inodes, 61696 blocks
0 blocks (0.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=67108864
2 block groups
32768 blocks per group, 32768 fragments per group
7712 inodes per group
Superblock backups stored on blocks:
32768

Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

Done at last! Whew! :D

@Sibere,

hash_alg-Not supported

mkfs.vfat-Command seems to have changed to mkdosfs?

Maybe its good to include the command partprobe in the OP?

Add a note that df -l may be used to see the device allocation, and to unmount before attempting fdisk?

Edit: Apparently at the end of it all, I had made a miscalculation in taking the size as 15.9 GB! I found out that I'd left only around 250MB for ext4.. Finally got fed up and repartitioned with 4extrecovery! That's the end of the misadventure!