ryo-iso¶
Table of Contents
Overview¶
ryo-iso is distributed on PyPI and is available for Python 3.8+ on Linux.
$ python3 -m pip install -U --user git+https://git.sr.ht/~lucidone/ryo-iso
Documentation¶
Documentation is available at https://ryo-iso.readthedocs.io/
Deprecated¶
- Ubuntu 16.04 (Xenial)
- Python 3.6
Currently supported targets¶
- Ubuntu 18.04 (Bionic)
- Ubuntu 20.04 (Focal)
- Ubuntu 22.04 (Focal)
Usage¶
TL;DR¶
$ sudo apt install curl gpgv2 squashfs-tools xorriso apt-utils apt-cacher-ng qemu-system-x86 isolinux
$ if [ $(lsb_release -cs) = "jammy" ]; then sudo apt install jq fdisk; fi
$ python3 -m pip install -U --user git+https://git.sr.ht/~lucidone/ryo-iso
$ mkdir ~/iso_test
$ cd ~/iso_test
$ ryo-iso init
$ ryo-iso build
$ ryo-iso start
Requirements¶
$ sudo apt install curl gpgv2 squashfs-tools xorriso apt-utils apt-cacher-ng qemu-system-x86 isolinux
Working with jammy
also requires
$ sudo apt install jq fdisk
Other commands¶
Create a new project¶
$ ryo-iso init
This command will initialize a project with a default iso.yml
configuration
file in the current directory.
If this is the first time being run it will create the ryo-iso
application
config file in ~/.config/ryo-iso/config.yml
and provides a set of
reasonable defaults in ~/.config/ryo-iso/iso_base.yml
that can be overridden
on a per-project basis.
VM Start¶
$ ryo-iso start
This command can provide a means of booting the image as a LiveCD or restarting a previously installed disk image.
Cleanup¶
$ ryo-iso clean
This command will remove all build artifacts to prepare the project to be checked into version control.
NOTE: Using this command is preferable to running rm -rf
as builds that are
aborted with
Additional¶
$ ryo-iso list -p
This will list all intermediate processes that may be useful for debugging.
GPG Keys¶
All of the keys found in ./keys
will be install into the squashfs-root
On jammy
and later they should be referenced via
deb [arch=amd64 signed-by=/usr/share/keyrings/repo-keyring.gpg] http://repo.example.org/ ubuntu jammy main