Just now, I have found that Grub2-module "part_dfly" can be found at [your_boot_partition]/boot/grub/i386-pc. List of the kernel modules, you are using at your PC, can be found at [your_dragonfly_partition]/boot/loader.conf. Just change my "kfreebsd_module_elf /kernel/.ko" to your`s from loader.conf.
Grub2 will load dfly-partition-sheme, than kernel and RAM-disk-image from UFS2 (/boot) partition, and than DF-BSD will load Hammer-FS (root). So, "/boot"-partition must be read/write-able both for Grub2 and DF-BSD; the only candidats for this role are UFS and UFS2.
Note, that Grub2 is case-sensetive, so you must write "kfreebsd_module " using "small" letters, but "set kFreeBSD ", must be writen using both capital and "small" letters.
So you can try something like that:
menuentry "Dragonfly BSD x64 @ (hdX,Y)" {
insmod part_msdos
insmod part_dfly
insmod ufs2
set root=(hdX,msdosY)
kfreebsd /kernel/kernel
kfreebsd_loadenv /boot/device.hints
kfreebsd_module /kernel/initrd.img type=md_image
kfreebsd_module_elf /kernel/acpi.ko
kfreebsd_module_elf /kernel/ahci.ko
kfreebsd_module_elf /kernel/ehci.ko
kfreebsd_module_elf /kernel/dm.ko
kfreebsd_module_elf /kernel/md.ko
kfreebsd_module_elf /kernel/dm_target_crypt.ko
kfreebsd_module_elf /kernel/wlan.ko
kfreebsd_module_elf /kernel/wlan_ccmp.ko
kfreebsd_module_elf /kernel/wlan_tkip.ko
kfreebsd_module_elf /kernel/ath_hal.ko
kfreebsd_module_elf /kernel/ath_rote.ko
kfreebsd_module_elf /kernel/if_ath.ko
kfreebsd_module_elf /kernel/sound.ko
kfreebsd_module_elf /kernel/snd_hda.ko
set kFreeBSD.vfs.root.mountfrom=ufs:md0s0
set kFreeBSD.vfs.root.realroot=crypt:hammer:\
/dev/serno/<your_partition_serno>:dragon
}
If you are using non-encrypted hammer-partition instead of:
set kFreeBSD.vfs.root.mountfrom=ufs:md0s0
set kFreeBSD.vfs.root.realroot=crypt:hammer:\
/dev/serno/<your_partiton_serno>:dragon
just use:
set kFreeBSD.vfs.root.mountfrom=\
hammer:/dev/serno/<your_partition_serno>:dragon
Good luck!