Ventoy Injection Plugin

With this plugin, you can inject some files (e.g. drivers/scripts ...) into the runtime envrioment after boot.
For Windows, that's the WinPE envrioment. For Linux, that's the initramfs envrioment.

  • Just only an injection framework

This plugin only implements a framework to inject files.
Ventoy doesn't care about what file is injected, what content it contains, what will happen after injection, how to use the injected file, etc.
Simply put, you tell Ventoy to inject a compressed archive, and Ventoy decompresses it into the runtime environment after boot, and that's all.
You need to construct your compressed archive according to the system's directory structure and the features provided.
For example, you can provide an archive contains sources\$OEM$ directory to inject Windows drivers.

  • Json Configuration

A injection array is defined to describe the configuration in /ventoy/ventoy.json

{
    "injection": [
        {
            "image": "/ISO/MX-19.1_x64.iso",
            "archive": "/driver/mx-driver.tar.gz"
        },
        {
            "image": "/ubuntu-20.04-desktop-amd64.iso",
            "archive": "/driver/ubuntu-driver.tar.bz2"
        },        
        {
            "image": "/cn_windows_10_enterprise_ltsc_2019_x64_dvd_9c09ff24.iso",
            "archive": "/driver/win10-driver.zip"
        }
    ]
}

Key Type Description
image STRING The full path of the image file
archive STRING The full path of the archive to be injected
Supported archive type:
Windows:   .7z .zip
Linux:    .zip .tar.gz .tar.bz2 .tar.xz .tar.lzma
  • Path for decompress

For Windows, Ventoy will decompress the file at X:
For Linux, Ventoy will decompress the file at / of initramfs, just like tar -xzf inject.tar.gz -C /

  • Typical application scenarios

1. Inject Windows Drivers
2. Inject CentOS dracut hook script
3. Inject Redhat dd.iso
4. ......