How to flash image?

This page cover the process to flash a new operating system onto a NEON-2000-JNX and EOS-JNX device.

The process to flash one of these device is slightly different to the process to flash a NEON-2000-JT2 device. To flash a JNX device you need to flash both the internal eMMC and external storage device. The internal eMMC device hosts the bootloader and kernel, the external storage device hosts the operating system and Jetpack.

Other useful information about flashing a Jetson based device can be found here.

Step 1: Download image to your host pc with Ubuntu

If upgrading the Jetpack version make sure to also download the eMMC image. This is because the internal eMMC and microSD card must be flashed with same version of Jetpack. For example, jetpack 5.0.2 emmc + jetpack 5.0.2 microSD image

Neon-2000-JNX

Checksum

  • Check the md5 checksum to make sure image file is correct

    • Linux
    • $ md5sum [file]
      
    • $ md5sum NeonJNX_A3_JP502_emmc_v1.0.7.tar.gz
      
    • Windows 10

    • $ certutil -hashfile [file] MD5
      
    • $ certutil -hashfile NeonJNX_A3_JP502_emmc_v1.0.7.tar.gz MD5
      

Step 2: Flash microSD card image

To flash the microSD card you are going to need the following:

  • microSD of at least 32GB
  • microSD card reader

Make sure to use a high quality microSD card to prevent corruption

  1. Unzip the microSD zip file downloaded in Step 1 to get a .img file

    tar -zxvf NeonJNX_A3_JP502_microSD_v1.0.7_woEVA.img.tar.gz
    
  2. Clone image file to microSD card using one of the following methods

  3. Insert SD card into the NEON camera

Step 3: Flash eMMC image

The internal eMMC must be flashed if the Jetpack version on the microSD card has changed, so the Jetpack version on the eMMC and microSD card match.

This step involves connecting the NEON camera to the Host machine and flashing the image.

To perform this step the following equipment is required:

  • A bare metal machine running Ubuntu. Must not be a virtual machine
  • microUSB cable
  • 2 x pin jumpers

There is also a video and PDF showing the process

  1. On the Host PC unzip the file downloaded in Step 1

    tar -zxvf NeonJNX_A3_JP502_emmc_v1.0.7.tar.gz
    
  2. Put the NEON into recovery mode You can refer to pin definition below, and try to enter recover mode. pin define 1 pin define 2

    1. Power on the NEON
    2. Short pins 5 and 6 (recovery), using the provided jumpers
    3. Short pins 3 and 4 (reset), for 2 seconds until the power LED goes out using the provided jumpers
    4. When the jumper for pins 3 and 4 is removed the power LED will light up again
  3. Connect the microUSB cable to the NEON and the Host PC

  4. Open a terminal and execute the lsusb command, to see if the NEON is connected. If a device called Nvidia Corp. is detected, the device has successfully entered recovery mode. lsusb

  5. Go to folder unzipped in step 1

    cd NeonJNX_A3_JP502_emmc_v1.0.7
    
  6. Flash the Neon-2000-JNX

    • For Jetpack 5.0.2: Install neccessary package at first

      sudo apt-get install sshpass
      
    • Jetpack before 5.0.2

      sudo ./flash.sh
      
    • For Jetpack 5.0.2

      sudo ./tools/kernel_flash/l4t_initrd_flash.sh --flash-only --massflash 1
      
  7. Once the flash script is complete and shows Flash complete (SUCCESS) reboot the NEON

Below is a video of the process to flash a NEON-2000-JNX

Appendix: How to restore eMMC image

  • method 1

    • step1: download environment on Linux x86 ubuntu PC
    • step2: untar the file
      • tar -zxvf deploy.neonjnx.tar.gz
    • step3: execute command
      • sudo ./flash.sh -r -k APP -G backup.img jetson-xavier-nx-neonjnx-emmc mmcblk0p1
      • Note: Booard name of different hardware version
        • HW A3: jetson-neonjnx-a3-emmc
        • HW A2: jetson-xavier-nx-neonjnx-emmc
  • method 2

    • Backup emmc

      cd ~/
      mkdir mntTemp
      sudo mount /dev/mmcblk0p1 mntTemp
      cd mntTemp
      sudo tar -jcf ../customerEMMC.tbz2 *
      sync
      cd ../
      sudo umount mntTemp
      rmdir mntTemp
      - Restore emmc
      <div>
        <iframe
            src="https://sftp.adlinktech.com/image/EOS-JNX/sop/Restore_emmc.mp4" 
            width="640" height="385"
            scrolling="no" framespacing="0" webkitallowfullscreen mozallowfullscreen allowfullscreen>
        </iframe>
      </div>  
      
      

      cd ~/ mkdir mntTemp sudo mount /dev/mmcblk0p1 mntTemp sudo tar jxf customerEMMC.tbz2 -C mntTemp sync sudo umount mntTemp rmdir mntTemp