# This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # hyperv-is # hyperv-is/Makefile # hyperv-is/files # hyperv-is/files/pkg-message.A # hyperv-is/files/pkg-message.B # hyperv-is/files/pkg-message.C # hyperv-is/pkg-descr # hyperv-is/pkg-install # hyperv-is/pkg-plist # hyperv-is/distinfo # hyperv-is/loader.sh # hyperv-is/unloader.sh # hyperv-is/pkg-deinstall # hyperv-is/pkg-message # echo c - hyperv-is mkdir -p hyperv-is > /dev/null 2>&1 echo x - hyperv-is/Makefile sed 's/^X//' >hyperv-is/Makefile << '4e23e705ff6899a9f5d3177d806a802e' X# $FreeBSD: head/emulators/hyperv-is/Makefile 370396 2014-10-07 20:27:29Z marino $ X XUSES= kmod uidfix X XPORTNAME= hyperv-is XPORTVERSION= 2.0 XCATEGORIES= emulators XMASTER_SITES= https://github.com/${MSLINK}/ XDISTNAME= ${DNAME} X XMAINTAINER= bsdic@microsoft.com XCOMMENT= FreeBSD Integration Service on Hyper-v X XONLY_FOR_ARCHS= amd64 i386 X X XUSES= kmod uidfix XBIS= ${PORTVERSION} XMSBASE= FreeBSDonHyper-V/Hyperv-Ports/raw/hyperv-is-master XMSLINK= ${MSBASE}/BIS-${BIS}/FreeBSD-${OSREL}/ports XMAKE_ARGS= BINDIR=${PREFIX}/sbin MANDIR=${PREFIX}/man/man X X.include X X.if ${OPSYS} != FreeBSD XIGNORE= ${OPSYS} not supported X.endif X XFILE_84= hyperv-is-8.4.${BIS} XFILE_91= hyperv-is-9.1.${BIS} XFILE_92= hyperv-is-9.2.${BIS} XFILE_93= hyperv-is-9.3.${BIS} XFILE_100= hv-kvp-${BIS} XFILE_101= hyperv-is-10.1.${BIS} XDNAME= ${FILE_${OSREL:S/.//}} X X.if empty(DNAME) XIGNORE= needless to install on FreeBSD-${OSREL} X.endif X X.if ${OSREL} == "10.0" XBIS= 1.0 XPLIST_SUB= A="@comment " B="" C="@comment " X.else X.if ${OSREL} == "10.1" XPREFIX= /usr/ XKMODDIR = /boot/kernel/ XWRKSRC= ${WRKDIR}/hyperv-is-${PORTVERSION} XPLIST_SUB= A="@comment " B="@comment " C="" X.else XPORTVERSION= 1.1 XCC= gcc -w XWRKSRC= ${WRKDIR}/hyperv-is-${PORTVERSION} XPLIST_SUB= C="@comment " B="@comment " A="" X.endif X.endif X X X Xpost-patch: X.if ${OSREL} != "10.1" X @${REINPLACE_CMD} -e "s,/usr/sbin/,${PREFIX}/sbin/,g" \ X ${WRKSRC}/etc/rc.d/hv_kvpd X.endif X Xpre-install: X.if ${OSREL} == "10.1" X @${ECHO_MSG} "hahahahahahahahahahahahah" X @${MKDIR} ${STAGEDIR}${PREFIX} \ X ${STAGEDIR}/var/db/hyperv/scripts X.else X @${MKDIR} ${STAGEDIR}${PREFIX} \ X ${STAGEDIR}/etc/rc.d \ X ${STAGEDIR}/usr/local/hyperv/scripts X.endif X Xpost-install: X.if ${OSREL} != "10.1" X ${RM} -f ${STAGEDIR}/boot/kernel/linker.hints X ${MV} ${STAGEDIR}/etc/rc.d/* ${STAGEDIR}${PREFIX}/etc/rc.d X.if ${PREFIX} != /usr/local X ${MV} ${STAGEDIR}/usr/local/* ${STAGEDIR}${PREFIX} X.endif X.endif X X.include 4e23e705ff6899a9f5d3177d806a802e echo c - hyperv-is/files mkdir -p hyperv-is/files > /dev/null 2>&1 echo x - hyperv-is/files/pkg-message.A sed 's/^X//' >hyperv-is/files/pkg-message.A << 'eb8f95390c25f88e8fbbd190558e7eb7' X############################################################################# XAfter installing do the following steps: X# Deleting Hyper-v BIS driver names X sed -i "" '/Loader labels for Hyper-v BIS driver/d' /boot/loader.conf X sed -i "" '/hv_vmbus_load/d' /boot/loader.conf X sed -i "" '/hv_utils_load/d' /boot/loader.conf X sed -i "" '/hv_storvsc_load/d' /boot/loader.conf X sed -i "" '/hv_netvsc_load/d' /boot/loader.conf X sed -i "" '/hv_ata_pci_disengage_load/d' /boot/loader.conf X X #Hyper-v driver names X echo "# Loader labels for Hyper-v BIS drivers -do not modify" >> /boot/loader.conf X echo 'hv_vmbus_load="YES"' >> /boot/loader.conf X echo 'hv_utils_load="YES"' >> /boot/loader.conf X echo 'hv_storvsc_load="YES"' >> /boot/loader.conf X echo 'hv_netvsc_load="YES"' >> /boot/loader.conf X echo 'hv_ata_pci_disengage_load="YES"' >>/boot/loader.conf XWhen deinstalled, restore /boot/loader.conf X############################################################################# eb8f95390c25f88e8fbbd190558e7eb7 echo x - hyperv-is/files/pkg-message.B sed 's/^X//' >hyperv-is/files/pkg-message.B << 'b4a486c789299f97f16c20af12c0ec69' X############################################################################# XTo enable hv_kvp, you should do the steps following: X # Deleting kvp label X sed -i "" '/Loader labels for Hyper-V KVP drivers/d' /etc/rc.conf X sed -i "" '/hv_kvp_load/d' /etc/rc.conf X X #hyperv driver names X echo '# Loader labels for Hyper-V KVP drivers -do not modify' >> /boot/loader.conf X echo 'hv_kvp_load="YES"' >> /boot/loader.conf X X# KVP - daemon label X sed -i "" '/Label for KVP daemon/d' /etc/rc.conf X sed -i "" '/hv_kvp_daemon_enable/d' /etc/rc.conf X echo '# Label for KVP daemon -do not modify' >> /etc/rc.conf X echo 'hv_kvp_daemon_enable="YES"' >> /etc/rc.conf XAfter deinstall, you should restore /boot/loader.conf and /etc/rc.conf X############################################################################# b4a486c789299f97f16c20af12c0ec69 echo x - hyperv-is/files/pkg-message.C sed 's/^X//' >hyperv-is/files/pkg-message.C << 'cc4ba66feeda391275747a05513b2dba' X############################################################################# X===>You need run: X X # /bin/sh loader.conf X############################################################################# cc4ba66feeda391275747a05513b2dba echo x - hyperv-is/pkg-descr sed 's/^X//' >hyperv-is/pkg-descr << 'f4b7e228f12133b0b028061765b6d0dd' XThe hyperv-is provision a collection of kernel mode drivers as well as Xuser-space daemons to facilitate integration with Hyper-v to provide a Xfeature rich and high performance FreeBSD guest experience. X XThe FreeBSD Integration Service on Hyper-v includes a collection of kernel Xmode drivers as well as user-space daemons to interact with the drivers Xthat are required to run Hyper-V-specific devices known as FreeBSD XIntegration Services (BIS). It is to facilitate integration with Hyper-v Xto provide a feature rich and high performance FreeBSD guest experience. XSee the man page for a list of binaries and their functions. X XFreeBSD support for hyperv-is was first added by Microsoft BSD Integration XServices Team . f4b7e228f12133b0b028061765b6d0dd echo x - hyperv-is/pkg-install sed 's/^X//' >hyperv-is/pkg-install << '3c520b87be02d411e687c6851c9f02c3' X#!/bin/sh X# X# make install or pkg_add script X# Checks labels/gptids for roots and swap partitions X# adds hyperv labels in loader.conf X# X X X#Check poudriere workdirs XPOD_WRK_HOME=/wrkdirs Xif [ ! -d ${POD_WRK_HOME} ]; then X POD_WRK_HOME=/ Xfi X XWRKDIRS=${POD_WRK_HOME}$(pwd |awk '{print $1}')/work/stage Xif [ ! -d ${WRKDIRS} ]; then X WRKDIRS=/ Xfi X Xrel=`uname -r` Xver=${rel%-*} Xmajor=${ver%.*} Xminor=${ver#*.} X Xif [ "$2" = "PRE-INSTALL" ]; then X echo "===> Pre-install Check" X X #rootfs check X root_flag=$(mount | awk '/ on \/ / { print $1 }' | cut -d / -f3-) X if [ "$root_flag" != "" ]; then X fs_test=$(glabel status | awk '{print $1}' | grep $root_flag) X if [ "$fs_test" == "" ]; then X echo " xxx rootfs Label/gptid missing in fstab" X fi X else X echo " xxx rootfs Label/gptid missing in fstab" X fi X X #swap check X [ -f /etc/fstab ] && swap_flag=$(grep swap /etc/fstab | awk '{print $1}' | cut -d / -f3-) X if [ "$swap_flag" != "" ]; then X sw_test=$(glabel status | awk '{print $1}' | grep $swap_flag) X fi X if [ "$sw_test" == "" ]; then X echo " xxx swap Label/gptid missing in fstab" X else X echo " xxx swap Label/gptid missing in fstab " X fi X X if [ "$fs_test" != "" -a "$sw_test" != "" ]; then X echo "===> Labels/gptids Found" X echo "===> Hyper-V BIS Installation Continues" X else X if [ $major -lt 10 ]; then X echo "version is $version" X echo "===> Labels/gptids Not found" X echo "===> Hyper-V BIS Installation Aborted" X echo "===> Refer to Disk UUID section in README document" X echo "===> Please refer the Prerequisites page and complete all steps" X echo "WWW: https://github.com/FreeBSDonHyper-V/Hyperv-Ports/wiki/Prerequisites " X exit 1 X fi X fi X X kvp_dir="/var/db/hyperv/" X kvp_dir_scripts="/var/db/hyperv/scripts" X if [ -d $kvp_dir ]; then X if [ -d $kvp_dir_scripts ]; then X echo " KVP Directories present " X else X mkdir /var/db/hyperv/scripts X fi X else X mkdir /var/db/hyperv X mkdir /var/db/hyperv/scripts X fi Xfi Xexit 0 3c520b87be02d411e687c6851c9f02c3 echo x - hyperv-is/pkg-plist sed 's/^X//' >hyperv-is/pkg-plist << 'dc3af9f4a971bdee44bd9b2f6d0c44ed' X%%C%%/var/db/hyperv/scripts/hv_get_dhcp_info X%%C%%/var/db/hyperv/scripts/hv_get_dns_info X%%C%%/var/db/hyperv/scripts/hv_set_ifconfig X%%A%%hyperv/scripts/hv_get_dhcp_info X%%A%%hyperv/scripts/hv_get_dns_info X%%A%%hyperv/scripts/hv_set_ifconfig X%%B%%hyperv/scripts/hv_get_dhcp_info X%%B%%hyperv/scripts/hv_get_dns_info X%%B%%hyperv/scripts/hv_set_ifconfig X%%A%%/boot/modules/hv_ata_pci_disengage.ko X%%A%%/boot/modules/hv_netvsc.ko X%%A%%/boot/modules/hv_storvsc.ko X%%A%%/boot/modules/hv_utils.ko X%%A%%/boot/modules/hv_vmbus.ko X%%B%%/boot/modules/hv_kvp.ko X%%C%%/boot/kernel/hv_storvsc_port.ko X%%C%%/boot/kernel/hv_utils_port.ko X%%A%%etc/rc.d/hv_kvpd X%%B%%etc/rc.d/hv_kvpd X%%B%%sbin/hv_kvp_daemon X%%C%%sbin/hv_kvp_daemon X%%A%%man/man1/hyperv-is.1.gz X%%A%%man/man4/hv_ata_pci_disengage.4.gz X%%A%%man/man4/hv_kvp.4.gz X%%A%%man/man4/hv_netvsc.4.gz X%%A%%man/man4/hv_storvsc.4.gz X%%A%%man/man4/hv_utils.4.gz X%%A%%man/man4/hv_vmbus.4.gz X%%B%%man/man8/hv_kvp_daemon.8.gz dc3af9f4a971bdee44bd9b2f6d0c44ed echo x - hyperv-is/distinfo sed 's/^X//' >hyperv-is/distinfo << '9b4f2f7673f4839a98b4e53d4eaaf56f' XSHA256 (hyperv-is-10.1.2.0.tar.gz) = 01a9a0f6c737c8d17ece18f6c77f2596b7cd0e01143c1b7f5930025569a54730 XSIZE (hyperv-is-10.1.2.0.tar.gz) = 106784 XSHA256 (hyperv-is-8.4.1.1.tar.gz) = 21f21bf8192892b823a63ebcea8cfd916ab0572b965c06471388386765346ae6 XSIZE (hyperv-is-8.4.1.1.tar.gz) = 94356 XSHA256 (hyperv-is-9.1.1.1.tar.gz) = ab4dc50d4f66ef983bd0de96388ba95e29d1e987362336bf44e3ff971425245a XSIZE (hyperv-is-9.1.1.1.tar.gz) = 94286 XSHA256 (hyperv-is-9.2.1.1.tar.gz) = 75e4ed3ba0c75ce5c67efed7b4f72ada3047f4cc986659b64c14979227292fd5 XSIZE (hyperv-is-9.2.1.1.tar.gz) = 94294 XSHA256 (hyperv-is-9.3.1.1.tar.gz) = 10a63b7b2a7bbfd158eed3852b0c25bfba3362c3cec28dfac641e22e61b23587 XSIZE (hyperv-is-9.3.1.1.tar.gz) = 94296 XSHA256 (hv-kvp-1.0.tar.gz) = c2c60ae645cae75b25934aae7b18c8a29bf00660a1e4ade5d8f31bb98d7ecc78 XSIZE (hv-kvp-1.0.tar.gz) = 30815 9b4f2f7673f4839a98b4e53d4eaaf56f echo x - hyperv-is/loader.sh sed 's/^X//' >hyperv-is/loader.sh << 'fb4f224c4d14f3090415b4407714c9ac' X#!/bin/sh X Xrel=`uname -r` Xver=${rel%-*} Xmajor=${ver%.*} Xminor=${ver#*.} X Xif [ $major -lt 10 ]; then X sed -i "" '/Loader labels for Hyper-v BIS driver/d' /boot/loader.conf X sed -i "" '/hv_vmbus_load/d' /boot/loader.conf X sed -i "" '/hv_utils_load/d' /boot/loader.conf X sed -i "" '/hv_storvsc_load/d' /boot/loader.conf X sed -i "" '/hv_netvsc_load/d' /boot/loader.conf X sed -i "" '/hv_ata_pci_disengage_load/d' /boot/loader.conf X X echo "# Loader labels for Hyper-v BIS drivers -do not modify" >> /boot/loader.conf X echo 'hv_vmbus_load="YES"' >> /boot/loader.conf X echo 'hv_utils_load="YES"' >> /boot/loader.conf X echo 'hv_storvsc_load="YES"' >> /boot/loader.conf X echo 'hv_netvsc_load="YES"' >> /boot/loader.conf X echo 'hv_ata_pci_disengage_load="YES"' >>/boot/loader.conf Xfi X Xif [ $major -eq 10 ]; then X if [ $minor -eq 0 ]; then X sed -i "" '/Loader labels for Hyper-V KVP drivers/d' /etc/rc.conf X sed -i "" '/hv_kvp_load/d' /etc/rc.conf X echo '# Loader labels for Hyper-V KVP drivers -do not modify' >> /boot/loader.conf X echo 'hv_kvp_load="YES"' >> /boot/loader.conf X X sed -i "" '/Label for KVP daemon/d' /etc/rc.conf X sed -i "" '/hv_kvp_daemon_enable/d' /etc/rc.conf X echo '# Label for KVP daemon -do not modify' >> /etc/rc.conf X echo 'hv_kvp_daemon_enable="YES"' >> /etc/rc.conf X elif [ $minor -eq 1 ]; then X sed -i "" '/Loader labels for Hyper-v BIS driver/d' /boot/loader.conf X sed -i "" '/hv_storvsc_port_load/d' /boot/loader.conf X sed -i "" '/hv_utils_port_load/d' /boot/loader.conf X X echo "# Loader labels for Hyper-v BIS drivers -do not modify" >> /boot/loader.conf X echo 'hv_storvsc_port_load="YES"' >> /boot/loader.conf X echo 'hv_utils_port_load="YES"' >> /boot/loader.conf X fi Xfi X Xexit 0 fb4f224c4d14f3090415b4407714c9ac echo x - hyperv-is/unloader.sh sed 's/^X//' >hyperv-is/unloader.sh << 'c3175b9bafe3855dd533c91f4e57c8c1' X#!/bin/sh X Xrel=`uname -r` Xver=${rel%-*} Xmajor=${ver%.*} Xminor=${ver#*.} X Xif [ $major -lt 10 ]; then X sed -i "" '/Loader labels for Hyper-v BIS driver/d' /boot/loader.conf X sed -i "" '/hv_vmbus_load/d' /boot/loader.conf X sed -i "" '/hv_utils_load/d' /boot/loader.conf X sed -i "" '/hv_storvsc_load/d' /boot/loader.conf X sed -i "" '/hv_netvsc_load/d' /boot/loader.conf X sed -i "" '/hv_ata_pci_disengage_load/d' /boot/loader.conf Xfi X Xif [ $major -eq 10 ]; then X if [ $minor -eq 0 ]; then X sed -i "" '/Loader labels for Hyper-V KVP drivers/d' /etc/rc.conf X sed -i "" '/hv_kvp_load/d' /etc/rc.conf X X sed -i "" '/Label for KVP daemon/d' /etc/rc.conf X sed -i "" '/hv_kvp_daemon_enable/d' /etc/rc.conf X elif [ $minor -eq 1 ]; then X sed -i "" '/Loader labels for Hyper-v BIS driver/d' /boot/loader.conf X sed -i "" '/hv_storvsc_port_load/d' /boot/loader.conf X sed -i "" '/hv_utils_port_load/d' /boot/loader.conf X fi Xfi X Xexit 0 c3175b9bafe3855dd533c91f4e57c8c1 echo x - hyperv-is/pkg-deinstall sed 's/^X//' >hyperv-is/pkg-deinstall << 'db86977df7236024435d800e621afbd9' X#!/bin/sh X Xecho "===> After uninstalling, do the following step to restore loader.conf:" Xecho " # /bin/sh unloader.sh" Xecho "" db86977df7236024435d800e621afbd9 echo x - hyperv-is/pkg-message sed 's/^X//' >hyperv-is/pkg-message << '63135bcd5f939c71e7d1351ee1f97785' X############################################################################# X===>After installing do the following step to enable Hyper-V drivers: X X # /bin/sh loader.sh X############################################################################# 63135bcd5f939c71e7d1351ee1f97785 exit