NVIDIA Tegra Linux Driver Package needs details

Hi,
I’m new with Jetson boards, and I have some questions:

  1. According to the development guide I need to do the following:
sudo tar xpf ${L4T_RELEASE_PACKAGE}
cd Linux_for_Tegra/rootfs/
sudo tar xpf ../../${SAMPLE_FS_PACKAGE}
cd ..
sudo ./apply_binaries.sh

Do untar operations need sudo permission? Because the next Kernel Customization part for getting sources uses

$ ./source_sync.sh

it can’t be done because our L4T_RELEASE_PACKAGE folder owns to root, and so we need to do it with sudo permission and compile kernel with sudo permission. Is it OK? Or I can do untar

tar xpf ${L4T_RELEASE_PACKAGE}

without sudo?

  1. To get toolchain it’s written

The AArch64 toolchain may be downloaded from:

http://developer.nvidia.com/embedded/dlc/l4t-gcc-toolchain-64-bit-32-1

but going to this link I download gcc-4.8.5-aarch64.solitairetheme8 instead of gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz. Is it OK? Is the latest version gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar.xz. compatible for compiling the kernel?

@ildar.valetov
PLease follow the document to do it.
The source_sync.sh only sync the kernel source for customize kernel image. You can update the customize kernel by replace the Image at …/…/nvidia_sdk/JetPack_4.2_Linux_P2888/Linux_for_Tegra/kernel/ and put the device to recovery mode update it by “sudo flash.sh -r -k kernel jetson-xavier mmcblk0p1”

Hi ildar.valetov,

NVIDIA recommends using the Linaro 7.3.1 2018.05 toolchain.
Download link: http://releases.linaro.org/components/toolchain/binaries/7.3-2018.05/aarch64-linux-gnu/gcc-linaro-7.3.1-2018.05-i686_aarch64-linux-gnu.tar.xz

sudo tar xpf ${L4T_RELEASE_PACKAGE}

That shouldn’t need “sudo” or the “p” flag, so the following should work:

tar xf ${L4T_RELEASE_PACKAGE}

sudo tar xpf …/…/${SAMPLE_FS_PACKAGE}

This command definitely does need “sudo” and the “p” flag, so don’t change it.

A comment on why this is so: Everything from the driver package (which creates the “Linux_for_Tegra/” subdirectory) is intended to be run from a regular user. If you unpack as root (with sudo), then a regular user will no longer have to ability to create and delete as needed (sudo while unpacking the driver package will actually break function). The unpacking of the sample rootfs is a special case since this is an actual entire operating system, and only root has permissions for many of the file operations. The “apply_binaries.sh” step also requires sudo since this adds to the rootfs.

JetPack/SDKM should ask for your password when root/sudo is needed. Command line install will of course require knowing ahead of time whether sudo is needed or not.

Actually, since the default permissions in recent releases of Linux_for_Tegra are 666 and 777 for everything, even if the files were owned by root they would still be editable.