GENDISC(1)

NAME
gendisc - gendisc v0.0.11

Generate scripts to create disc ISOs from a directory structure (mostly) maximising use of the available space on each disc. This is useful for creating backups of large amounts of data that do not fit on a single disc. Directories larger than a disc are split into multiple discs.

COMMANDS

  gendisc

Make a file listing filling up discs.

    gendisc [OPTIONS] PATH

Options

--cross-fs
    Allow crossing file systems.

-D, --drive <drive>
    Drive path.

-d, --debug
    Enable debug logging.

-i, --starting-index <INDEX>
    Index to start with (defaults to 1).

-o, --output-dir <output_dir>
    Output directory. Will be created if it does not exist.

-p, --prefix <prefix>
    Prefix for volume ID and files.

-r, --delete
    Unlink instead of sending to trash.

--no-labels
    Do not create labels.

--cd-write-speed <cd_write_speed>
    CD-R write speed.

--dvd-write-speed <dvd_write_speed>
    DVD-R write speed.

--dvd-dl-write-speed <dvd_dl_write_speed>
    DVD-R DL write speed.

--bd-write-speed <bd_write_speed>
    BD-R write speed.

--bd-dl-write-speed <bd_dl_write_speed>
    BD-R DL write speed.

--bd-tl-write-speed <bd_tl_write_speed>
    BD-R TL write speed.

--bd-xl-write-speed <bd_xl_write_speed>
    BD-R XL write speed.

--preparer <preparer>
    Preparer string (128 characters).

--publisher <publisher>
    Publisher string (128 characters).

    Arguments

PATH
    Required argument

  Output

The output consists of a series of shell scripts (1 for each disc) that perform the following steps:

•   Generate the ISO image for the current set using mkisofs.

•   Save a SHA256 checksum of the image for verification.

•   Save a directory tree listing (requires tree).

•   Save a file listing using find.

•   Prompt to insert a blank disc. It will tell you the kind of disc to use.

•   Burn the image to disc using cdrecord.

•   Eject and re-insert the disc.

•   Verify the disc.

•   Delete or move the source files to the bin.

•   Eject the disc.

•   Prompt to move the disc to a label printer.

•   Open GIMP if you have it installed to the printer dialogue.

    If you have mogrify (ImageMagick) and Inkscape installed, a label will be generated. This label can be opened in a tool that supports disc printing (such as GIMP). The image should be ready for printing (under Image Settings you should see it is exactly 12 cm at DPI 600).

    Many of the steps above can be skipped by passing flags to the script. Currently the script supports these options:

        Usage: script.sh [-h] [-G] [-K] [-k] [-O] [-s] [-S] [-V]
        All flags default to no.
          -h: Show this help message.
          -G: Do not open GIMP on completion (if label file exists).
          -K: Keep ISO image after burning.
          -k: Keep source files after burning.
          -O: Only create ISO image.
          -s: Skip clean-up of .directory files.
          -S: Skip ejecting tray for blank disc (assume already inserted).
          -V: Skip verification of burnt disc.

LABEL GENERATION

  genlabel

Generate an image intended for printing on disc consisting of text in a spiral.

    genlabel [OPTIONS] [TEXT]...

Options

-E, --end-theta <end_theta>
    End theta.

-H, --height <height>
    Height of the image.

-S, --space-per-loop <space_per_loop>
    Space per loop.

-T, --start-theta <start_theta>
    Start theta.

-V, --view-box <view_box>
    SVG view box.

--dpi <dpi>
    Dots per inch.

--keep-svg
    When generating the PNG, keep the SVG file.

-c, --center <center>
    Center of the spiral.

-d, --debug
    Enable debug logging.

-f, --font-size <font_size>
    Font size.

-g, --svg
    Output SVG.

-o, --output <output>
    Output file name.

-r, --start-radius <start_radius>
    Start radius.

-t, --theta-step <theta_step>
    Theta step.

-w, --width <width>
    Width of the image.

    Arguments

TEXT
    Optional argument(s)

AUTHOR
Andrew Udvare <audvare@gmail.com>

COPYRIGHT
2025