diff --git a/sdk_container/src/third_party/coreos-overlay/x11-drivers/nvidia-drivers/files/bin/install-nvidia b/sdk_container/src/third_party/coreos-overlay/x11-drivers/nvidia-drivers/files/bin/install-nvidia deleted file mode 100644 index 803934b190..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/x11-drivers/nvidia-drivers/files/bin/install-nvidia +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -. /usr/share/coreos/release -NVIDIA_DRIVER_BASENAME="$1" -KERNEL_NAME="$(ls /lib/modules)" - -cd "/nvidia/${NVIDIA_DRIVER_BASENAME}" -./nvidia-installer -s -n \ - --no-check-for-alternate-installs \ - --no-kernel-module-source \ - --kernel-name="${KERNEL_NAME}" \ - --no-opengl-files \ - --no-distro-scripts \ - --no-systemd \ - --skip-depmod \ - --kernel-install-path="${PWD}/install-mod" \ - --log-file-name="${PWD}/nvidia-installer.log" || true - -mkdir -p /lib/modules/${KERNEL_NAME}/video -mkdir -p "${PWD}"/install-mod -cp "${PWD}"/kernel/*.ko "${PWD}"/install-mod -cp "${PWD}"/install-mod/*.ko /lib/modules/${KERNEL_NAME}/video/ -depmod -a -cp /lib/modules/${KERNEL_NAME}/modules.* "${PWD}/install-mod/" diff --git a/sdk_container/src/third_party/coreos-overlay/x11-drivers/nvidia-drivers/files/bin/setup-nvidia b/sdk_container/src/third_party/coreos-overlay/x11-drivers/nvidia-drivers/files/bin/setup-nvidia deleted file mode 100644 index 6ecb16d334..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/x11-drivers/nvidia-drivers/files/bin/setup-nvidia +++ /dev/null @@ -1,185 +0,0 @@ -#!/bin/bash -set -euo pipefail - -. /usr/share/flatcar/release -. /usr/share/flatcar/update.conf -. /usr/share/flatcar/nvidia-metadata -[ -f /etc/flatcar/nvidia-metadata ] && . /etc/flatcar/nvidia-metadata - -NVIDIA_DOWNLOAD_BASEURL="https://us.download.nvidia.com/${NVIDIA_PRODUCT_TYPE}/" -NVIDIA_DRIVER_BASENAME="NVIDIA-Linux-x86_64-${NVIDIA_DRIVER_VERSION}" -NVIDIA_WORKDIR='nvidia-workdir' - -FLATCAR_DEVELOPER_CONTAINER="flatcar_developer_container-${FLATCAR_RELEASE_VERSION}.bin" -FLATCAR_DEVELOPER_CONTAINER_URL="" -FLATCAR_ROOT_WORKDIR="/opt/nvidia/workdir" -FLATCAR_KERNEL_VERSION=$(uname -r) -NVIDIA_FLATCAR_VERSION_PAIR="${NVIDIA_DRIVER_VERSION}/${FLATCAR_KERNEL_VERSION}" -NVIDIA_CURRENT_INSTALLATION="current" - -function download_flatcar_developer_container() { - echo Downloading Flatcar Container Linux Developer Container for version: "${FLATCAR_RELEASE_VERSION}" - - if [[ ! -f "${FLATCAR_ROOT_WORKDIR}/${FLATCAR_DEVELOPER_CONTAINER}" ]] - then - rm -f "${FLATCAR_ROOT_WORKDIR}/"flatcar_developer_container*.bin - FLATCAR_REMOTE_FILENAME=${FLATCAR_DEVELOPER_CONTAINER%%-*}.bin.bz2 - if [[ "$(curl -I --retry-delay 1 --retry 60 --retry-connrefused --retry-max-time 60 --connect-timeout 20 -L -s -o /dev/null -w "%{http_code}" "https://${GROUP}.release.flatcar-linux.net/${FLATCAR_RELEASE_BOARD}/${FLATCAR_RELEASE_VERSION}/${FLATCAR_REMOTE_FILENAME}")" == 200 ]] - then - FLATCAR_DEVELOPER_CONTAINER_URL="https://${GROUP}.release.flatcar-linux.net/${FLATCAR_RELEASE_BOARD}/${FLATCAR_RELEASE_VERSION}/${FLATCAR_REMOTE_FILENAME}" - else - FLATCAR_RELEASE_BOARD=${FLATCAR_RELEASE_BOARD//-usr/} - FLATCAR_DEVELOPER_CONTAINER_URL="https://bincache.flatcar-linux.net/images/${FLATCAR_RELEASE_BOARD}/${FLATCAR_RELEASE_VERSION}/${FLATCAR_REMOTE_FILENAME}" - fi - - if [ ! -n "${FLATCAR_DEVELOPER_CONTAINER_URL}" ] - then - return 1 - fi - - curl -L --fail "${FLATCAR_DEVELOPER_CONTAINER_URL}" -o "${FLATCAR_ROOT_WORKDIR}/${FLATCAR_DEVELOPER_CONTAINER}.bz2" - lbzip2 -d "${FLATCAR_ROOT_WORKDIR}/${FLATCAR_DEVELOPER_CONTAINER}.bz2" - - fi - - return 0 -} - -function download_nvidia_driver_archive() { - echo Downloading NVIDIA "${NVIDIA_DRIVER_VERSION}" Driver - - if [ ! -f "${FLATCAR_ROOT_WORKDIR}/${NVIDIA_WORKDIR}/${NVIDIA_DRIVER_BASENAME}.run" ] - then - curl --retry-delay 1 --retry 60 --retry-connrefused --retry-max-time 60 --connect-timeout 20 --fail "${NVIDIA_DOWNLOAD_BASEURL}/${NVIDIA_DRIVER_VERSION}/${NVIDIA_DRIVER_BASENAME}.run" -o "${FLATCAR_ROOT_WORKDIR}/${NVIDIA_WORKDIR}/${NVIDIA_DRIVER_BASENAME}.run.tmp" - mv "${FLATCAR_ROOT_WORKDIR}/${NVIDIA_WORKDIR}/${NVIDIA_DRIVER_BASENAME}.run.tmp" "${FLATCAR_ROOT_WORKDIR}/${NVIDIA_WORKDIR}/${NVIDIA_DRIVER_BASENAME}.run" - fi -} - -function extract_nvidia_installer() { - echo Extract the NVIDIA Driver Installer ${NVIDIA_DRIVER_VERSION} - - pushd "${FLATCAR_ROOT_WORKDIR}/${NVIDIA_WORKDIR}" - chmod +x "${NVIDIA_DRIVER_BASENAME}.run" - "./${NVIDIA_DRIVER_BASENAME}.run" -x -s || true - popd -} - -function run_nspawn_container() { - echo Spawn system-nspawn container to install the NVIDIA drivers - - sudo systemd-nspawn --read-only --volatile=overlay --image="${FLATCAR_ROOT_WORKDIR}/${FLATCAR_DEVELOPER_CONTAINER}" --bind="${FLATCAR_ROOT_WORKDIR}/${NVIDIA_WORKDIR}":/nvidia --bind=/usr/lib/nvidia/bin:/app/bin/ /app/bin/install-nvidia "$NVIDIA_DRIVER_BASENAME" -} - -function copy_nvidia_build_artifacts() { - mkdir -p "/opt/nvidia/${NVIDIA_FLATCAR_VERSION_PAIR}/usr/lib64" - cp "$FLATCAR_ROOT_WORKDIR/$NVIDIA_WORKDIR/${NVIDIA_DRIVER_BASENAME}"/*.so.* "/opt/nvidia/${NVIDIA_FLATCAR_VERSION_PAIR}/usr/lib64/" - - mkdir -p /opt/bin - cp "$FLATCAR_ROOT_WORKDIR/$NVIDIA_WORKDIR/${NVIDIA_DRIVER_BASENAME}"/{nvidia-debugdump,nvidia-cuda-mps-control,nvidia-xconfig,nvidia-modprobe,nvidia-smi,nvidia-cuda-mps-server,nvidia-persistenced,nvidia-settings} /opt/bin/ - - mkdir -p "/opt/nvidia/${NVIDIA_FLATCAR_VERSION_PAIR}/usr/lib/modules/$(uname -r)/video/" - cp "$FLATCAR_ROOT_WORKDIR/$NVIDIA_WORKDIR/${NVIDIA_DRIVER_BASENAME}"/install-mod/*.ko "/opt/nvidia/${NVIDIA_FLATCAR_VERSION_PAIR}/usr/lib/modules/$(uname -r)/video/" - cp "$FLATCAR_ROOT_WORKDIR/$NVIDIA_WORKDIR/${NVIDIA_DRIVER_BASENAME}"/install-mod/modules.* "/opt/nvidia/${NVIDIA_FLATCAR_VERSION_PAIR}/usr/lib/modules/$(uname -r)/" - - mkdir -p "/opt/nvidia/${NVIDIA_FLATCAR_VERSION_PAIR}/usr/lib/extension-release.d/" - cat <"/opt/nvidia/${NVIDIA_FLATCAR_VERSION_PAIR}/usr/lib/extension-release.d/extension-release.nvidia-driver" -ID=flatcar -SYSEXT_LEVEL=1.0 -EOF - - pushd /opt/nvidia - ln -sfn "${NVIDIA_FLATCAR_VERSION_PAIR}" current - popd -} - -function install_and_load() { - # This creates symlinks to sonames - mkdir -p /etc/ld.so.conf.d/ - echo "/opt/nvidia/${NVIDIA_CURRENT_INSTALLATION}/usr/lib64" > /etc/ld.so.conf.d/nvidia.conf - ldconfig - - modprobe -a i2c_core ipmi_msghandler ipmi_devintf - - pushd "/opt/nvidia/${NVIDIA_CURRENT_INSTALLATION}/usr/lib/modules/$(uname -r)/video/" - insmod nvidia.ko - insmod nvidia-modeset.ko - insmod nvidia-uvm.ko - popd - - # based on https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#runfile-verifications - if [ ! -c /dev/nvidiactl ] - then - mknod -m 666 /dev/nvidiactl c 195 255 - fi - - if [ ! -c /dev/nvidia0 ] - then - NVDEVS=`lspci | grep -i NVIDIA` - N3D=`echo "$NVDEVS" | grep -c "3D controller" || true` - NVGA=`echo "$NVDEVS" | grep -c "VGA compatible controller" || true` - N=$(( $N3D + $NVGA - 1)) - for i in `seq 0 $N`; do - mknod -m 666 /dev/nvidia$i c 195 $i - done - fi - - if [ ! -c /dev/nvidia-uvm ] - then - D=`grep nvidia-uvm /proc/devices | awk '{print $1}'` - mknod -m 666 /dev/nvidia-uvm c $D 0 - fi -} - -function verify_installation() { - nvidia-smi - nvidia-modprobe -u -m -c 0 || echo "nvidia-modprobe failed!" -} - -function is_nvidia_probe_required() { - # Vendor: NVIDIA, Class: VGA compatible controller - if [[ -n "$(lspci -d 10de:*:0300)" ]]; then - return 0 - fi - # Vendor: NVIDIA, Class: 3D controller - if [[ -n "$(lspci -d 10de:*:0302)" ]]; then - return 0 - fi - return 1 -} - -function is_nvidia_installation_required() { - if ! is_nvidia_probe_required; then - return 1 - fi - - if [[ -d "/opt/nvidia/${NVIDIA_FLATCAR_VERSION_PAIR}" ]]; then - return 1 - fi -} - -function presetup() { - mkdir -p "${FLATCAR_ROOT_WORKDIR}" - mkdir -p "${FLATCAR_ROOT_WORKDIR}/${NVIDIA_WORKDIR}" -} - -function setup() { - download_flatcar_developer_container - download_nvidia_driver_archive - extract_nvidia_installer - run_nspawn_container - copy_nvidia_build_artifacts - install_and_load - verify_installation -} - -if is_nvidia_installation_required -then - presetup "$@" - setup "$@" - exit 0 -fi -if is_nvidia_probe_required -then - install_and_load - verify_installation -fi diff --git a/sdk_container/src/third_party/coreos-overlay/x11-drivers/nvidia-drivers/files/nvidia-metadata b/sdk_container/src/third_party/coreos-overlay/x11-drivers/nvidia-drivers/files/nvidia-metadata deleted file mode 100644 index 6ec82b56bd..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/x11-drivers/nvidia-drivers/files/nvidia-metadata +++ /dev/null @@ -1,2 +0,0 @@ -NVIDIA_DRIVER_VERSION=535.216.01 -NVIDIA_PRODUCT_TYPE=tesla diff --git a/sdk_container/src/third_party/coreos-overlay/x11-drivers/nvidia-drivers/files/units/nvidia.service b/sdk_container/src/third_party/coreos-overlay/x11-drivers/nvidia-drivers/files/units/nvidia.service deleted file mode 100644 index c5cb85e30c..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/x11-drivers/nvidia-drivers/files/units/nvidia.service +++ /dev/null @@ -1,15 +0,0 @@ -[Unit] -Description=NVIDIA Configure Service -Wants=network-online.target -After=network-online.target -Before=containerd.target - -[Service] -Type=oneshot -RemainAfterExit=true -Restart=no -Environment=PATH=/opt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin -ExecStart=/usr/lib/nvidia/bin/setup-nvidia - -[Install] -WantedBy=multi-user.target diff --git a/sdk_container/src/third_party/coreos-overlay/x11-drivers/nvidia-drivers/nvidia-drivers-535.216.01.ebuild b/sdk_container/src/third_party/coreos-overlay/x11-drivers/nvidia-drivers/nvidia-drivers-535.216.01.ebuild deleted file mode 100644 index 53465ec289..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/x11-drivers/nvidia-drivers/nvidia-drivers-535.216.01.ebuild +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright (c) 2020 Kinvolk GmbH. All rights reserved. -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit systemd - -DESCRIPTION="NVIDIA drivers" -HOMEPAGE="" -SRC_URI="" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 arm64" -IUSE="" - -# no source directory -S="${WORKDIR}" - -src_install() { - systemd_dounit "${FILESDIR}/units/nvidia.service" - systemd_enable_service multi-user.target nvidia.service - exeinto "/usr/lib/nvidia/bin" - doexe "${FILESDIR}/bin/install-nvidia" - doexe "${FILESDIR}/bin/setup-nvidia" - insinto "/usr/share/flatcar" - doins "${FILESDIR}/nvidia-metadata" -}