From patchwork Sat Aug 1 21:36:57 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christian Stewart X-Patchwork-Id: 1339847 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=busybox.net (client-ip=140.211.166.133; helo=hemlock.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=paral.in Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4BJyDP2GCQz9sSt for ; Sun, 2 Aug 2020 07:37:41 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id AFD1888178; Sat, 1 Aug 2020 21:37:38 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1J5ElyKzaqsF; Sat, 1 Aug 2020 21:37:35 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id 9E5AB88184; Sat, 1 Aug 2020 21:37:32 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by ash.osuosl.org (Postfix) with ESMTP id 3A6661BF380 for ; Sat, 1 Aug 2020 21:37:07 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 371BC85E99 for ; Sat, 1 Aug 2020 21:37:07 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id IP5ElW-g39Cg for ; Sat, 1 Aug 2020 21:37:06 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.44]) by fraxinus.osuosl.org (Postfix) with ESMTPS id 9925F85D45 for ; Sat, 1 Aug 2020 21:37:06 +0000 (UTC) Received: by mail-pj1-f44.google.com with SMTP id ep8so119260pjb.3 for ; Sat, 01 Aug 2020 14:37:06 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=/j6UgHLwQdMfvRgZ46ZQ/5oZjMgcxEZkw8MrRTqqnbg=; b=BGVAufi61Q6i0W+J5WrP51tdndKJS7CUJp/E0ke8nfmDy9jWybQTuUdvgAODudfjRi xMZN93G3/ERDyqeapU2veP4UteYOzfa/aMZItc++PDqPXBwpFDQqCuI4d7WBRGZqpCTo pq8bLkk5Bprem25bQie8ygtI/+bVHBTGzSJBnF2biJMHc5ky4krCfRKxyVcb9pylVmVQ jEX4U7REnVwVs0u6CzAIf4Ujq/mHJYgcEyf5HJt7AuHivi4fD2oeFNUgAte7jKkv4Vsf wzGuJJF9BBtTGgzalEd7ZPf/imJ8nY6a/uoWQXZgoHxp6i0obgO4cGUBSVnJM2Gz9RGv lINw== X-Gm-Message-State: AOAM531HZ97iPDA9UdQBBIVFINNmDkxW+GjYWsD3o/DnnNKj8cJLs40j fQbLJ4y7DWLIwlaC4ZBJXcwh8YvnMvc= X-Google-Smtp-Source: ABdhPJze5X9FoCBVforG//poLhAs1nVSl5t4/WD/6zS/Tc3m2DM5Go0JZOZkurzsojTgdr/EVe1yBw== X-Received: by 2002:a17:902:d894:: with SMTP id b20mr9297563plz.39.1596317825861; Sat, 01 Aug 2020 14:37:05 -0700 (PDT) Received: from localhost.localdomain (c-24-4-44-62.hsd1.ca.comcast.net. [24.4.44.62]) by smtp.gmail.com with ESMTPSA id z11sm15241477pfg.169.2020.08.01.14.37.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Aug 2020 14:37:05 -0700 (PDT) From: Christian Stewart To: buildroot@buildroot.org Date: Sat, 1 Aug 2020 14:36:57 -0700 Message-Id: <20200801213658.33869-5-christian@paral.in> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200801213658.33869-2-christian@paral.in> References: <20200801213658.33869-2-christian@paral.in> MIME-Version: 1.0 Subject: [Buildroot] [PATCH v1 5/6] package/nvidia-container-toolkit: new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Korsgaard , Christian Stewart , Thomas Petazzoni Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" NVIDIA Container Toolkit is a OCI-spec hook for support for mounting GPUs into containers. https://github.com/NVIDIA/nvidia-container-toolkit Signed-off-by: Christian Stewart --- package/Config.in | 1 + package/nvidia-container-toolkit/Config.in | 18 +++++++++++ .../nvidia-container-toolkit.hash | 3 ++ .../nvidia-container-toolkit.mk | 30 +++++++++++++++++++ 4 files changed, 52 insertions(+) create mode 100644 package/nvidia-container-toolkit/Config.in create mode 100644 package/nvidia-container-toolkit/nvidia-container-toolkit.hash create mode 100644 package/nvidia-container-toolkit/nvidia-container-toolkit.mk diff --git a/package/Config.in b/package/Config.in index dd1c6e1395..dc2a68933a 100644 --- a/package/Config.in +++ b/package/Config.in @@ -2387,6 +2387,7 @@ menu "System tools" source "package/numactl/Config.in" source "package/nut/Config.in" source "package/nvidia-container-runtime/Config.in" + source "package/nvidia-container-toolkit/Config.in" source "package/openrc/Config.in" source "package/openvmtools/Config.in" source "package/pamtester/Config.in" diff --git a/package/nvidia-container-toolkit/Config.in b/package/nvidia-container-toolkit/Config.in new file mode 100644 index 0000000000..ff75b152a2 --- /dev/null +++ b/package/nvidia-container-toolkit/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_NVIDIA_CONTAINER_TOOLKIT + bool "nvidia-container-toolkit" + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_USES_GLIBC # fexecve + select BR2_PACKAGE_LIBNVIDIA_CONTAINER + select BR2_PACKAGE_NVIDIA_CONTAINER_RUNTIME + help + NVIDIA Container Toolkit is a OCI-spec hook for + support for mounting GPUs into containers. + + https://github.com/NVIDIA/nvidia-container-toolkit + +comment "nvidia-container-toolkit needs a glibc toolchain w/ threads" + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS && \ + BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS + depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAN_USES_GLIBC diff --git a/package/nvidia-container-toolkit/nvidia-container-toolkit.hash b/package/nvidia-container-toolkit/nvidia-container-toolkit.hash new file mode 100644 index 0000000000..7f0f6fc729 --- /dev/null +++ b/package/nvidia-container-toolkit/nvidia-container-toolkit.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 27acabdc776853d53442b375df0a78ce7cfa2650117d4ab76792cdaa7915c909 nvidia-container-toolkit-1.2.0.tar.gz +sha256 552a739c3b25792263f731542238b92f6f8d07e9a488eae27e6c4690038a8243 LICENSE diff --git a/package/nvidia-container-toolkit/nvidia-container-toolkit.mk b/package/nvidia-container-toolkit/nvidia-container-toolkit.mk new file mode 100644 index 0000000000..5f40b18378 --- /dev/null +++ b/package/nvidia-container-toolkit/nvidia-container-toolkit.mk @@ -0,0 +1,30 @@ +################################################################################ +# +# nvidia-container-toolkit +# +################################################################################ + +NVIDIA_CONTAINER_TOOLKIT_VERSION = 1.2.0 +NVIDIA_CONTAINER_TOOLKIT_SITE = $(call github,NVIDIA,nvidia-container-toolkit,v$(NVIDIA_CONTAINER_TOOLKIT_VERSION)) + +NVIDIA_CONTAINER_TOOLKIT_LICENSE = Apache-2.0 +NVIDIA_CONTAINER_TOOLKIT_LICENSE_FILES = LICENSE + +NVIDIA_CONTAINER_TOOLKIT_DEPENDENCIES = nvidia-container-runtime libnvidia-container + +NVIDIA_CONTAINER_TOOLKIT_BUILD_TARGETS = github.com/NVIDIA/container-toolkit/pkg +NVIDIA_CONTAINER_TOOLKIT_BIN_NAME = nvidia-container-toolkit +NVIDIA_CONTAINER_TOOLKIT_TAGS = cgo static_build + +define NVIDIA_CONTAINER_TOOLKIT_INSTALL_SUPPORT + ln -fs /usr/bin/$(NVIDIA_CONTAINER_TOOLKIT_BIN_NAME) \ + $(TARGET_DIR)/usr/bin/nvidia-container-runtime-hook + $(INSTALL) -D -m 644 $(@D)/oci-nvidia-hook.json \ + $(TARGET_DIR)/usr/share/containers/oci/hooks.d/oci-nvidia-hook.json + $(INSTALL) -D -m 755 $(@D)/oci-nvidia-hook \ + $(TARGET_DIR)/usr/libexec/oci/hooks.d/oci-nvidia-hook +endef + +NVIDIA_CONTAINER_TOOLKIT_POST_INSTALL_TARGET_HOOKS += NVIDIA_CONTAINER_TOOLKIT_INSTALL_SUPPORT + +$(eval $(golang-package))