mkntfs do not work, whatever FreeBSD version.
badly ported from Linux, it wants block devices, and infinite loop when
forcing on character device (if using libublio).
also, the libntfs uses bad defines to get disk geometry.
Fix: I made these two patches (for libntfs, and mkntfs)
Also:
with the patch mkntfs, I correct the infinite loop using libublio.
The problem is that ublio reads out of disk, because of UBLIO_BLOCK_SIZE defined to 262144. When reading on a entire drive, there's no problem, but when working on parts, ublio returns a negative value, not handled by mkntfs.
but, my patch only avoid the infinite loop. the problem is still that mkntfs failed writing the end boot sector. user would have to chkdsk under windows to repair its partition.
I think a way to avoid that may be, for example, UBLIO_BLOCK_SIZE=`expr 63 '*' 255` mkntfs $dev.
Anyway, without libublio support, the partition is just fine.
There's still a thing I didn't fixed: when chkdsk on 'correct' partition, it says that the $UpCase file is invalid.
Indeed, a few differences.
I'll make an other patch to get rid of it (it's at my office, I don't work every day)
Patch attached with submission follows:
How-To-Repeat: mkntfs /dev/ad0s1
> not block device
mkntfs /dev/ad0s1
> infinite loop
also, warning about bad geometry (and using pointless default values)

Sorry for the previous mails.
It seems that the previous quoted mails (or too long posts) are not
correctly handled by the PR site.
Whatever, the previous post provide the cat of my five patches.
for the record:
-ntfsresize is now working
-mkntfs is now working, with and without libublio, on usb sticks or drives
-$UpCase file as XP generates it
-less warnings about redefined macros
also:
it seems I was compairing the $UpCase file generated by ntfsprogs2
(Vista-like) with a Windows 7's one.
So, maybe the original ntfsprogs2 $UpCase file was correct.
(yep, pebkac, but since XP, I stoped using winwin)
But, when one run chkdsk on a ntfs filesystem, if we used vista or 7 to
generate the checked partition, it would fail on older windows versions, and
it would rewrite the $UpCase file to match current Window's version.
So, I still think it's a better way to format a NTFS device using XP $UpCase
file, wich would pass every chkdsk without causing any troubles.
Cheers,
Samuel Martín Moro
{EPITECH.} tek4
CamTrace S.A.S