Skip to content

Latest commit

 

History

History
138 lines (120 loc) · 2.83 KB

snapshot-editor.md

File metadata and controls

138 lines (120 loc) · 2.83 KB

Snapshot editor

The snapshot-editor is a program for modification of Firecracker snapshots.

Prior knowledge

Firecracker snapshot consists of 2 files:

  • vmstate file: file with Firecracker internal data such as vcpu states, devices states etc.
  • memory file: file with guest memory.

Usage

edit-memory command

rebase subcommand

This command is used to merge a diff snapshot memory file on top of a base memory file.

Note You can also use rebase-snap (deprecated) tool for this.

Arguments:

  • MEMORY_PATH - path to the memory file
  • DIFF_PATH - path to the diff file

Usage:

snapshot-editor edit-memory rebase \
     --memory-path <MEMORY_PATH> \
     --diff-path <DIFF_PATH>

Example:

snapshot-editor edit-memory rebase \
     --memory-path ./memory_file \
     --diff-path ./diff_file

edit-vmstate command

remove-regs subcommand (aarch64 only)

This command is used to remove specified registers from vcpu states inside vmstate snapshot file.

Arguments:

  • VMSTATE_PATH - path to the vmstate file
  • OUTPUT_PATH - path to the file where the output will be placed
  • [REGS] - set of u32 values representing registers ids as they are defined in KVM. Can be both in decimal and in hex formats.

Usage:

snapshot-editor edit-vmstate remove-regs \
    --vmstate-path <VMSTATE_PATH> \
    --output-path <OUTPUT_PATH> \
    [REGS]...

Example:

./snapshot-editor edit-vmstate remove-regs \
    --vmstate-path ./vmstate_file \
    --output-path ./new_vmstate_file \
    0x1 0x2

info-vmstate command

version subcommand

This command is used to print version of the provided vmstate file.

Arguments:

  • VMSTATE_PATH - path to the vmstate file

Usage:

snapshot-editor info-vmstate version --vmstate-path <VMSTATE_PATH>

Example:

./snapshot-editor info-vmstate version --vmstate-path ./vmstate_file

vcpu-states subcommand

This command is used to print the vCPU states inside vmstate snapshot file.

Arguments:

  • VMSTATE_PATH - path to the vmstate file

Usage:

snapshot-editor info-vmstate vcpu-states --vmstate-path <VMSTATE_PATH>

Example:

./snapshot-editor info-vmstate vcpu-states --vmstate-path ./vmstate_file

vm-state subcommand

This command is used to print the vmstate of snapshot file in readable format thus, making it easier to compare vmstate of 2 snapshots.

Arguments:

  • VMSTATE_PATH - path to the vmstate file

Usage:

snapshot-editor info-vmstate vm-state --vmstate-path <VMSTATE_PATH>

Example:

./snapshot-editor info-vmstate vm-state --vmstate-path ./vmstate_file