Overview
Thejolt generate command provides utilities for advanced users who need to customize the RISC-V target specification or linker script for their guest programs. This is useful when working with custom memory layouts or non-standard build configurations.
Subcommands
jolt generate target
Generates a custom RISC-V target specification JSON file.Use a predefined target profile
Specify a custom target triple
Output path for the generated target specification (short:
-o)- Architecture settings (data layout, pointer width)
- ABI configuration
- Supported features
- Linker configuration
rustc --target=my-target.json for custom builds.
jolt generate linker
Generates a linker script with custom memory layout.Output path for the generated linker script (short:
-o)Starting address for RAM
Size of RAM region
Size of the stack region
Size of the heap region
- Memory regions (RAM, ROM, etc.)
- Section placements (.text, .data, .bss, .heap, .stack)
- Entry point and initialization code locations
Use Cases
Custom Memory Layout
When you need a specific memory layout for your guest program:Cross-Compilation
When targeting a custom RISC-V variant:Debugging Build Issues
Generate the default configuration to understand what Jolt uses:Notes
Most users do not need these commands. The default target specification and linker script work for typical zkVM programs.
Related Commands
- jolt build - Build guest programs (uses target specs internally)
- jolt new - Create new projects (includes default configuration)