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.
Build an ISO
$ ryo-iso build
Builds an iso in build/image.iso
VM Install
$ ryo-iso install
Generated images can be tested by installing them into a QEMU VM
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 Ctrl-C may leave chrooted filesystems mounted.
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
License
ryo-iso is distributed under the terms of both
at your option.
Metadata
Release files for ryo-iso 0.1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ryo_iso-0.1.7-py3-none-any.whl | Python 3 | none | any | Details |
Release files / ryo_iso-0.1.7-py3-none-any.whl
| Download URL | ryo_iso-0.1.7-py3-none-any.whl |
|---|---|
| Size | 47.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b067260d0521a62a4157b96fd3c2aa155f9a0f624e03122408930d1bb02bc16e
|
|
BLAKE2b-256 checksum How to use checksums |
3fc91d9cf71ed68fc7d0b64ed866c3be36c705b4cc38a7ccfd3f7b81e3541808
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.8.0
|