Files
usbip-dkms-devcontainer-fea…/features/usbip-dkms/install.sh
2023-07-05 14:53:53 +02:00

48 lines
1.3 KiB
Bash

#!/usr/bin/env bash
KERNEL_VERSION="${KERNELVERSION:-}"
ENABLE_VUDC="${ENABLEVUDC:-}"
set -euo
if [ -z "$KERNEL_VERSION" ]; then
KERNEL_VERSION="v$(uname -r | grep -Po '\d\.\d+')"
if [ "$KERNEL_VERSION" == 'v' ]; then
>&2 echo "Could not automatically determine kernel version. Please set kernelVersion in the feature config."
fi
fi
apt-get update
apt-get install -y --no-install-recommends \
ca-certificates \
dkms \
git \
"linux-headers-$(uname -r)" \
subversion
# Trick to be able to only download the usbip folder
svn export "https://github.com/torvalds/linux/tags/${KERNEL_VERSION}/drivers/usb/usbip" "/usr/src/usbip-${KERNEL_VERSION}"
install -m644 dkms.conf "/usr/src/usbip-${KERNEL_VERSION}/dkms.conf"
sed -i "s|#MODULE_VERSION#|${KERNEL_VERSION}|" "/usr/src/usbip-${KERNEL_VERSION}/dkms.conf"
export CONFIG_USBIP_CORE=m
export CONFIG_USBIP_VHCI_HCD=m
export CONFIG_USBIP_HOST=m
if [ -n "$ENABLE_VUDC" ]; then
export CONFIG_USBIP_VUDC=m
sed -i "s|# ||g" "/usr/src/usbip-${KERNEL_VERSION}/dkms.conf"
fi
dkms add -m usbip -v "${KERNEL_VERSION}"
if ! dkms build -m usbip -v "${KERNEL_VERSION}"; then
>&2 echo "Could not build usbip kernel module"
>&2 echo "build/make.log:"
cat /var/lib/dkms/usbip/"${KERNEL_VERSION}"/build/make.log >&2
exit 1
fi
dkms install -m usbip -v "${KERNEL_VERSION}"