vyos-build/scripts/build-intel-drivers
Christian Poessinger ef7e354035 Merge branch 'current' of github.com:vyos/vyos-build into equuleus
* 'current' of github.com:vyos/vyos-build:
  Jenkins: adjust artifacts to archive
  Jenkins: remove dbg packages before assembling ISO to reduce size
  hooks: initramfs: add option to update an existing initramfs
  Revert "hooks: initramfs: add option to remove an existing initramfs"
  T1366: Update Linux Kernel to v4.19.40
  hooks: initramfs: add option to remove an existing initramfs
  Jenkins: list build packages
  Packages: add vyos-replace package to build procedure
  intel: remove debhelper depencendy on linux-image
  intel: set debhelper compat level to 9
  Packages: add keepalived 2.0.10 to build procedure
  Docker: add additional dependencies for Debian keepalived repo
  Revert "Makefile: proper handle 'make iso' error codes"
  Revert "use bash as the shell for make"
  use bash as the shell for make
  add reprepro deploy script
  Packages: add net-snmp package to build procedure
  Packages: remove duplicate '-j' statement when building Kernel
2019-05-06 18:27:27 +02:00

80 lines
2.8 KiB
Bash
Executable File

#!/bin/bash
basedir=$(pwd)
if [ -z "$KSRC" ]; then
echo "Kernel source KSRC= not specified"
exit 1
fi
VERSION=$(grep "^VERSION" $KSRC/Makefile | grep -Eo '[0-9]{1,4}')
PATCHLEVEL=$(grep "^PATCHLEVEL" $KSRC/Makefile | grep -Eo '[0-9]{1,4}')
SUBLEVEL=$(grep "^SUBLEVEL" $KSRC/Makefile | grep -Eo '[0-9]{1,4}')
KERNEL_VER="$VERSION.$PATCHLEVEL.$SUBLEVEL-amd64-vyos"
pkgdir="$basedir/packages"
if [ ! -d "$basedir/packages" ]; then
mkdir $basedir/packages
fi
URLS=" \
https://downloadmirror.intel.com/14687/eng/ixgbe-5.5.5.tar.gz \
https://downloadmirror.intel.com/13663/eng/igb-5.3.5.22.tar.gz \
https://downloadmirror.intel.com/15817/eng/e1000e-3.4.2.1.tar.gz \
https://downloadmirror.intel.com/24411/eng/i40e-2.7.29.tar.gz \
https://downloadmirror.intel.com/28725/eng/ixgbevf-4.5.2.tar.gz
https://downloadmirror.intel.com/24693/eng/i40evf-3.6.15.tar.gz \
"
# The intel IGBVF driver can't be compiled with recent Kernel versions
# due to interlanl API changes. Driver is from 10.09.2015
# Source code is here: https://downloadmirror.intel.com/18298/eng/igbvf-2.3.9.6.tar.gz
for URL in $URLS
do
cd $pkgdir
filename=${URL##*/}
dirname_full=$(echo $filename | awk -F".tar.gz" '{print $1}')
dirname=$(echo $dirname_full | awk -F- '{print $1}')
version="$(echo $dirname_full | awk -F- '{print $2}')-0"
deb_pkg=${dirname}_${version}_amd64
deb_pkg_dir=$pkgdir/vyos-intel-${deb_pkg}
if [ -d "$dirname_full" ]; then
rm -rf $dirname_full
fi
if [ -d "$deb_pkg_dir" ]; then
rm -rf $deb_pkg_dir
fi
if [ ! -f "$filename" ]; then
wget ${URL}
ret=$?
if [ "$ret" != "0" ]; then
echo "Download of ${URL} failed!"
exit $ret
fi
fi
tar xf $filename
cd $dirname_full/src
KSRC=$KSRC INSTALL_MOD_PATH=$deb_pkg_dir \
make -j $(cat /proc/cpuinfo | grep processor | wc -l) install
mkdir -p $deb_pkg_dir/DEBIAN
echo "9" >$deb_pkg_dir/DEBIAN/compat
echo "Package: vyos-intel-$dirname" >$deb_pkg_dir/DEBIAN/control
echo "Version: $version" >>$deb_pkg_dir/DEBIAN/control
echo "Section: kernel" >>$deb_pkg_dir/DEBIAN/control
echo "Priority: extra" >>$deb_pkg_dir/DEBIAN/control
echo "Architecture: amd64" >>$deb_pkg_dir/DEBIAN/control
echo "Maintainer: VyOS Package Maintainers <maintainers@vyos.net>" >>$deb_pkg_dir/DEBIAN/control
echo "Installed-Size: 9" >>$deb_pkg_dir/DEBIAN/control
echo "Description: Intel Vendor driver for $dirname" >>$deb_pkg_dir/DEBIAN/control
echo " Replacement for the in Kernel drivers" >>$deb_pkg_dir/DEBIAN/control
# Cleanup files which might also be present in linux-image-4.19.20-amd64-vyos
rm -rf $deb_pkg_dir/usr $deb_pkg_dir/lib/modules/$KERNEL_VER/modules.*
cd $pkgdir
dpkg-deb --build $(basename $deb_pkg_dir)
done