Configure Ultra-Fast Boot in at91bootstrap KCONFIG
Enable Fast Boot Mode
Ultra-Fast boot can be enabled by setting CONFIG_FAST_BOOT to Enable Fast Boot.

Select Fast Boot Mode
Choose one of the following Ultra-Fast Boot modes:
- Manually save and load snapshot image
- Automatically save and load snapshot image
- Load pre-saved snapshot image

Manually Save and Load Snapshot Image Mode
- Select this mode to save a snapshot image manually and restore it on the next boot
- This mode requires configuring the Memory Mapping Management Options
- Snapshot Image Options (optional)
- Debug features (optional)

Automatically Save and Load Snapshot Image
- Select this mode to create a runtime snapshot before shutdown and restore that snapshot on the next boot, rather than using a separately prepared snapshot image
- This mode does not require configuration of the Memory Mapping Management Options
- Snapshot Image Options (optional)
- Debug features (optional)

Load Pre-saved Snapshot Image
- Select this mode to boot by loading a pre-saved snapshot image
- In this mode, at91bootstrap does not save memory snapshots during the normal flow
- This mode does not require configuration of the Memory Mapping Management Options
- Snapshot Image Options (optional)
- Debug features (optional)

Snapshot Image Options
Use the Snapshot Image Options submenu to configure how snapshot images are generated and stored. This submenu includes the following options:
- Process Zero Page
- Enable Secure Snapshot Image
- SD Partition Number to Store Snapshot Image
- Flash Offset to Store Snapshot Image
Process Zero Page
Enable Process Zero Page to optimize the snapshot payload.
- Detect pages containing only zeros
- Exclude those pages from the snapshot payload
This option can reduce snapshot size and improve save and load efficiency.

Secure Boot Compatibility
Enable Secure Snapshot Image when you want snapshot handling to be part of a secure fast boot flow. Use this option together with the platform’s secure boot process so that snapshot verification is included in the fast boot path.
Dependencies/prerequisites:
- Enable Secure Mode Support first. When Secure Mode Support is enabled, snapshot images also support secure mode
- Configure Secure Boot options for the encryption keys, selecting a Key Size of AES-128, AES-192, or AES-256 as required
Once Enable Secure Snapshot Image is enabled, snapshot images will also support Secure mode. The existing secure boot process can be used to verify secure fast boot, and the verification of the snapshot image can be completed during the fast boot process, thereby significantly reducing boot time while ensuring security. This feature encrypts the snapshot image when it is saved and decrypts it when it is loaded.

Configure Snapshot Storage Location
For SD/eMMC boot, select the partition number (2|3|4) on the SD card. The dedicated partition is for storing the fast boot snapshot image; by default, the partition is 3.

For NAND flash or Quad Serial Peripheral Interface (QSPI) flash boot, edit the start address for storing the fast boot snapshot image.

For NAND flash or QSPI flash boot, edit the size of the snapshot image partition.

Memory Mapping Management Options
Set memory mapping parameters.
This submenu is only available for Manually Save and Load Snapshot Image mode.
Choose the Correct Linux® Kernel Version
Since memory management varies greatly from one version of the Linux® kernel to another, you must choose the correct kernel version.

Set Memory Mapping Parameters
Memory mapping parameters can be obtained from the mem_map module. See "Get Memory Mapping Parameters" page for details.
For information on the build process, see the "Build memmap Linux® Module" page.
For information on how to obtain memory mapping parameters using the mem_map module, see the "Get Memory Mapping Parameters With memmap Module" page.
- Linux kernel memory map page size: default is 4 KB
- The start physical address of Kernel page structures
- The maximum number of mapped pages
- The size of Page structure
- The offset of page_type in page structure
- The offset of private in page structure

Debug Features
Use the debug features to validate and troubleshoot fast boot operation. Available features include:
- Generates CRC-32 code for snapshot image validation
- Outputs the fast boot configuration to the debug console
- Debug the secure snapshot image

- Enable Generate CRC-32 Code for Snapshot Image for snapshot image data validation
- Enable Show configuration to dump fast boot configuration
- Enable Secure Debug mode
- Ensure Enable Secure Snapshot Image is enabled
- When this feature is enabled, the system loads unencrypted and unsigned programs from external storage instead of encrypted or signed programs at startup. The system can still encrypt snapshot images when saving them and decrypt them during loading to support debugging of secure snapshot images.