-echo "* zfs/lib/libavl"
-mkdir -p ${DST_LIB}/libavl/include/sys/
-cp ${SRC_CM}/avl/avl.c ${DST_LIB}/libavl/
-cp ${SRC_UCM}/sys/avl.h ${DST_LIB}/libavl/include/sys/
-cp ${SRC_UCM}/sys/avl_impl.h ${DST_LIB}/libavl/include/sys/
-
-echo "* zfs/lib/libnvpair"
-mkdir -p ${DST_LIB}/libnvpair/include/sys/
-cp ${SRC_CM}/nvpair/nvpair.c ${DST_LIB}/libnvpair/
-cp ${SRC_LIB}/libnvpair/libnvpair.c ${DST_LIB}/libnvpair/
+echo "* module/avl"
+mkdir -p ${DST_MOD}/avl/include/sys/
+cp ${SRC_CM}/avl/avl.c ${DST_MOD}/avl/
+cp ${SRC_UCM}/sys/avl.h ${DST_MOD}/avl/include/sys/
+cp ${SRC_UCM}/sys/avl_impl.h ${DST_MOD}/avl/include/sys/
+
+echo "* module/nvpair"
+mkdir -p ${DST_MOD}/nvpair/include/sys/
+cp ${SRC_CM}/nvpair/nvpair.c ${DST_MOD}/nvpair/
+cp ${SRC_UCM}/sys/nvpair.h ${DST_MOD}/nvpair/include/sys/
+cp ${SRC_UCM}/sys/nvpair_impl.h ${DST_MOD}/nvpair/include/sys/
+
+echo "* module/unicode"
+mkdir -p ${DST_MOD}/unicode/include/sys/
+cp ${SRC_CM}/unicode/*.c ${DST_MOD}/unicode/
+cp ${SRC_UCM}/sys/u8_textprep.h ${DST_MOD}/unicode/include/sys/
+cp ${SRC_UCM}/sys/u8_textprep_data.h ${DST_MOD}/unicode/include/sys/
+
+echo "* module/zcommon"
+mkdir -p ${DST_MOD}/zcommon/include/sys/fs/
+mkdir -p ${DST_MOD}/zcommon/include/sys/fm/fs/
+cp ${SRC_CM}/zfs/*.c ${DST_MOD}/zcommon/
+cp ${SRC_CM}/zfs/*.h ${DST_MOD}/zcommon/include/
+cp ${SRC_UCM}/sys/fs/zfs.h ${DST_MOD}/zcommon/include/sys/fs/
+cp ${SRC_UCM}/sys/fm/fs/zfs.h ${DST_MOD}/zcommon/include/sys/fm/fs/
+
+echo "* module/zfs"
+mkdir -p ${DST_MOD}/zpool/include/sys/
+cp ${SRC_UTS}/intel/zfs/spa_boot.c ${DST_MOD}/zfs/
+cp ${SRC_ZLIB}/*.c ${DST_MOD}/zfs/
+cp ${SRC_ZLIB}/sys/*.h ${DST_MOD}/zfs/include/sys/
+rm ${DST_MOD}/zfs/vdev_disk.c
+rm ${DST_MOD}/zfs/include/sys/vdev_disk.h
+
+echo "* lib/libavl"
+# Full source available in 'module/avl'
+
+echo "* lib/libnvpair"
+mkdir -p ${DST_LIB}/libnvpair/include/