[ventoy] Hope to add dm kmod to the img by default

I'm the developer of Ventoy (www.ventoy.net). I add support to OpenWrt in the latest release.
So we can just copy the OpenWrt img file to the USB stick and boot it through Ventoy.
But Ventoy needs the dm-mod module which is not included in the img by default.
So I have to provide a package to collect dm-mod file for all the versions. (https://github.com/ventoy/OpenWrtPlugin/releases)

So I hope dm-mod can be included into the img file in the future OpenWrt release.
Thanks for everybody.

1 Like

How big is the mod?

Take 21.02.0-rc1 x86_64 for example, two ko files are needed:
dax.ko 25KB
dm-mod.ko 145KB

The ko files are included in the following packges:

perhaps you can help... attempted to follow the guide...

used 21.02.0-SNAPSHOT


ext4 ( guide says modules not needed ) errors with failed to find ventoy_openwrt.xz

squashfs-combined has the same message

manual kmod ipk download and newer.sh seemed to go ok...

ventoy_openwrt.xz tries in PART1/. and PART2/ventoy/.


21.02.0-rc1 same error

Put this file in the ventoy directory at the 1st partition (Ventoy Image partition, the same position with ventoy.json )

there is no ventoy.json on the first or second partition...?

1.0.45 (linux variant)

ventoy_openwrt_squashfs.sh openwrt-21.02-snapshot-r16130-1b27d89d40-x86-64-generic-squashfs-combined-efi.img.gz

may have said 'nothing to be done'... kind of odd...

maybe i've missed something obvious?

is there an easy way to disable the 'ventoy_openwrt.xz' check? happy to handle modules with custom built image...

is it in here?

fgrep -r openwrt ventoy-1.0.45/
>>> Binary file ventoy-1.0.45/ventoy/ventoy.disk.img.xz matches

I think maybe the guide is missing a link about basic plugin setup thus no ventoy directory or json on the first partition?

found this dir in the source;

### ventoy-1.0.45/plugin/ventoy/
### ls ventoy-1.0.45/plugin/ventoy/
theme  ventoy_grub.cfg  ventoy.json

is the installer or me supposed to copy some of this to partition1?

ok... finally accidentally found my way here;


The 1st partition is empty after install, so you need to create /ventoy directory and ventoy.json file by yourself

which has a link here re: json

but that does not really help me in regards to what is needed with reference to the above instructions... ( content within the json file for 'openwrt plugin usage' )

Sorry. This plugin is part of Ventoy solution. So need some background knowledge about how ventoy and its plugin works. I will improve the document later to make it more cleaner.

1 Like


i'm happy to compile any openwrt version with any modules

no problem at all...

In the new release I will check the img file to check that whether the needed kernel modules are included already. If so then will NOT check the ventoy_openwrt.xz.
For test you can download the current ventoy_openwrt.xz to the USB and boot your img file even you have included the modules in the img file.

I don't think that is the problem here...

The instructions talk about /ventoy and ventoy.json but do not help how to create.

Also all images cannot find xz... It always checks even for ext4 which does not need them?

  • What folders need to be created
  • What is any json example for openwrt
  • Where should xz be placed exactly

After you install Ventoy to the USB. The 1st partition is empty.
You need to create a ventoy directory and download the ventoy_openwrt.xz file and put it under the ventoy directory. Then you put the openwrt img file to the same partition and boot it.
There is nothing about the json file. I just mention the ventoy.json to say where to put the ventoy_openwrt.xz file.
download ventoy_openwrt.xz file from https://github.com/ventoy/OpenWrtPlugin/releases

1 Like

all had been done except creating a ventoy folder... xz goes inside this folder? on partition1?

I will try again and see what I did wrong..

In the document I assumed that the user have used Ventoy before and is familar about how ventoy and its plugin works and where to put the ventoy.json file. So ...

1 Like

ok working now

  • create dir part1/ventoy
  • place xz in part1/ventoy/
  • json not needed

THANKYOU! (21.02-SNAPSHOT ext4-combined + squashfs-combined-efi)

wget https://github.com/ventoy/Ventoy/releases/download/v1.0.45/ventoy-1.0.45-linux.tar.gz
tar -xvzf ventoy-1.0.45-linux.tar.gz
rm *.tar.gz

cd ventoy-1.0.45
./Ventoy2Disk.sh -i /dev/sdX

mkdir -p VENTOY1
mount /dev/sdX1 VENTOY1
mkdir -p VENTOY1/ventoy


wget https://github.com/ventoy/OpenWrtPlugin/releases/download/v1.0/ventoy_openwrt.xz
cp ventoy_openwrt.xz VENTOY1/ventoy/

wget https://downloads.openwrt.org/releases/19.07.7/targets/x86/64/openwrt-19.07.7-x86-64-combined-squashfs.img.gz
gunzip openwrt-19.07.7-x86-64-combined-squashfs.img.gz
cp openwrt-19.07.7-x86-64-combined-squashfs.img VENTOY1/

git clone https://github.com/ventoy/OpenWrtPlugin
mv OpenWrtPlugin/* .
chmod +x newver.sh
chmod +x ventoy_openwrt_squashfs.sh

wget https://downloads.openwrt.org/releases/21.02.0-rc2/targets/x86/64/openwrt-21.02.0-rc2-x86-64-generic-squashfs-combined.img.gz

wget https://downloads.openwrt.org/releases/21.02.0-rc2/targets/x86/64/packages/kmod-dax_5.4.119-1_x86_64.ipk
wget https://downloads.openwrt.org/releases/21.02.0-rc2/targets/x86/64/packages/kmod-dm_5.4.119-1_x86_64.ipk

cp ventoy_openwrt.xz VENTOY1/ventoy/

./ventoy_openwrt_squashfs.sh openwrt-21.02.0-rc2-x86-64-generic-squashfs-combined.img.gz

cp openwrt-21.02.0-rc2-x86-64-generic-squashfs-combined.img VENTOY1/

umount VENTOY1

exit 0

The Lakka project has enabled CONFIG_BLK_DEV_DM=y by default

So I hope OpenWrt can ...
Thanks for everybody.

1 Like

@aparcar Any suggestions?

Create a customize x86 image with imagebuild

I write a simple script to use official imagebuilder generate x86 image and test it with my nuc6.

The code repo is https://github.com/liaoya/ventoy-openwrt