Versions this guide is based on:

EVE Image Name Downloaded Filename Version vCPUs vRAM
vios-adventerprisek9-m-15.4-1.2.0-173 all-in-one-VM-1.2.0-173.ova VIOS-ADVENTERPRISEK9-M 15.4(1.24)T0.9 1 256
vios-adventerprisek9-m-15.4-1.3.0-181 all-in-one-VM-1.3.0-181.ova VIOS-ADVENTERPRISEK9-M 15.4(20140730:011659) 1 384

Other versions should also be supported following bellow's procedure.

 

If one holds licensed Cisco VIRL software, images from it could be used instead of bellow procedure.

 

Upload the downloaded image to the EVE using for example FileZilla or WinSCP. Then login as root using SSH protocol and uncompress it:

mkdir tmp
cd tmp
tar xf ../all-in-one-VM-1.3.0.181.ova

The vIOS images is stored inside the vmdk file. The virtual disk file can be mounted in “read-only” mode:

modprobe nbd max_part=32
/opt/qemu/bin/qemu-nbd -r -c /dev/nbd0 all-in-one-VM-1.3.0.181-disk1.vmdk

The vmdk contains the following partitions:

file -s /dev/nbd0p*
/dev/nbd0p1: Linux rev 1.0 ext4 filesystem data, UUID=d650adb8-b5b9-4889-9d88-94dab7d263d9 (extents) (large files) (huge files)
/dev/nbd0p2: x86 boot sector
/dev/nbd0p5: Linux/i386 swap file (new style), version 1 (4K pages), size 523519 pages, no label, UUID=5f28906f-ef02-48c7-a2f8-96d05409077b

The first partition can be mounted:

mount -t ext4 /dev/nbd0p1 /mnt -o ro

Uncompress the vIOS OVA to the temporary directory:

tar xf /mnt/usr/share/vmcloud/data/images/vios-adventerprisek9-m.ova

Convert the vmdk file to a QEMU compatible format:

/opt/qemu/bin/qemu-img convert -f vmdk -O qcow2 vios-adventerprisek9-m.vmdk hda.qcow2

Create the folder for HDD image and move it:

mkdir -p /opt/unetlab/addons/qemu/vios-adventerprisek9-m-15.4-1.3.0-181
mv hda.qcow2 /opt/unetlab/addons/qemu/vios-adventerprisek9-m-15.4-1.3.0-181/

use viosl2-adventerprisek9-m-<version> for L2 images folder name

Clean and fix permissions:

cd ..
umount /mnt
/opt/qemu/bin/qemu-nbd -d /dev/nbd0
rmmod nbd
rm -rf tmp
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions