Bootiso
A bash program to securely create a bootable USB device from one image file.
Install / Use
/learn @jsamr/BootisoREADME
Create a USB bootable device from an image file easily and securely.
Because of its reliance on GNU and POSIX tools, bootiso primarly targets GNU/Linux systems.
Install
Package managers
This list might be out of date (please report). Check repology.org.
| System family | URL | | :----------------- | ----------------------------------------------------------------------- | | Arch Linux (AUR) | https://aur.archlinux.org/packages/bootiso/ | | Void Linux | https://github.com/void-linux/void-packages/tree/master/srcpkgs/bootiso | | openSUSE (OBS) | https://build.opensuse.org/package/show/utilities/bootiso | | OpenMandriva (ABF) | https://abf.openmandriva.org/openmandriva/bootiso/build_lists |
Manual install
Check Install Instructions document. Please also read the distro tweaks section.
Reference Manual
The official manual is available at jsamr.github.io/bootiso.
The reference should also be available as a man page via man bootiso.
If you are in a hurry, jump to the EXAMPLES section.
| Highlights | | :-----------------------------------------------------------------: | | SYNOPSIS | | DESCRIPTION | | INSTALL MODES | | GUARDRAILS | | EXIT STATUS | | ENVIRONMENT | | EXAMPLES | | TROUBLESHOOTING |
<a name="action"></a>
See it in action
Probing
--probe (shorten -p) gives you details about ISO boot capabilities and list available USB drives.
Using --assume-yes + --autoselect
--assume-yes (shorten -y) bypass prompting the user for overwritting USB device, and --autoselect (shorten -a) allow automatic selection of USB device when exactly one device is connected in combination with --assume-yes.
<a href="https://asciinema.org/a/Jwy5DTgcEJSCKJlY1SgsfiWc1?speed=3&autoplay=1&size=medium&rows=20" target="_blank"><img src="https://asciinema.org/a/Jwy5DTgcEJSCKJlY1SgsfiWc1.svg" height="350"/></a>
No-USB device failure
In the below example, the selected device with --device (shorten -d) flag is not connected through USB and bootiso fails.
<a href="https://asciinema.org/a/EUg7jUwdwM4KdABClIK1NjGlY?speed=3&autoplay=1&size=medium&rows=20" target="_blank"><img src="https://asciinema.org/a/EUg7jUwdwM4KdABClIK1NjGlY.svg" height="350"/></a>
<a name="distro-tweaks"></a>
Distros tweaks
- On Fedora, set
BOOTISO_SYSLINUX_LIB_ROOTenvironment to/usr/share/syslinux. - Take a look at the by-distribution dependency table to make sure you have all required dependencies installed.
Contributing
Read the Code Style and Conventions document.
