Flashing Drives
Overview
The SkyCore system includes a powerful drive flashing feature that allows you to restore Jetson Orin images to target devices. The flash command can download images from S3 buckets or use locally stored images.
With the flash functionality, you can:
Download Jetson Orin images directly from S3
Flash images to a target device such as an SSD or NVMe drive
Restore previously created backups made with the clone command
Maintain proper partition structure and filesystem types
Create bootable drives for Jetson Orin devices
Requirements
SkyCore installed on your system
Root privileges (sudo)
partclone package installed
Internet connection (for downloading from S3)
AWS CLI for S3 functionality (auto-installed if missing)
Target storage device (SSD/NVMe)
Basic Usage
The basic syntax for flashing a drive is:
sudo skycore flash --target TARGET_DEVICE [options]
Where TARGET_DEVICE
is the device you want to flash (e.g., /dev/sdb
or /dev/nvme1n1
).
Command Line Options
The following options are available for the skycore flash
command:
Option |
Description |
---|---|
|
Target device to flash (e.g., /dev/sdb) |
|
S3 bucket URL (default: s3://jetson-nano-ub-20-bare) |
|
Image name to download from S3 (default: orion-nano-8gb-jp6.2.tar.gz) |
|
Use local archive file instead of downloading from S3 |
|
Use local directory with partition images instead of archive |
|
Display help information |
Examples
Below are some examples of how to use the flash command:
Download and flash the default Orion Nano image to a target device:
sudo skycore flash --target /dev/sdb
Download a specific image from a custom S3 bucket:
sudo skycore flash --target /dev/sdb --bucket s3://custom-bucket --image custom-image.tar.gz
Use a local archive created by the clone command:
sudo skycore flash --target /dev/sdb --archive /path/to/backup.tar.gz
Use a directory with extracted partition images:
sudo skycore flash --target /dev/sdb --input /path/to/backup_dir
Flashing Process
When you run the flash command, the following steps are performed:
The tool checks for required dependencies and installs any missing ones
If downloading from S3, the specified image is downloaded (or reused if already present)
The archive is extracted to a temporary directory
Any mounted partitions on the target device are identified and unmounted
The partition table is restored to the target device
Each partition image is restored to the correct partition with the appropriate filesystem type
Compressed images (.gz or .lz4) are automatically decompressed during restoration
Warning: The flashing process will erase all data on the target device. Make sure you have selected the correct device and have backed up any important data.
Troubleshooting
Common issues and solutions:
Cannot access target device
Error message: Error: Target device /dev/XXX does not exist or is not a block device.
Solution: Make sure the target device is correctly connected and recognized by the system. You can use lsblk
to list available block devices.
No partition images found
Error message: Error: No partition image files found in the source.
Solution: Verify that the archive or directory contains valid partition images with the expected naming format (jetson_nvme_p*.img*).
AWS access issues
Error message: Failed to download the image from S3.
Solution: If using a private S3 bucket, make sure AWS credentials are properly configured. For public buckets, check the bucket URL and image name for typos.
Partition table restoration failure
Error message: Error: Failed to restore partition table.
Solution: Make sure the target device is not in use and has sufficient space. Also verify that the partition table file exists in the extracted archive.
Permission denied
Error message: This script must be run as root
Solution: Run the command with sudo privileges.