Andras Dosztal
Andras Dosztal
Network architect
Dec 6, 2016 2 min read

How to add NX-OSv 9000 to GNS3

thumbnail for this post

Cisco has released NX-OSv9k, and the good news is that it can used in a GNS3 topology too. The only problem is that the image requires UEFI for booting, which is not provided by earlier versions of GNS3. Note: Version 2.0 provides a solution to this problem.

This post will guide you through the steps of addding the UEFI boot file and using it for the NX-OSv9k appliance.

Instructions for GNS3 1.5.x

1. Download the necessary components

You’ll need the following:

  • The NX-OSv9k image file from Cisco (nxosv-final.7.0.xxx.qcow2). Please note that you must have a service contract with Cisco in order to download it. No, I can’t provide the image for you.
  • The UEFI boot file called OVMF (description)
  • The NX-OSv9k appliance file for GNS3.

2. Unzip the boot file and upload it to GNS3

Unzip the downloaded OVMF-20160813.fd.zip, and copy OVMF-20160813.fd to the home directory of the gns3 user. You can do that using WinSCP on Windows; Linux and OSX users can use the CLI and type in this command (replace GNS3_VM_IP_ADDRESS with the IP address of your GNS3 VM instance):

scp OVMF-20160813.fd gns3@GNS3_VM_IP_ADDRESS:/home/gns3/

The default password for the gns3 user is gns3.

3. Create the directory for the boot file in the GNS3 VM

Start GNS3 VM, then open a console:

GNS3 VM menu

Type in the following to create the directory:

sudo mkdir /usr/share/ovmf/
sudo mv /home/gns3/OVMF-20160813.fd /usr/share/ovmf/

4. Add the appliance

Import the appliance file to GNS3 (guide, start from “How to use a GNS3A file”). Drag the device into the topology (you’ll find it in the Switches section); GNS3 will automatically upload the image to the GNS3 VM.

Once the image is uploaded, start the instance, and have fun. Here’s a sample topology with two running nodes:

Topology

Instructions for GNS3 2.0.x

If you’re using GNS3 2.0, you’ll have an easier job: just download the appliance from the Marketplace, and import it just like any other.