Over time, images grow. Use:
qemu-img convert -O qcow2 -c original.qcow2 compacted.qcow2
The -c flag enables compression, often shrinking images by 40-60% without performance loss (on modern CPUs).
If your EVENG server has no direct internet access (common in corporate labs), use Docker:
docker run --rm -v /opt/unetlab/addons/qemu:/data alpine wget http://example.com/image.zip -P /data
Don’t wait until lab boot fails. Check images offline first.
Check QEMU compatibility:
qemu-img info image.qcow2
# Look for: virtual size, disk size, file format (qcow2)
Check if EVE-NG recognizes it:
/opt/unetlab/wrappers/qemu_wrapper -t 0 -d 0 -x 0 -F /path/to/image
Common mismatches:
#!/bin/bash
# Better EVE-NG image downloader snippet
IMAGES=(
"https://example.com/cisco-iosv-15.9.qcow2"
"https://example.com/arista-veos-4.29.qcow2"
)
for url in $IMAGES[@]; do
wget -c $url # -c enables resume
if [[ -f "$(basename $url).md5" ]]; then
md5sum -c $(basename $url).md5
fi
done
Pro tips:
EVENG (Emulated Virtual Environment - Next Generation) is a virtualization platform that runs on bare-metal Linux (usually Ubuntu). It uses QEMU (Quick Emulator) to run virtual machines for network operating systems, firewalls, Windows, and Linux hosts.
A QEMU image in EVENG is essentially a hard disk image (.qcow2, .img, .raw) combined with a virtual NIC. But unlike a standard VM, EVENG requires very specific naming conventions and kernel parameters.
Some GitHub repos aggregate ready-to-use images:
⚠️ Legal note: Only download images you have a license for.
For popular network vendors (Cisco CSR1000v, Palo Alto, Fortinet, Arista), the EVE-NG team maintains a library of ready-to-use images.
The biggest mistake users make is downloading ISOs to manually install operating systems inside EVE-NG. This is slow and wastes space. The "better" way is to download pre-installed QEMU disk images (.qcow2).