-RELEASE=3.3
+RELEASE=3.4
KERNEL_VER=3.10.0
-PKGREL=27
+PKGREL=40
# also include firmware of previous versrion into
# the fw package: fwlist-2.6.32-PREV-pve
-KREL=7
+KREL=15
-RHKVER=123.13.2.el7
+RHKVER=327.3.1.el7
KERNELSRCRPM=kernel-${KERNEL_VER}-${RHKVER}.src.rpm
KERNEL_CFG_ORG=${RHKERSRCDIR}/kernel-${KERNEL_VER}-x86_64.config
FW_VER=1.1
-FW_REL=3
+FW_REL=4
FW_DEB=pve-firmware_${FW_VER}-${FW_REL}_all.deb
E1000EDIR=e1000e-3.1.0.2
E1000ESRC=${E1000EDIR}.tar.gz
-IGBDIR=igb-5.2.15
+IGBDIR=igb-5.2.18
IGBSRC=${IGBDIR}.tar.gz
-IXGBEDIR=ixgbe-3.23.2
+IXGBEDIR=ixgbe-4.0.3
IXGBESRC=${IXGBEDIR}.tar.gz
+I40EDIR=i40e-1.2.38
+I40ESRC=${I40EDIR}.tar.gz
+
BNX2DIR=netxtreme2-7.11.05
BNX2SRC=${BNX2DIR}.tar.gz
#ISCSITARGETDIR=iscsitarget-1.4.20.2
#ISCSITARGETSRC=${ISCSITARGETDIR}.tar.gz
-ZFSVER=0.6.3-1.2
-SPLDIR=spl-spl-${ZFSVER}
-SPLSRC=spl-${ZFSVER}.tar.gz
-ZFSDIR=zfs-zfs-${ZFSVER}
-ZFSSRC=zfs-${ZFSVER}.tar.gz
+SPLDIR=pkg-spl
+SPLSRC=pkg-spl.tar.gz
+ZFSDIR=pkg-zfs
+ZFSSRC=pkg-zfs.tar.gz
ZFS_MODULES=zfs.ko zavl.ko znvpair.ko zunicode.ko zcommon.ko zpios.ko
SPL_MODULES=spl.ko splat.ko
DST_DEB=${PACKAGE}_${KERNEL_VER}-${PKGREL}_${ARCH}.deb
HDR_DEB=${HDRPACKAGE}_${KERNEL_VER}-${PKGREL}_${ARCH}.deb
-PVEPKG=proxmox-ve-${KERNEL_VER}
-PVE_DEB=${PVEPKG}_${RELEASE}-${PKGREL}_all.deb
all: check_gcc ${DST_DEB} ${FW_DEB} ${HDR_DEB}
download:
rm -f ${KERNELSRCRPM}
#wget http://vault.centos.org/7.0.1406/os/Source/SPackages/${KERNELSRCRPM}
- wget http://vault.centos.org/7.0.1406/updates/Source/SPackages/${KERNELSRCRPM}
+ #wget http://vault.centos.org/7.0.1406/updates/Source/SPackages/${KERNELSRCRPM}
+ wget http://vault.centos.org/7.1.1503/updates/Source/SPackages/${KERNELSRCRPM}
check_gcc:
ifeq ($(CC), cc)
mv fwlist.tmp $@
# fixme: bnx2.ko cnic.ko bnx2x.ko
-data: .compile_mark ${KERNEL_CFG} e1000e.ko igb.ko ixgbe.ko bnx2.ko cnic.ko bnx2x.ko aacraid.ko arcmsr.ko hpsa.ko ${SPL_MODULES} ${ZFS_MODULES}
+data: .compile_mark ${KERNEL_CFG} e1000e.ko igb.ko i40e.ko ixgbe.ko bnx2.ko cnic.ko bnx2x.ko aacraid.ko arcmsr.ko hpsa.ko ${SPL_MODULES} ${ZFS_MODULES}
rm -rf data tmp; mkdir -p tmp/lib/modules/${KVNAME}
mkdir tmp/boot
install -m 644 ${KERNEL_CFG} tmp/boot/config-${KVNAME}
install -m 644 ${KERNEL_SRC}/System.map tmp/boot/System.map-${KVNAME}
install -m 644 ${KERNEL_SRC}/arch/x86_64/boot/bzImage tmp/boot/vmlinuz-${KVNAME}
cd ${KERNEL_SRC}; make INSTALL_MOD_PATH=../tmp/ modules_install
+ # install latest i40e driver
+ install -m 644 i40e.ko tmp/lib/modules/${KVNAME}/kernel/drivers/net/ethernet/intel/i40e/
# install latest ixgbe driver
install -m 644 ixgbe.ko tmp/lib/modules/${KVNAME}/kernel/drivers/net/ethernet/intel/ixgbe/
# install latest e1000e driver
#cd ${KERNEL_SRC}; patch -p1 <../${RHKERSRCDIR}/patch-042stab083
#cd ${KERNEL_SRC}; patch -p1 <../do-not-use-barrier-on-ext3.patch
cd ${KERNEL_SRC}; patch -p1 <../bridge-patch.diff
+ cd ${KERNEL_SRC}; patch -p1 <../bridge-forward-ipv6-neighbor-solicitation.patch
+ cd ${KERNEL_SRC}; patch -p1 <../kvmstealtime.patch
#cd ${KERNEL_SRC}; patch -p1 <../kvm-fix-invalid-secondary-exec-controls.patch
#cd ${KERNEL_SRC}; patch -p1 <../fix-aspm-policy.patch
#cd ${KERNEL_SRC}; patch -p1 <../kbuild-generate-mudules-builtin.patch
#cd ${KERNEL_SRC}; patch -p1 <../fix-nfs-block-count.patch
#cd ${KERNEL_SRC}; patch -p1 <../fix-idr-header-for-drbd-compilation.patch
cd ${KERNEL_SRC}; patch -p1 <../add-empty-ndo_poll_controller-to-veth.patch
- cd ${KERNEL_SRC}; patch -p1 <../override_for_missing_acs_capabilities.patch
- cd ${KERNEL_SRC}; patch -p1 <../tg3-fix-deadlock_in_tg3_change_mtu.patch
+ # cd ${KERNEL_SRC}; patch -p1 <../override_for_missing_acs_capabilities.patch
+ cd ${KERNEL_SRC}; patch -p1 <../vhost-net-extend-device-allocation-to-vmalloc.patch
+ cp ${KERNEL_SRC}/drivers/vhost/scsi.c ${KERNEL_SRC}/drivers/vhost/scsi.c.backup
+ # vhost-scsi compile fixes
+ cd ${KERNEL_SRC}; patch -p1 <../vhost-scsi-fixes.patch
sed -i ${KERNEL_SRC}/Makefile -e 's/^EXTRAVERSION.*$$/EXTRAVERSION=${EXTRAVERSION}/'
touch $@
cd ${IXGBEDIR}/src; make CFLAGS_EXTRA="-DIXGBE_NO_LRO" BUILD_KERNEL=${KVNAME}
cp ${IXGBEDIR}/src/ixgbe.ko ixgbe.ko
+i40e.ko i40e: .compile_mark ${I40ESRC}
+ rm -rf ${I40EDIR}
+ tar xf ${I40ESRC}
+ mkdir -p /lib/modules/${KVNAME}
+ ln -sf ${TOP}/${KERNEL_SRC} /lib/modules/${KVNAME}/build
+ cd ${I40EDIR}/src; make BUILD_KERNEL=${KVNAME}
+ cp ${I40EDIR}/src/i40e.ko i40e.ko
+
bnx2.ko cnic.ko bnx2x.ko: ${BNX2SRC}
rm -rf ${BNX2DIR}
tar xf ${BNX2SRC}
.PHONY: clean
clean:
- rm -rf *~ .compile_mark ${KERNEL_CFG} ${KERNEL_SRC} tmp data proxmox-ve/data *.deb ${AOEDIR} aoe.ko ${headers_tmp} fwdata fwlist.tmp *.ko ${IXGBEDIR} ${E1000EDIR} e1000e.ko ${IGBDIR} igb.ko fwlist-${KVNAME} ${BNX2DIR} bnx2.ko cnic.ko bnx2x.ko aacraid.ko ${AACRAIDDIR} rr272x_1x.ko ${RR272XDIR} ${ARECADIR}.ko ${ARECADIR} ${ZFSDIR} ${SPLDIR} ${SPL_MODULES} ${ZFS_MODULES} hpsa.ko ${HPSADIR}
+ rm -rf *~ .compile_mark ${KERNEL_CFG} ${KERNEL_SRC} tmp data proxmox-ve/data *.deb ${AOEDIR} aoe.ko ${headers_tmp} fwdata fwlist.tmp *.ko ${I40EDIR} ${IXGBEDIR} ${E1000EDIR} e1000e.ko ${IGBDIR} igb.ko fwlist-${KVNAME} ${BNX2DIR} bnx2.ko cnic.ko bnx2x.ko aacraid.ko ${AACRAIDDIR} rr272x_1x.ko ${RR272XDIR} ${ARECADIR}.ko ${ARECADIR} ${ZFSDIR} ${SPLDIR} ${SPL_MODULES} ${ZFS_MODULES} hpsa.ko ${HPSADIR}