PicOS-V in EVE-NG
PicOS-V is the free virtual machine provided by Pica8 that allows you to experiment with their NOS.
Having virtual images for various NOS is hugely beneficial for learning. PicOS is the one I’ve recently stumbled upon.
A GNS3 qcow2 image is provided as well as directions for loading it into GNS3. However nothing for EVE-NG is provided, but fortunately it’s easy to create a custom template and get it loaded in.
Obtain Image
You will need to obtain the PicOS-V image from Pica8’s website
When presented with your image download options, select the GNS3 one. This will download a qcow2
image.
At the time of writing, the latest version available is 4.3.2.2
Transfer this image to your EVE-NG server
Prepare Image Folder
Navigate to EVE-NGs image folder and create one for your PicOS-V image
cd /opt/unetlab/addons/qemu/
mkdir picos-4.3.2.2
cd picos-4.3.2.2
Move or copy your PicOS-V image into this folder as sataa.qcow2
mv ~/picos-4.3.2.2* ./sataa.qcow2
Create Custom Template
# picos.yml
---
type: qemu
description: PicOS
name: picos
cpulimit: 1
icon: Router.png
cpu: 1
ram: 2048
ethernet: 5
eth_name:
- eth0
eth_format: swp{1}
console: telnet
qemu_arch: x86_64
qemu_version: 4.1.0
qemu_nic: virtio-net-pci
qemu_options: -machine type=pc,accel=kvm -nographic -rtc base=utc
...
After saving this, we can copy it to the AMD & Intel directories where templates are kept
cp picos.yml /opt/unetlab/html/templates/amd
cp picos.yml /opt/unetlab/html/templates/intel
Finally, we just need to register the custom template so EVE-NG knows it exists
# /opt/unetlab/html/includes/custom_templates.yml
---
custom_templates:
- name: picos
listname: PicOS
...
Fix Permissions
As with all EVE-NG images, we need to run fixpermissions
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions
Deploy Node
Return to your EVE-NG Lab and launch a node, you will find it PicOS
, then in the Image
dropdown you can select the version you want.
Once that’s added to the toplogy, you can start it. Wait for it to come to the login prompt.
PicOS-V default has default credentials of admin
/ pica8
. After authenticating it will have you change the default password
References
You can refer to the GNS3 Deployment guide as well as a general Configuration Guide
Tips & Tricks
Set Management IP
admin@PICOS> configure
admin@PICOS# set system management-ethernet eth0 ip-address IPv4 dhcp
admin@PICOS# commit
admin@PICOS# run show interface management-ethernet
eth0 Hwaddr: 50:00:00:01:00:00 State: UP
Gateway : 192.168.111.1
Inet addr:
192.168.111.168/24
Simulate different hardware model
By default PicOS-V will simulate an EdgeCore AS5812-54X, but you can easily swap it to simulate a different model. This will change the interface naming, etc to match
To simulate a Dell N3248P-ON
admin@PICOS> bash "sudo /etc/reset-product.sh -p N3248P-ON"
Simulation Platform changed from 'as5812_54x' to 'N3248P-ON'.
Please reboot the virtual machine.
Additionally you will want to clear the following directories so previous configuration for the older model is not carried forward
admin@PICOS> bash "sudo rm /pica/config/*"
admin@PICOS> bash "sudo rm /backup/pica/config/*"
Finally, reboot the VM
request system reboot