ยง2024-11-30

  1. Assumptions

    - alexlai@api-server:~$  192.168.2.109, ubuntu 20.04, x84_64  --> Host
     - Jetson ---> Target
    
  2. Environment Variables

${L4T_RELEASE_PACKAGE} contains the name of the Jetson Linux release package: Jetson_Linux__aarch64.tbz2.

${SAMPLE_FS_PACKAGE} contains the name of the sample file system package: Tegra_Linux_Sample-Root-Filesystem__aarch64.tbz2.

${BOARD} contains the name of a supported configuration of Jetson module and the carrier board. Common values for this field can be found in the Configuration column in the Jetson Modules and Configurations table.

  1. To Flash the Jetson Developer Kit Operating Software

Download the latest Jetson Linux release package and sample file system for your Jetson developer kit from https://developer.nvidia.com/linux-tegra

Enter the following commands to untar the files and assemble the rootfs:

$ tar xf ${L4T_RELEASE_PACKAGE} $ sudo tar xpf ${SAMPLE_FS_PACKAGE} -C Linux_for_Tegra/rootfs/ $ cd Linux_for_Tegra/ $ sudo ./tools/l4t_flash_prerequisites.sh $ sudo ./apply_binaries.sh

  1. bootFromExternalStorage

These scripts were written before there was official support in the NVIDIA SDK Manager for booting from external storage. The NVIDIA SDK Manager is a tool used to flash and configure the Jetson. You may prefer to use the SDK Manager instead of these scripts. To get started with SDK Manager: https://developer.nvidia.com/nvidia-sdk-manager

alexlai@api-server:~$ mkdir -p build/src && cd $_
alexlai@api-server:~/build/src$ cd ..
$ git clone https://github.com/jetsonhacks/bootFromExternalStorage.git
$ cd bootFromExternalStorage/
$ git tag
jetpack-4.6
jetpack-5.1
jetpack-5.1.1
$ ls
flash_jetson_external_storage.sh  get_jetson_files.sh  install_dependencies.sh  install_jetson_default_packages.sh  LICENSE  README.md
$ mkdir jetsonOrinNanoSource && cd $_
alexlai@api-server:~/build/jetsonOrinNanoSource$ 

alexlai@api-server:~/build/jetsonOrinNanoSource$ ../bootFromExternalStorage/get_jetson_files.sh 

---> will be asked to sudo passwd

...
Setting up python2.7 (2.7.18-1~20.04.6) ...
Setting up libpython2-stdlib:amd64 (2.7.17-2ubuntu4) ...
Setting up python2 (2.7.17-2ubuntu4) ...
Setting up python-is-python2 (2.7.17-4) ...
Processing triggers for mime-support (3.64ubuntu1) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu1) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for desktop-file-utils (0.24-1ubuntu3) ...
Reading package lists... Done
Building dependency tree       
Reading state information... Done
lz4 is already the newest version (1.9.2-2ubuntu0.20.04.1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

alexlai@api-server:~/build/jetsonOrinNanoSource$ ls
R35.4.1
alexlai@api-server:~/build/jetsonOrinNanoSource$ ls R35.4.1/
jetson_linux_r35.4.1_aarch64.tbz2  Linux_for_Tegra  tegra_linux_sample-root-filesystem_r35.4.1_aarch64.tbz2