The Fresnel CLI runs on a trusted machine that is authorized to build boot media for an operating system installer. It's primary purpose is to prepare storage media (USB or Removable Disk) that will install an operating system.
Pre-compiled binaries are available as release assets.
Building Fresnel CLI manually:
- Clone the repository
- Install any missing imports with
go get -u
- Run
go build C:\Path\to\fresnel\src\cli
Subcommands are required in order to operate the CLI. A list of available subcommands is available by using the help subcommand.
cli.exe help
A list of command line flags is available for each sub-command by calling help with that subcommand as the parameter.
cli.exe help write
Commonly used sub-commands are listed here. A full list is available through the help subcommand.
The list sub-command outputs the storage devices that are suitable for provisioning your operating system installer. See parameters for a list of the defaults used when determining what a suitable device is.
Usage
cli.exe list
--show_fixed [bool]
Default = [False]
Includes fixed disks when searching for suitable devices.
Example
cli.exe list --show_fixed
--minimum
[int] Default = 2 GB
The minimum size (in Gigabytes) of storage to search for.
Example
cli.exe list --minimum=8
--maximum
[int] Default = 0 (no maximum)
The maximum size (in Gigabytes) of storage to search for.
Example
cli.exe list --maximum=64
The write subcommand writes an operating system installer to storage media. The list of available operating system installers is configured by modifying the config package and its deafults.go file.
Usage Examples
cli.exe write -distro=windows -track=stable 1
cli write -distro=linux -track=stable sda
--distro [string]
Default = [None]
The distribution you wish to provision onto the selected media. The options for this value are configured by adding an entry in the map for distributions in defaults.go. A distribution is generally defined as the operating system you wish to install (e.g. windows or linux). It can represent any collection of related images that you wish to make avaialble.
--track [string]
Default = [None]
The track indicates the specific installer within a distribution to provision onto the selected media. For example, you may have a stable, testing and unstable versions of Windows that you wish to make available.
Examples
cli.exe write --distro=windows -track=stable 1
cli write --distro=linux -track=unstable sda
Specific behaviors are automatically triggered by configuring fields for your distribution within config.go. For example, seeds are automatically retrieved when the write command is running if a seedServer and seedFile is added to the distribution configuration. For more information on these, see the documentation for config.