[Buildroot] [PATCH v4 4/5] board: add nvidia jetson tx2 support
Romain Naour
romain.naour at gmail.com
Sat Nov 21 10:06:18 UTC 2020
Hello Christian,
Le 19/11/2020 à 14:40, Romain Naour a écrit :
> Hello Christian,
>
> Le 19/11/2020 à 08:53, Christian Stewart a écrit :
>> Tested-by: Asaf Kahlon <asafka7 at gmail.com>
>> Signed-off-by: Christian Stewart <christian at paral.in>
>>
>> ---
>>
>> v3 -> v4:
>>
>> - thanks Romain for the review
>> - cjs: added gcc + binutils version specifiers
>> - tested against devkit hardware
>>
>> Signed-off-by: Christian Stewart <christian at paral.in>
>> ---
>> board/jetson/tx2/readme.txt | 83 +++++++++++++++++++++++++++++++++++++
>> board/jetsontx2 | 1 +
>> configs/jetsontx2_defconfig | 64 ++++++++++++++++++++++++++++
>> 3 files changed, 148 insertions(+)
>> create mode 100644 board/jetson/tx2/readme.txt
>> create mode 120000 board/jetsontx2
>> create mode 100644 configs/jetsontx2_defconfig
>>
[...]
>> +++ b/configs/jetsontx2_defconfig
>> @@ -0,0 +1,64 @@
>> +BR2_aarch64=y
>> +BR2_cortex_a57=y
>> +BR2_ARM_FPU_FP_ARMV8=y
>> +
>> +# enable specific optimizations
>> +BR2_TARGET_OPTIMIZATION="-march=armv8-a+crypto -mcpu=cortex-a57+crypto"
>> +
>> +# Toolchain reference: docs.nvidia.com: "Jetson Linux Driver Package Toolchain"
>> +BR2_TOOLCHAIN_BUILDROOT=y
>> +BR2_TOOLCHAIN_BUILDROOT_CXX=y
>> +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
>> +BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
>> +BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
Glibc toolchains already select locale and whar support.
>> +BR2_BINUTILS_VERSION_2_32_X=y
I'm not sure why you need this version.
>> +BR2_GCC_VERSION_7_X=y
>
> This means that you are not working on Buildroot master because gcc 7 has been
> removed already.
>
> This is anoying... either the latest NVIDIA SDK (jetpack 4.4.1) is already out
> of date because it require an old gcc version or gcc is moving too fast for such
> sdk.
>
> Your work on this series must be discussed with other maintainers.
> Wait some time before sending v5.
Actually I would suggest to use the Linaro aarch64 2018.05
(BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64) because it's the toolchain recommended
and used by Nvidia.
See: https://developer.nvidia.com/gcc-linaro-731-201805-sources
>
>> +BR2_GCC_ENABLE_LTO=n
>
> Should be:
> # BR2_GCC_ENABLE_LTO is not set
>
> Best regards,
> Romain
>
>
>> +BR2_USE_MMU=y
>> +
>> +BR2_SYSTEM_DHCP="eth0"
>> +
>> +# Linux headers same as kernel, a 4.9 series
>> +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
>> +BR2_KERNEL_HEADERS_AS_KERNEL=y
We don't need this if we use the Linaro toolchain.
>> +
>> +BR2_LINUX_KERNEL=y
>> +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
>> +# patches-l4t-r32.4
>> +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,madisongh,linux-tegra-4.9,0be1a57448010ae60505acf4e2153638455cee7c)/linux-tegra-4.9.140-r1.tar.gz"
>> +BR2_LINUX_KERNEL_DEFCONFIG="tegra"
>> +
>> +# Build the DTB from the kernel sources
>> +BR2_LINUX_KERNEL_DTS_SUPPORT=y
>> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="_ddot_/_ddot_/_ddot_/_ddot_/nvidia/platform/t18x/quill/kernel-dts/tegra186-quill-p3310-1000-c03-00-base"
>> +
>> +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
>> +
>> +BR2_PACKAGE_LINUX4TEGRA=y
>> +BR2_PACKAGE_LINUX4TEGRA_PLATFORM_T186REF=y
>> +
>> +# TODO: NVIDIA_CONTAINER_TOOLKIT requires a go-module integration.
>> +# BR2_PACKAGE_NVIDIA_CONTAINER_TOOLKIT=y
>> +
>> +BR2_PACKAGE_LINUX_FIRMWARE=y
>> +BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX=y
>> +
>> +# Required tools to create the image
>> +BR2_PACKAGE_HOST_DOSFSTOOLS=y
>> +BR2_PACKAGE_HOST_JQ=y
>> +BR2_PACKAGE_HOST_PARTED=y
>> +
>> +# Filesystem / image
>> +BR2_TARGET_ROOTFS_EXT2=y
>> +BR2_TARGET_ROOTFS_EXT2_4=y
>> +BR2_TARGET_ROOTFS_EXT2_SIZE="2000M"
This is huge, here target directory is only 215Mo after building this defconfig.
[target]$ du -hs .
215M
Best regards,
Romain
>> +# BR2_TARGET_ROOTFS_TAR is not set
>> +
>> +# Uboot
>> +BR2_TARGET_UBOOT=y
>> +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="p2771-0000-500"
>> +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
>> +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y
>> +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,paralin,u-boot-tegra,e6da093be3cc593ef4294e1922b3391ede9c94da)/u-boot-tegra-l4t-r32.4-v2016.7.tar.gz"
>> +BR2_TARGET_UBOOT_FORMAT_DTB_BIN=y
>> +BR2_TARGET_UBOOT_NEEDS_DTC=y
>>
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>
More information about the buildroot
mailing list