Bootburn Usage

Use the Bootburn utility to flash platform boards with the boot loader, kernel, and file system. The Bootburn utility is provided as part of the Foundation package.

Bootburn

Bootburn is a shell script that:

  • Boots the device in recovery mode with RAMDisk. Recovery Mode is where BootROM waits on recovery USB to receive data. All boot images are received from the host by NVIDIA Orin over USB and stored in RAM. The system is booted using the data stored in RAM.
  • Signs or generates the images on the host.
  • Transfers the images to target using ADB.
  • Flashes the boards.

Bootburn automatically resizes the rootfs image on the target to optimize the available storage on the partition dedicated to it, either on eMMC or NOR.

Bootburn supports a host NFS share as the mount point for the target rootfs. This feature provides a convenient way for developers to copy files between the target and host for rapid development. In this case, the uncompressed target rootfs directory on the host is leveraged directly by the target.

Bootburn relies on the Foundation services to provide the flashing and boot loader functionality. You configure it with the CFG file rather than with Bootburn command-line parameters; Bootburn supports limited command line options.

Bootburn Command Usage

Run the bootburn.py script from a shell on your host Linux system by executing the command:
./tools/flashtools/bootburn/bootburn.py <options>
Options Description

-b <board_name>

(lowercase b)

Provides the board name. Possible board names include:

  • p3710-10-a01
  • p3710-10-a01-f1
  • p3663-a01
  • p3663-a01-f1
  • p4024-a00-a
  • p4024-a00-a-f1
  • p4024-a00-b
  • p4024-a00-b-f1

See Section 1.0 of the Release Notes for your release to confirm your board and revision information.

For more information, see Supported Platforms/PCTs and SDK/PDK Packages under API Modules.

--board_config <board_name>.json

Can be used with bootburn.py, create_bsp_images.py, and flash_bsp_images.py board_name must include absolute path.

--clean Erases all of QSPI and eMMC.

-d <partition_name> <dtb_file>

(lowercase d)

Specifies the DTB file to flash and the target partition. The default file is defined in BoardSetFilePathsAndDefaultValues.

bpmp-fw-dtb and kernel-dtb may be specified simultaneously.

Note: This option is not intended to specify kernel-dtb in Hypervisor.

-encrypt (preferred)

This option does not need the encryption key to be passed.

Either the -encrypt or --encryption_key option can be used with bootburn.py and create_bsp_images.py.

Additionally, edit drive-foundation/tools/flashtools/flash/tegrasign_v3_oemkey.yaml or drive-foundation-safety/tools/flashtools/flash/tegrasign_v3_oemkey.yaml.

Find "SBK".
"AES" : {
"SBK" :
{
"IV" : OEM_FUSE_IV,
"Manifest" : "10860000",
"Offset" : "0d01",
#"Plain" : "63979cd900154cfaedc539cd17572387296058fe988013c055be99bfd8db41f9",
"Plain" : "753aafbeab213322ef0f8cecc805d1b086e252953dfb3cac215a778f68cb5a72",
#"Plain" : "0000000000000000000000000000000000000000000000000000000000000000",

(#) denotes a comment in yaml files.

Add the key that is needed in the yaml file as follows:

"Plain" : "<key>"

Where <key> is the hexidecimal value of the key. There are some standard SBK (Secure Boot Keys), so you may be able to uncomment the key. Make sure that all SBK entries are commented out (#) except for the one in use.

--encryption_key (obsolete)

Takes as parameter the full file path and name. Secure boot encryption key.

See the description of the -encrypt option.

-f (lower case) Failure analysis (FA) mode support.
--gpuvbios_fw Specifies the firmware to flash to the dGPU.

-h

(lowercase h)

Provides guidance on the actions and options of bootburn.
-i (lowercase i) File path to platform configuration file. If not provided for hypervisor configurations, then the tool expects the platform configuration file to be present in the hypervisor output directory

-k <configuration file>

(lowercase k)

Specifies the configuration file for flashing.
-m (lower case) Flashing Modular Diagnostic Software (MODS). This option enables mods-specific overrides.

-o

(lowercase o)

Skips flashing of recovery partitions. Used by minicom.

WARNING: If you are using minicom with -o option, minicom does not initialize the port and therefore does NOT check or acquire the lock files for the communication port. If minicom is running in the background and you run bootburn with the -x option, bootburn acquires the lock BEFORE accessing the communication port. So, when bootburn attempts to communicate with AURIX it fails.

-p <key_file_path>

(lowercase p)

Signs the boot loader, secure OS (TOS), kernel and BCT binary, then flashes the device. <key_file_path> must be the full pathname of the key_file.
--hsm <key_string>

Can be used with bootburn.py and create_bsp_images.py. Tells Bootburn what keys will be used in HSM mode. Key String is Key + Encrypt Keys. Key is rsa|eddsa. Encrypt Keys are sbk or kek0. Examples:

--hsm rsa

--hsm rsa+sbk

--hsm eddsa

--hsm eddsa+sbk

-q

(lowercase q)

Flashes QNX images.

-s

(lowercase s)

Skips flashing the file system.

Use the -s flag only when the target file system is already flashed.

-t <output_directory>

(lowercase t)

Specifies the output directory where images to be flashed onto the target are to be stored. The default directory is named _temp_dump, and is present in the flashing directory.

-u <partition_name ...>

(lowercase u)

Specifies one or more partitions to create, flash, or create and flash.
-x

Specifies the communication port for AURIX to put the SoC in recovery mode automatically.

With this -x option, bootburn performs target validation for the user provided board name on the command line, with the -b option, before flashing the board.

Bootburn generates a unique ID from the target Inforom data. The allowed target ID list for the user provided board is generated from BOM data file included in the package. Bootburn aborts flashing if the target unique ID is not found in the list of generated unique IDs for the provided board name. This feature is supported on p3663 and p3710 boards with Inforom system object version 3 or above.

Note: On boards with inforom, the bct sku info is updated with the information in the inforom.

If the -x option is used during the AURIX setup, at the end during the AURIX reset of the flashing procedure there may be output messages of the form: "Killed sudo cat $l_Aurix > $p_FlashFiles/$l_AurixLogFile". These messages are not errors and can be safely ignored.

WARNING: If minicom is used with the -o option, minicom does not initialize the port and therefore does NOT check or acquire the lock files for the communication port.

  • If minicom is running in the background and you run bootburn with the -x option, bootburn acquires the lock BEFORE accessing the communication port. So when bootburn attempts to communicate with AURIX it fails.
  • If you quit minicom forcefully it may not fully stop the process and it will be lingering in the background.
  • When bootburn attempts to connect in this state it will acquire the port but the output will still be directed to the minicom running in the background.
  • Avoid using the -o option when using minicom.

-B <boot_device>

(upper-case B)

Specifies the boot device, which must be either qspi or emmc. qspi is the default.

-C

(upper-case C)

Specifies use of debug binaries for the boot loader.

-D

(upper-case D)

Directs bootburn debug output to stdout along with the tool’s regular output. If -D is not specified, debug output goes to a temporary file.

-E

(upper-case E)

Enables DRAM ECC.

-I <bus_id> <device_id>

(upper-case I)

Flashes a specific device when multiple devices are in recovery.

To get the bus and device ID of each device in recovery, enter the lsusb command on the host. For example, if lsusb gives the following output:

Bus 003 Device 105: ID 0955:7018 NVidia Corp.

Bus 003 Device 104: ID 0955:7018 NVidia Corp.

Then flash the second device with the –I option as in this example:

-I 003 104

-L

(upper-case L)

Enables low power modes. This option requires that the spe-fw and WB0 firmware packages be included in the bootburn configuration because low-power modes require them.

-M

(upper-case M)

Specifies development version firmware.

-R

(upper-case R)

Specifies RCM boot support, where the device boots without being flashed. When the target is in recovery mode, this option causes the flashing script to download all binaries, other than BCT, from the host. The target then reads the BCT from storage and other binaries from RAM. It boots the kernel directly on RAM.

This option is much faster than when flashing also occurs. It is especially useful during debugging.

Use the -R flag to initiate RCMBOOT with any of the commands mentioned in this table.

-T

(upper-case T)

Enables tracing. Tracing logs are stored under the bootburn directory as log_trace*.txt.
-U Pass in the UFS provision configuration file.

-V

(upper case V)

Specifies read-back verification, where the binary images are read back (after writing) from the target’s storage and compared with the original binary images. The two sets of images are compared to detect discrepancies.
--customer-data

Specified customer data such as skuinfo and others to be updated during flashing

See flashing_customer_data.docx for information on how to use it.

--init_persistent_partitions Used to initialize persistent partitions. The image used to initialize the partition must be specified in the cfg file and the partition must be marked with ispersistent=yes.
--devicetype Used to write single non-volatile memory device {spi, sdhci or ufshci}
--logs Absolute path to directory for log files.

Kernel Parameter Combinations

Possible combinations of kernel parameters nfsdev, ip, and nfsroot are as follows. An error indicates that the initramfs shell is started.

nfsdev ip nfsroot Result
(not set) (not set) (not set) no network; root must be set in some other way
(not set) (not set) set error; needs IP configuration
(not set) set (not set) error; no root path to mount
(not set) set set valid combination
set (not set) (not set) valid combination; DHCP request is sent
set (not set) set error; needs IP configuration
set set (not set) error; no root path to mount
set set set valid combination; no DHCP requests

Passing Additional Kernel Parameters

To pass additional kernel parameters, modify the os_args parameter of the kernel-dtb partitions in:
drive-<TBD_platform_ver>-foundation/platform-config/hardware/nvidia/platform/t23x/automotive/pct/drive_av/<pct>/qnx_gos0_storage.cfg

Dialout Group

Add yourself to the dialout group since it is not possible to open the serial ports to the AURIX via sudo.

To add yourself to the dialout group:
sudo adduser <user name> dialout

You must log out and log back in for the command to take effect.

Bootburn Configuration File

The following is the list of keys that can be added to a JSON file and their meanings.

Name Description Default Used By Optional
f_NvQbDtbImage Qb Dtb Quick Boot N
f_MB1Pad Pad Voltage/DPD cfg file None Tegrabct_v2 N
f_MB1Pinmux Pinmux configuration File None Tegrabct_v2 N
f_MB1Prod File containing Prod setting for pinmux None Tegrabct_v2 N
f_MB1Pmic File containing PMIC-Real MMIO/I2C None Tegrabct_v2 N
f_MB1Misc Misc Parameter File None Tegrabct_v2 N
f_MB1GpioInt Gpio Interrupt Routing Cfg File None Tegrabct_v2 N
f_MB1BootDevice Device specific Platform Cfg File None Tegrabct_v2 N
f_FlashingMB1SdRamParam verified memory cfg from mem-qual (rcm-mode) None sw_memcfg_overlay.pl N
f_MB1SdRamParam

verified memory cfg from mem-qual (Mission Mode)

None sw_memcfg_overlay.pl N
f_MB1wb0SdRamParam verified memory cfg from mem-qual for SC7 None sw_memcfg_overlay.pl N
s_Kernel_Dtb_Variant Substitution string for Kernel Dtb None Dtb Manipulations If used
f_FlashingDtbImg RCM Flashing Dtb None Dtb Manipulations N
f_BpmpFwDtb Bpmp Fw Dtb None Dtb Manipulations N
s_BPMP_Dtb_Variant Substition string for bpmp Dtb None Dtb Manipulations If used
f_FlashingBpmpFwDtb Flashing Bpmp Fw Dtb None Dtb Manipulations N
f_DtbImg Guest Os Dtb None Dtb Manipulations N
None N
f_UFSPhyLaneFile Uphy lane cfg file (to extract USB lan ID and ownership pair from) None Misc N
s_FuseBypass FuseByPass File Name fuse_bypass_t186.bin Misc N
n_DramOverride Does board support ECC False Bootburn scripts Y
s_GrCsvString None Used in Golden Registers Y
s_BoardId None Used in Golden Registers Y
s_MediaCombination None Used in Golden Registers Y
s_ChipFamily Chip family None Used by bootburn scripts
s_Soc SoC None Used by bootburn scripts
s_chipID Chip id None Used by bootburn scripts
n_FlashFirmware Flash firmware False Used by bootburn scripts
N_FlashMicrosemi Flash Microsemi False Used by bootburn scripts
s_BrickOnTCFFlashingFail Set to “True” to enable Atomic Flashing. TegraCoreFirmware(TCF) flashing. If all firmware is not flashed correctly, the target is scratched to make non-bootable. False Used by bootburn scripts
s_Int Pre-Prod – Soc Binning Value None Used by bootburn scripts.
f_SignedCustomerData Customer Data File in Board Configs None Used by bootburn scripts to fill in Br Bct Signed Customer Data.

Example Board Configuration File

The following is an example of a JSON file. You can either use built-in path substitution or full paths names.

The built-in string substitutions are for PDK.

Name Definition Default Value
p_PlatformBCT None <PdkTop>/drive-<TBD_platform_ver>-foundation/platform-config/hardware/nvidia/platform/t23x/automotive/bct
s_VerStr Tegra Version a01- a01-
l_BootDevice Boot Device qspi qspi, sdmmc, or ufs
s_DtbImgSuffix Wrapper for Qnx “” For Qnx “-qnxwrap”
p_BCT None <PdkTop>/drive-<TBD_platform_ver>-foundation/platform-config/bct/t23x
p_PlatformCommonBCT None <PdkTop>/drive-<TBD_platform_ver>-foundation/platform-config/hardware/nvidia/platform/t23x/common/bct

p3663-a01

{
    "p3663-a01":
    {
        "f_BootromCfg":"<p_PlatformBCT>/p3663/reset/tegra234-mb1-bct-p3663-a01-reset.dts",
        "f_BrBctDevParam":"<p_PlatformBCT>/common/bootrom/tegra234-br-bct-auto-<l_BootDevice>.dts",
        "f_NvQbDtbImage":"t23x-refs.dtb",
        "f_MB1Pad":"<p_PlatformBCT>/p3663/padvoltage/tegra23x-mb1-bct-p3663-a01-padvoltage-default.dts",
        "f_MB1Pinmux":"<p_PlatformBCT>/p3663/pinmux/tegra23x-mb1-bct-p3663-a01-pinmux.dts",
        "f_MB1Prod":"<p_PlatformBCT>/p3663/prod/tegra234-mb1-bct-p3663-a01-prod.dts",
        "f_MB1Pmic":"<p_PlatformBCT>/p3663/pmic/tegra234-mb1-bct-p3663-a01-pmic.dts",
        "f_MB1Misc":"<p_PlatformBCT>/p3663/misc/tegra234-mb1-bct-p3663-a01-misc.dts",
        "f_MB1Misc_Carveout":"<p_BCT>/misc/tegrabl_carveout_id.h",
        "f_MB2Bct":"<p_PlatformBCT>/p3663/misc/tegra234-mb2-bct-p3663-a01-auto.dts",
        "f_MB1VDK":"<NV_OUTDIR>/nvidia/bootloader/mb1-private/soc/t234/build/standard-boot/mb1_t234.bin",
        "f_FlashingMB1SdRamParam":"<p_PlatformBCT>/p3663/sdram/t234-p3663-a01-sdram.dts",
        "f_MB1SdRamParam":"<p_PlatformBCT>/p3663/sdram/t234-p3663-a01-sdram.dts",
        "f_MB1wb0SdRamParam":"<p_PlatformBCT>/p3663/sdram/t234-p3663-a01-sdram.dts",
        "f_MB1GpioInt":"<p_PlatformBCT>/p3663/gpioint/tegra234-mb1-bct-p3663-a01-gpioint.dts",
        "f_MB1BootDevice":"<p_PlatformBCT>/p3663/device/tegra234-mb1-bct-p3663-a01-device.dts",
        "f_MB2Scr":"<p_PlatformBCT>/p3663/firewall/tegra234-mb2-bct-p3663-a01-firewall.dts",
        "s_Kernel_Dtb_Variant":"p3663-0001-a01",
        "f_DtbImg":"tegra234-p3663-0001-a01-linux-native<s_DtbImgSuffix>.dtb",
        "f_FlashingDtbImg":"tegra234-p3663-0001-a01-flashing_base.dtb",
        "f_BpmpFwDtb":"tegra234-bpmp-3663-0001-a01.dtb",
        "s_BPMP_Dtb_Variant":"bpmp-3663-0001-a01",
        "f_FlashingBpmpFwDtb":"tegra234-bpmp-3663-0001-a01.dtb",
        "f_UFSPhyLaneFile":"<p_PlatformBCT>/p3663/uphy-lanes/tegra234-mb1-bct-p3663-a01-uphylane.dts",
        "s_FuseBypass":"fuse_bypass_t234.bin",
        "s_GrCsvString":"P3663",
        "s_ChipFamily":"t23x",
        "s_Soc":"t234",
        "s_chipID":"0x23",
        "s_Int":"F0",
        "f_SignedCustomerData":"p3663_signed_customer_data.json"
        "n_DramOverride":"True"
    }
}

Example of Successful Flash

Bootburn completed successfully!
 
Bootburn Time 505.16470408439636 seconds
 
returning to directory /media/home/t186-dev-main-1201/foundation/embedded/tools-t23x/scripts/t234_bootburn_py
Cleaning up ...
    Cleaning temp dir

Example of Unsuccessful Flash

------------ Stack Trace ------------
stack frame 0 : PrintStackTrace(234) in /media/home/t186-dev-main-1201/foundation/embedded/tools-t23x/scripts/t234_bootburn_py/flashtools_nverror.py
 
stack frame 1 : AbnormalTermination(250) in /media/home/t186-dev-main-1201/foundation/embedded/tools-t23x/scripts/t234_bootburn_py/flashtools_nverror.py
 
stack frame 2 : GenerateImage(1791) in /media/home/t186-dev-main-1201/foundation/embedded/tools-t23x/scripts/t234_bootburn_py/bootburn_lib.py
 
stack frame 3 : CreateFlashImages(1926) in /media/home/t186-dev-main-1201/foundation/embedded/tools-t23x/scripts/t234_bootburn_py/bootburn_lib.py
 
stack frame 4 : bootburn_active(94) in ./bootburn.py
 
stack frame 5 : run(93) in /usr/lib/python3.4/multiprocessing/process.py
 
stack frame 6 : _bootstrap(254) in /usr/lib/python3.4/multiprocessing/process.py
 
stack frame 7 : _launch(77) in /usr/lib/python3.4/multiprocessing/popen_fork.py
 
stack frame 8 : __init__(21) in /usr/lib/python3.4/multiprocessing/popen_fork.py
 
stack frame 9 : _Popen(267) in /usr/lib/python3.4/multiprocessing/context.py
 
stack frame 10 : _Popen(212) in /usr/lib/python3.4/multiprocessing/context.py
 
stack frame 11 : start(105) in /usr/lib/python3.4/multiprocessing/process.py
 
stack frame 12 : bootburn(280) in ./bootburn.py
 
stack frame 13 : bootburnCommandLine(355) in ./bootburn.py
 
stack frame 14 : <module>(359) in ./bootburn.py
 
-------------------------------------
 
s_ERROR_TOOL_NVIMAGEGEN
 
ERROR CODE = 53
 s_ERROR_TOOL_NVIMAGEGEN
Exception raised in bootburn_active
Traceback (most recent call last):
  File "./bootburn.py", line 94, in bootburn_active
    bootburnLib.CreateFlashImages(targetConfig.f_FlashCfg)
  File "/media/home/t186-dev-main-1201/foundation/embedded/tools-t23x/scripts/t234_bootburn_py/bootburn_lib.py", line 1926, in CreateFlashImages
    self.GenerateImage(configFiles, l_Operation, p_TempDumpPath)
  File "/media/home/t186-dev-main-1201/foundation/embedded/tools-t23x/scripts/t234_bootburn_py/bootburn_lib.py", line 1791, in GenerateImage
    AbnormalTermination("s_ERROR_TOOL_NVIMAGEGEN", nverror.NvError_NvImagegen)
  File "/media/home/t186-dev-main-1201/foundation/embedded/tools-t23x/scripts/t234_bootburn_py/flashtools_nverror.py", line 258, in AbnormalTermination
    raise OSError(errorCode)
OSError: 53
 
returning to directory /media/home/t234-dev-main-1201/foundation/embedded/tools-t23x/scripts/t234_bootburn_py
Cleaning up ...
    Cleaning temp dir

Decoding Errors

Additional information is needed to fully determine the cause of some errors. That information can be found in the log files. The command executed determines the name of the log file (bootburn.txt, bootburnTegra-A.txt, BootburnTegra-B.txt, create_bsp.txt, or flash_bsp.txt). in the _t194_bootburn_py folder.

Error Name Numeric Value Meaning Most Likely Cause
NvError_Success 0 Operation Worked Consult log for more details.
NvError_NotImplemented 1 Context Specific Consult log for more details.
NvError_NotSupported 2 Context Specific Consult log for more details
NvError_NotInitialized 3 Incorrect setting of environmental variables Consult log for more details
NvError_BadParameter 4 Either unknown parameter or incorrect use of options Context Specific
NvError_Timeout 5 Timeout conditions waiting for a system event. Consult log for more details.
NvError_InsufficientMemory 6 Context Specific Consult log for more details.
NvError_ReadOnlyAttribute 7 Context Specific Consult log for more details.
NvError_InvalidState 8 Context Specific Consult log for more details.
NvError_InvalidAddress 9 Context Specific Consult log for more details.
NvError_InvalidSize 10 bad Parition Size Missing file or invalid cfg
NvError_BadValue 11 Operation Failed Consult log for more details.
NvError_AlreadyAllocated 12 Context Specific Consult log for more details.
NvError_Busy 13 Context Specific Consult log for more details.
NvError_ModuleNotPresent 14 Context Specific Consult log for more details.
NvError_ResourceError 15 Can't connect to Aurix Port Consult log for more details
NvError_CountMismatch 16 Context Specific Consult log for more details
NvError_OverFlow 17 Context Specific Consult log for more details.
NvError_ImageCorrupt 18 Context Specific Consult log for more details.
NvError_BadImage 19 Context Specific Consult log for more details.
NvError_FuseBurningTempReadFailure 20 Context Specific Consult log for more details
NvError_Mb1PartialUpdate 21 Context Specific Consult log for more details
NvError_Sc7PartialUpdate 22 Context Specific Consult log for more details
NvError_MtsPartialUpdate 23 Context Specific Consult log for more details
NvError_Mb1OemSwRatchetSanityCheckFailed 24 Context Specific Consult log for more details
NvError_MtsOemSwRatchetSanityCheckFailed 25 Context Specific Consult log for more details
NvError_MtsRatchetScratchNotInitialized 26 Context Specific Consult log for more details
NvError_Sc7OemSwRatchetSanityCheckFailed 27 Context Specific Consult log for more details
NvError_Mb1Sc7OemSwRatchetMismatch 28 Context Specific Consult log for more details
NvError_HashMismatch 29 Context Specific Consult log for more details
NvError_ImageMismatch 30 Context Specific Consult log for more details
NvError_InvalidPtLayout 31 Context Specific Consult log for more details
NvError_BCHNotCached 32 Context Specific Consult log for more details
NvError_FuseBurningTempLow 33 Context Specific Consult log for more details
NvError_FuseBurningTempHigh 34 Context Specific Consult log for more details
NvError_ECIDMisMatch 35 Context Specific Consult log for more details
NvError_InActiveVinInvalid 36 Context Specific Consult log for more details
NvError_BomDataBoardMapFileNotFound 37 Board Bom Data File not Found Missing Data File
NvError_TargetValidationFail 38 Aurix Validation Failed Consult log for more details
NvError_DevBinariesonProdTarget 39 Context Specific Consult log for more details
NvError_ProdBinariesonDevTarget 40 Context Specific Consult log for more details
NvError_TegraBctError 42 Call to Nvtegrabct_v2 failed Consult log for more details
NvError_TegraRcmError 43 tegrarcm_v2 failed Consult log for more details
NvError_TegraSkuInfoError 44 Nvskuinfo return an error Consult log for more details
NvError_TegraSignError 45 Tegrasign failed to sign Bad key or missing file
NvError_NvImagegen 46 NvImagegen has failed Consult log for more details
NvError_DeviceFailToBoot 47 Attempt to read Target uid failed Consult log for more details
NvError_SystemCommand 48 Shell Command Failed Consult log for more details
NvError_RatchetConfigNotFound 49 Ratchet Tool is not found Invalid Configuration
NvError_AdbPull 50 Adb Pull Failed Consult log for more details
NvError_AdbPush 51 Adb Push Failed Consult log for more details
NvError_AdbShell 52 Target side shell script failed Consult log for more details
NvError_Adb 53 Adb Operation Failed Consult log for more details
NvError_Python 54 Context Specific Consult log for more details
NvError_Bad_MD5 55 Md5 Checksum Failed Device has corrupted data
NvError_InsufficientHostSpace 56 Not enough Storage Space Can’t create images
NvError_TegraParserError 57 TegraParser Failed Error in call to TegraParser
NvError_TegraUfsProvisionError 58 Ufs Provision Failed Consult log for more details
NvError_FileWriteFailed 59 Write Failed Consult log for more details
NvError_FileReadFailed 60 Context Specific Consult log for more details
NvError_EndofFile 61 Context Specific Consult log for more details
NvError_FileOperationFailed 63 Various Failures of Linux File Operations Consult log for more details
NvError_OperationNotPermitted 64 Invalid Operation Attempted Consult log for more details
NvError_DirOperationFailed 65 Missing Directory need Consult log for more details
NvError_EndOfDirList 66 Context Specific Consult log for more details
NvError_ConfigVarNotFound 67 Config Variable Not found Consult log for more details
NvError_InvalidConfigVar 68 Sku Info not set or Low Power cfg issue Consult log for more details
NvError_MemoryMapFailed 69 Context Specific Consult log for more details
NvError_IoctlFailed 70 Aurix Validation Failed Consult log for more details
NvError_AcessDenied 71 Aurix Validation Failed Consult log for more details
NvError_DeviceNotFound 72 Requested Device can't be found Device not found
NvError_KernelDriverNotFound 73 Aurix Validation Failed Consult log for more details
NvError_FileNotFound 74 Missing File Consult log for more details
NvError_InvalidArgument 75 Context Specific Consult log for more details
NvError_ProcessNotFound 76 Context Specific Consult log for more details
NvError_Deadlock 77 Context Specific Consult log for more details
NvError_FileNameNotExist 78 Missing file Consult log for more details
NvError_PartitionNotExist 79 Aurix Validation Failed Consult log for more details
NvError_DeviceFailToRegister 80 Aurix Validation Failed Consult log for more details
NvError_SystemCommandFailed 81 System Command Failed Consult log for more details
NvError_CorruptedBuffer 82 Context Specific Consult log for more details
NvError_SdioCardNotPresent 83 Context Specific Consult log for more details
NvError_SdioInstanceTaken 84 Context Specific Consult log for more details
NvError_SdioControllerBusy 85 Context Specific Consult log for more details
NvError_SdioReadFailed 86 Context Specific Consult log for more details
NvError_SdioWriteFailed 87 Context Specific Consult log for more details
NvError_SdioBadBlockSize 88 Context Specific Consult log for more details
NvError_SdioClockNotConfigured 89 Context Specific Consult log for more details
NvError_SdioSdhcPatternIntegrityFailed 90 Context Specific Consult log for more details
NvError_SdioCommandFailed 91 Context Specific Consult log for more details
NvError_SdioCardAlwaysPresent 92 Context Specific Consult log for more details
NvError_SdioAutoDetectCard 93 Context Specific Consult log for more details
NvError_SdMmcRecoveryFailed 94 Context Specific Consult log for more details
NvError_SdMmcTransferStateTimeout 95 Context Specific Consult log for more details
NvError_SdMmcStandByStateTimeout 96 Context Specific Consult log for more details
NvError_SdMmcIdleStateTimeout 97 Context Specific Consult log for more details
NvError_I2cReadFailed 98 Context Specific Consult log for more details
NvError_I2cWriteFailed 99 Context Specific Consult log for more details
NvError_I2cDeviceNotFound 100 Context Specific Consult log for more details
NvError_I2cInternalError 101 Context Specific Consult log for more details
NvError_I2cArbitrationFailed 102 Context Specific Consult log for more details
NvError_I2CCommunicationError 103 Context Specific Consult log for more details
NvError_IdeHwError 104 Context Specific Consult log for more details
NvError_IdeReadError 105 Context Specific Consult log for more details
NvError_IdeWriteError 106 Context Specific Consult log for more details
NvError_VsWriteError 107 Context Specific Consult log for more details
NvError_VsReadError 108 Context Specific Consult log for more details
NvError_ChipSkuClockLimitViolatio 109 Context Specific Consult log for more details
NvError_ChipSkuNumCoreViolation 110 Context Specific Consult log for more details
NvError_ChipSkuDmaFuseReadFail 111 Context Specific Consult log for more details
NvError_ChipSkuNoTableEntry 112 Context Specific Consult log for more details
NvError_ChipSkuInvalidDividerValue 113 Context Specific Consult log for more details
NvError_MCMRevFyseReadFail 114 Context Specific Consult log for more details
NvError_NvImageSign 115 Resign Failed Consult log for more details
NvError_Unknown 116 Context Specific Consult log for more details

USB Bus Access without sudo

sudo access is required to enable USB bus access. Edit or create 90-nvidia.rules located at /etc/udev/rules.d. Add the line:

SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="0955", MODE:="0666"

To reload the udev rules, run:

udevadm control --reload