75 lines
1.8 KiB
Markdown
75 lines
1.8 KiB
Markdown
|
# Zap - Lightning Fast CLI Image Flasher
|
||
|
|
||
|
Zap is a command-line interface (CLI) tool designed for quick and efficient ISO image flashing. It offers both interactive and command-line modes, making it versatile for various use cases.
|
||
|
|
||
|
## Features
|
||
|
|
||
|
- Interactive mode for guided operation
|
||
|
- Support for predefined operating systems
|
||
|
- Custom ISO file flashing
|
||
|
- Dry run option for testing without disk writes
|
||
|
- Quiet mode for integration with GUI applications
|
||
|
|
||
|
## Usage
|
||
|
|
||
|
Zap can be used in several ways:
|
||
|
|
||
|
### Basic Usage
|
||
|
|
||
|
```
|
||
|
zap [OPTIONS]
|
||
|
```
|
||
|
|
||
|
### Interactive Mode
|
||
|
|
||
|
```
|
||
|
zap -i
|
||
|
```
|
||
|
|
||
|
### Flashing a Custom ISO
|
||
|
|
||
|
```
|
||
|
zap -f path/to/your/file.iso -t /dev/sdX
|
||
|
```
|
||
|
|
||
|
### Using a Predefined OS
|
||
|
|
||
|
```
|
||
|
zap -o Oreon -t /dev/sdX
|
||
|
```
|
||
|
|
||
|
## Options
|
||
|
|
||
|
- `-i, --interactive`: Enable interactive mode (ignores all other arguments)
|
||
|
- `-d, --dry-run`: Perform a dry run without modifying anything on disk
|
||
|
- `-q, --quiet`: Don't log to stdout (useful for GUI applications)
|
||
|
- `-o, --os <OS>`: Use one of the predefined operating systems
|
||
|
- `-f, --file <FILE>`: Path to the ISO file
|
||
|
- `-t, --target <TARGET>`: Specify the drive/partition to write the ISO to
|
||
|
|
||
|
## Supported Operating Systems
|
||
|
|
||
|
Currently, Zap supports the following predefined operating systems:
|
||
|
|
||
|
- Oreon
|
||
|
|
||
|
More operating systems will be added in future updates.
|
||
|
|
||
|
## Error Handling
|
||
|
|
||
|
Zap includes robust error handling to prevent common mistakes:
|
||
|
|
||
|
- OS and File arguments cannot be used simultaneously
|
||
|
- Drive argument is required when a file is chosen
|
||
|
- Only ISO files are accepted
|
||
|
- The specified ISO file must exist
|
||
|
- Drive argument is required when no OS or file is chosen
|
||
|
|
||
|
## Contributing
|
||
|
|
||
|
We welcome contributions! Feel free to submit pull requests or open issues on our project repository.
|
||
|
|
||
|
## License
|
||
|
|
||
|
This project is licensed under the GNU Affero General Public License (AGPL). See the LICENSE file for details.
|