Boot Time Optimization

Hi

JP: 36.4.3

HW: AGX orin 64GB

We want to optimize the boot time and the target is that it will only take 1 second to show logo since power on the soc.

Is there any way to do that?

*** Please note that this reply is generated by LLM automatically ***

Optimizing the boot time of the Jetson AGX Orin to show the logo within 1 second of power-on is a challenging task. The provided context mentions that the average boot time from a cold power-on to the login prompt is approximately 43 seconds, and by applying optimization techniques, it can be reduced to approximately 26 seconds.

However, achieving a boot time of 1 second to show the logo is a much more aggressive goal. To put this into perspective, the typical boot process involves several stages, including:

  1. Bootloader initialization
  2. Loading the kernel and device tree
  3. Initializing the kernel and device drivers
  4. Mounting the root file system
  5. Initializing system services and applications

Each of these stages takes time, and reducing the overall boot time to 1 second would require significant optimizations.

That being said, here are some potential strategies to explore:

  1. Disable unnecessary services and applications: Identify services and applications that are not essential for the system to function and disable them to reduce the boot time.
  2. Optimize the bootloader: The bootloader is responsible for initializing the system and loading the kernel. Optimizing the bootloader to reduce its execution time can help achieve a faster boot time.
  3. Use a faster storage device: The storage device used can significantly impact the boot time. Using a faster storage device, such as an NVMe SSD, can help reduce the boot time.
  4. Reduce the kernel and device tree size: A smaller kernel and device tree can reduce the time it takes to load them, which can help achieve a faster boot time.
  5. Use a custom boot logo: Instead of using a complex boot logo, use a simple one that can be displayed quickly.
  6. Implement a fastboot mechanism: Some systems implement a fastboot mechanism that allows the system to boot quickly by skipping certain initialization steps.
  7. Use a optimized filesystem: Using a optimized filesystem such as ext4 or f2fs can help reduce the boot time.

It’s essential to note that achieving a boot time of 1 second to show the logo may require significant modifications to the system, including the bootloader, kernel, and device tree. Additionally, it may require custom hardware or software optimizations that are not publicly available.

In comparison to the provided context, the Jetson AGX Orin Developer Kit running NVIDIA JetPack 6.0 has a boot time of approximately 43 seconds, which can be reduced to approximately 26 seconds by applying optimization techniques. However, achieving a boot time of 1 second to show the logo is a much more aggressive goal that may require significant customizations and optimizations.

To summarize, while it may be possible to optimize the boot time of the Jetson AGX Orin to show the logo within 1 second of power-on, it would likely require significant customizations and optimizations, including disabling unnecessary services and applications, optimizing the bootloader, using a faster storage device, reducing the kernel and device tree size, using a custom boot logo, implementing a fastboot mechanism, and using an optimized filesystem.

*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***

Hi,

Please refer to related developer guide:

Thanks

Hello!

Are you measuring cold boot (power applied to the module) or warm reboot? I think more details here would help.

What you can do is to analyze the boot stages and optimize them by removing unnecessary UEFI functionality, reducing kernel and userspace components, disabling unused services, and building a minimal image. Depending on your needs, a Yocto based Jetson builds could help for this type of optimization since it allows developers to include only the required components and improve boot-time performance.

Please let me know if this is an option on your project!

Juan Navarro
Embedded SW Engineer at RidgeRun
Contact us: support@ridgerun.com
Developers wiki: https://developer.ridgerun.com
Website: www.ridgerun.com

Linux_for_Tegra bootloader/uefi_bins/README_uefi.txt describes the 3 uefi_t26x_{minimal, simple, general}.bin that you can copy to bootloader/uefi_t26x_general.bin prior to flash to implement. Minimal would be the fastest but it is pretty minimal.

# In the bios you can reduce the uefi menu delay from 5 seconds.

# You can also check value with
sudo efibootmgr

# Change/set the value with
sudo efibootmgr --timeout number_of_seconds