From patchwork Sat Aug 1 21:36:54 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christian Stewart X-Patchwork-Id: 1339844 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 4BJyDL03Pnz9sSt for ; Sun, 2 Aug 2020 07:37:37 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 0B7C887C89; Sat, 1 Aug 2020 21:37:35 +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 Irz0BYBUbVdo; Sat, 1 Aug 2020 21:37:30 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id 8B55186CB6; Sat, 1 Aug 2020 21:37:30 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 2BFB41BF380 for ; Sat, 1 Aug 2020 21:37:03 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 28BA387A1A for ; Sat, 1 Aug 2020 21:37:03 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cXjYrumnc5UN for ; Sat, 1 Aug 2020 21:37:02 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) by whitealder.osuosl.org (Postfix) with ESMTPS id 3CEF587A05 for ; Sat, 1 Aug 2020 21:37:02 +0000 (UTC) Received: by mail-pl1-f169.google.com with SMTP id r4so8315344pls.2 for ; Sat, 01 Aug 2020 14:37:02 -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:mime-version :content-transfer-encoding; bh=BG6auHLtxlqngZQNwV2OaVJyF2GBI9m8q+jPeJr+Uxc=; b=YM/qRtCqdRKx+nX4iBrpTqy+9ax8tjwKZO6hEVzjwl3UCSCaf50FRgF82qFlwodcr2 GDUOe0eXd/qCxdeFtYe0WFExSU8PT30z0/l8Obr2xnZUi5o3swt1wSVJV4+CpgYabpEw sVxzetRSBkn7rKFw9eHCo8x8EQsywIdOuQ8ZwkjTpkgHQLpZnbfDuoK4sLju+qWMToi9 OvAYSImQv06urVKK/ypOMDIJjMs5WB7nB9KDX3uZZz21n75JP8Zg3pHUlZObr0PTeT3Q EOI3tHktWV+xGyCxB3M6QWaTNShTDlAZ0TvW1SitTdZXsbtqmFaBmBY8+/61EN1Jn65D X+9Q== X-Gm-Message-State: AOAM530r7pQfCNtUxfL6DWDHTx23Qr8Pg6N3ghNPwQMhAiE+HIzoFnvm fy0icNp4COEnrXnmQgi7rMk5HTz/Ccg= X-Google-Smtp-Source: ABdhPJxMsV85VYSVVuNxl9u95/6SDIefmcBhfmg88ANP/YbDcu9AdSsA9VlKc/AoaAmk1dVAZAL5Ag== X-Received: by 2002:a17:902:8f94:: with SMTP id z20mr9241682plo.241.1596317821447; Sat, 01 Aug 2020 14:37:01 -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.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Aug 2020 14:37:01 -0700 (PDT) From: Christian Stewart To: buildroot@buildroot.org Date: Sat, 1 Aug 2020 14:36:54 -0700 Message-Id: <20200801213658.33869-2-christian@paral.in> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Subject: [Buildroot] [PATCH v1 2/6] package/linux4tegra: 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 Linux4Tegra utilities and binaries. https://developer.nvidia.com/embedded/linux-tegra-archive Signed-off-by: Christian Stewart --- package/Config.in | 1 + ...for-flashing-Buildroot-produced-disk.patch | 58 +++++++++ package/linux4tegra/Config.in | 6 + package/linux4tegra/linux4tegra.hash | 2 + package/linux4tegra/linux4tegra.mk | 114 ++++++++++++++++++ 5 files changed, 181 insertions(+) create mode 100644 package/linux4tegra/0001-Adjust-flash.sh-for-flashing-Buildroot-produced-disk.patch create mode 100644 package/linux4tegra/Config.in create mode 100644 package/linux4tegra/linux4tegra.hash create mode 100644 package/linux4tegra/linux4tegra.mk diff --git a/package/Config.in b/package/Config.in index 3349641371..0d34824128 100644 --- a/package/Config.in +++ b/package/Config.in @@ -481,6 +481,7 @@ endmenu source "package/libuio/Config.in" source "package/linux-backports/Config.in" source "package/linux-serial-test/Config.in" + source "package/linux4tegra/Config.in" source "package/linuxconsoletools/Config.in" source "package/lirc-tools/Config.in" source "package/lm-sensors/Config.in" diff --git a/package/linux4tegra/0001-Adjust-flash.sh-for-flashing-Buildroot-produced-disk.patch b/package/linux4tegra/0001-Adjust-flash.sh-for-flashing-Buildroot-produced-disk.patch new file mode 100644 index 0000000000..4ace27bddc --- /dev/null +++ b/package/linux4tegra/0001-Adjust-flash.sh-for-flashing-Buildroot-produced-disk.patch @@ -0,0 +1,58 @@ +From fbd0d35995a23351d4b50ed0b814442a6873ded2 Mon Sep 17 00:00:00 2001 +From: Christian Stewart +Date: Fri, 17 Jul 2020 13:58:43 -0700 +Subject: [PATCH] Adjust flash.sh for flashing Buildroot-produced disk image + +Signed-off-by: Christian Stewart +--- + flash.sh | 19 ++++++++++--------- + 1 file changed, 10 insertions(+), 9 deletions(-) + +diff --git a/flash.sh b/flash.sh +index 38c0cbb..c27b41b 100755 +--- a/flash.sh ++++ b/flash.sh +@@ -1339,9 +1339,10 @@ elif [ "${target_rootdev}" == "internal" ] || \ + usage allunknown 1; + fi + +- cmdline+="root=PARTUUID=${rootfsuuid} rw rootwait rootfstype=ext4 " ++ # cmdline+="root=PARTUUID=${rootfsuuid} rw rootwait rootfstype=ext4 " ++ cmdline+="root=/dev/${target_rootdev} rw rootwait" + else +- cmdline+="root=/dev/${target_rootdev} rw rootwait rootfstype=ext4 " ++ cmdline+="root=/dev/${target_rootdev} rw rootwait" + fi; + + if [ "${CMDLINE_ADD}" != "" ]; then +@@ -1512,11 +1513,7 @@ if [ "${write_image_name}" != "" ]; then + fi + fi + +-if [ "${INITRD_IN_BOOTIMG}" = "yes" ]; then +- ramdisk=initrd; +-else +- ramdisk="/dev/null" +-fi ++ramdisk="/dev/null" + echo -n "Making Boot image... "; + MKBOOTARG+="--kernel ${kernel_image} "; + MKBOOTARG+="--ramdisk ${ramdisk} "; +@@ -1977,8 +1974,12 @@ if [ "${reuse_systemimg}" = "true" ] || [ "${skip_systemimg}" = "true" ]; then + elif [ "${rootdev_type}" = "internal" ]; then + APP_TAG+="-e s/APPFILE/${localsysfile}/ "; + if [ "${target_partname}" = "" -o "${target_partname}" = "APP" ]; then +- build_fsimg "$localsysfile" "$fillpat" \ +- "$rootfssize" "$rootfs_type" "$rootfs_dir" "$cmdline"; ++ echo "Skipping image build and setting target_partfile to INITRD." ++ # target_partfile=${INITRD} ++ # cp ${INITRD} ./system.img ++ ln -fs ${INITRD} ./system.img ++ #build_fsimg "$localsysfile" "$fillpat" \ ++ # "$rootfssize" "$rootfs_type" "$rootfs_dir" "$cmdline"; + fi; + elif [ "${rootdev_type}" = "network" -o "${rootdev_type}" = "external" ]; then + APP_TAG+="-e s/APPFILE/${localsysfile}/ "; +-- +2.27.0 + diff --git a/package/linux4tegra/Config.in b/package/linux4tegra/Config.in new file mode 100644 index 0000000000..06d449e21e --- /dev/null +++ b/package/linux4tegra/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_LINUX4TEGRA + bool "linux4tegra" + help + NVIDIA Linux4Tegra utilities and binaries. + + https://developer.nvidia.com/embedded/linux-tegra-archive diff --git a/package/linux4tegra/linux4tegra.hash b/package/linux4tegra/linux4tegra.hash new file mode 100644 index 0000000000..e73577a160 --- /dev/null +++ b/package/linux4tegra/linux4tegra.hash @@ -0,0 +1,2 @@ +# locally computed +sha256 9a2d13b1f4b67fef97a428d54724b23e84e14636eedfa22f338c2d1ea62558e2 Tegra186_Linux_R32.4.3_aarch64.tbz2 diff --git a/package/linux4tegra/linux4tegra.mk b/package/linux4tegra/linux4tegra.mk new file mode 100644 index 0000000000..74cb19723e --- /dev/null +++ b/package/linux4tegra/linux4tegra.mk @@ -0,0 +1,114 @@ +################################################################################ +# +# linux4tegra +# +################################################################################ + +LINUX4TEGRA_VERSION = 32.4.3 +LINUX4TEGRA_SITE = https://developer.nvidia.com/embedded/L4T/r32_Release_v4.3/t186ref_release_aarch64 +LINUX4TEGRA_SOURCE = Tegra186_Linux_R$(LINUX4TEGRA_VERSION)_aarch64.tbz2 + +LINUX4TEGRA_LICENSE = NVIDIA Software License, GPL-2.0, LGPL, Apache-2.0, MIT +LINUX4TEGRA_LICENSE_FILES = \ + bootloader/LICENSE \ + bootloader/LICENSE.adsp \ + bootloader/LICENSE.bpmp \ + bootloader/LICENSE.bpmp_t194 \ + bootloader/LICENSE.camera-rtcpu \ + bootloader/LICENSE.cboot \ + bootloader/LICENSE.cboot_t194 \ + bootloader/LICENSE.chkbdinfo \ + bootloader/LICENSE.mce_c10_prod_cr \ + bootloader/LICENSE.mkbctpart \ + bootloader/LICENSE.mkbootimg \ + bootloader/LICENSE.mkgpt \ + bootloader/LICENSE.nv_smd_generator \ + bootloader/LICENSE.spe.bin \ + bootloader/LICENSE.spe_t194.bin \ + bootloader/LICENSE.tos-mon-only.img.arm-trusted-firmware \ + bootloader/LICENSE.tos-trusty.img.arm-trusted-firmware \ + bootloader/LICENSE.tos-trusty.img.trusty \ + bootloader/LICENSE.tos-trusty_t194.img.arm-trusted-firmware \ + bootloader/LICENSE.tos-trusty_t194.img.trusty \ + nv_tegra/LICENSE \ + nv_tegra/LICENSE \ + nv_tegra/LICENSE.brcm_patchram_plus \ + nv_tegra/LICENSE.l4t-usb-device-mode-filesystem.img \ + nv_tegra/LICENSE.libnvargus \ + nv_tegra/LICENSE.libnvcam_imageencoder \ + nv_tegra/LICENSE.libnveventlib \ + nv_tegra/LICENSE.libnvscf \ + nv_tegra/LICENSE.libnvtracebuf \ + nv_tegra/LICENSE.libtegrav4l2 \ + nv_tegra/LICENSE.minigbm \ + nv_tegra/LICENSE.nvbootctrl \ + nv_tegra/LICENSE.nvdla \ + nv_tegra/LICENSE.weston \ + nv_tegra/LICENSE.weston-data \ + nv_tegra/nvidia_configs/opt/nvidia/l4t-usb-device-mode/LICENSE.filesystem.img \ + nv_tegra/nvidia_drivers/usr/share/doc/nvidia-tegra/LICENSE.brcm_patchram_plus \ + nv_tegra/nvidia_drivers/usr/share/doc/nvidia-tegra/LICENSE.cypress_wifibt \ + nv_tegra/nvidia_drivers/usr/share/doc/nvidia-tegra/LICENSE.libnvargus \ + nv_tegra/nvidia_drivers/usr/share/doc/nvidia-tegra/LICENSE.libnvcam_imageencoder \ + nv_tegra/nvidia_drivers/usr/share/doc/nvidia-tegra/LICENSE.libnveventlib \ + nv_tegra/nvidia_drivers/usr/share/doc/nvidia-tegra/LICENSE.libnvtracebuf \ + nv_tegra/nvidia_drivers/usr/share/doc/nvidia-tegra/LICENSE.libnvv4l2 \ + nv_tegra/nvidia_drivers/usr/share/doc/nvidia-tegra/LICENSE.libnvv4lconvert \ + nv_tegra/nvidia_drivers/usr/share/doc/nvidia-tegra/LICENSE.libtegrav4l2 \ + nv_tegra/nvidia_drivers/usr/share/doc/nvidia-tegra/LICENSE.libvulkan1 \ + nv_tegra/nvidia_drivers/usr/share/doc/nvidia-tegra/LICENSE.minigbm \ + nv_tegra/nvidia_drivers/usr/share/doc/nvidia-tegra/LICENSE.nvdla \ + nv_tegra/nvidia_drivers/usr/share/doc/nvidia-tegra/LICENSE.realtek_8822ce_wifibt \ + nv_tegra/nvidia_drivers/usr/share/doc/nvidia-tegra/LICENSE.tegra_sensors \ + nv_tegra/nvidia_tools/usr/share/doc/nvidia-tegra/LICENSE.nvbootctrl \ + nv_tegra/nvidia_tools/usr/share/doc/nvidia-tegra/LICENSE.tipc_test + +LINUX4TEGRA_INSTALL_IMAGES = YES + +define LINUX4TEGRA_EXTRACT_NVIDIA_DRIVERS + @mkdir -p $(@D)/nv_tegra/nvidia_drivers + $(call suitable-extractor,nvidia_drivers.tbz2) \ + $(@D)/nv_tegra/nvidia_drivers.tbz2 | \ + $(TAR) -C $(@D)/nv_tegra/nvidia_drivers $(TAR_OPTIONS) - +endef + +LINUX4TEGRA_POST_EXTRACT_HOOKS += LINUX4TEGRA_EXTRACT_NVIDIA_DRIVERS + +define LINUX4TEGRA_EXTRACT_NVIDIA_CONFIGS + @mkdir -p $(@D)/nv_tegra/nvidia_configs + $(call suitable-extractor,config.tbz2) \ + $(@D)/nv_tegra/config.tbz2 | \ + $(TAR) -C $(@D)/nv_tegra/nvidia_configs $(TAR_OPTIONS) - +endef + +LINUX4TEGRA_POST_EXTRACT_HOOKS += LINUX4TEGRA_EXTRACT_NVIDIA_CONFIGS + +define LINUX4TEGRA_EXTRACT_NVIDIA_TOOLS + @mkdir -p $(@D)/nv_tegra/nvidia_tools + $(call suitable-extractor,nv_tools.tbz2) \ + $(@D)/nv_tegra/nv_tools.tbz2 | \ + $(TAR) -C $(@D)/nv_tegra/nvidia_tools $(TAR_OPTIONS) - +endef + +LINUX4TEGRA_POST_EXTRACT_HOOKS += LINUX4TEGRA_EXTRACT_NVIDIA_TOOLS + +# symlink linux4tegra to the target dir. +define LINUX4TEGRA_INSTALL_IMAGES_CMDS + ln -fs $(@D) $(BINARIES_DIR)/linux4tegra +endef + +LINUX4TEGRA_RSYNC = \ + rsync -a --ignore-times $(RSYNC_VCS_EXCLUSIONS) \ + --chmod=u=rwX,go=rX --exclude .empty --exclude '*~' \ + --keep-dirlinks --exclude=ld.so.conf.d + +define LINUX4TEGRA_INSTALL_TARGET_CMDS + # install nvidia_drivers + $(LINUX4TEGRA_RSYNC) $(@D)/nv_tegra/nvidia_drivers/ $(TARGET_DIR)/ + # install nvidia_configs + $(LINUX4TEGRA_RSYNC) $(@D)/nv_tegra/nvidia_configs/ $(TARGET_DIR)/ + # install nvidia_tools + $(LINUX4TEGRA_RSYNC) $(@D)/nv_tegra/nvidia_tools/ $(TARGET_DIR)/ +endef + +$(eval $(generic-package))