The new ExtremeXOS VM versions found on Github

  • 0
  • 1
  • Question
  • Updated 3 years ago
  • Answered
The new VMs posted on Github mention that they are for VMware and Virtualbox. Is there any method I need to use, to convert those to KVM compatible VMs?  The older 15.3 exosvm.vmdk used to work with Qemu and KVM just fine. The newer files are all in .iso, .xos, and -ssh.xmod formats now.

Also, is there a change log of the differences between 15.3, and 15.7/16.1.1/16.1.2 ? Thanks!
Photo of Deadpool

Deadpool

  • 380 Points 250 badge 2x thumb
  • excited

Posted 3 years ago

  • 0
  • 1
Photo of Drew C.

Drew C., Community Manager

  • 38,610 Points 20k badge 2x thumb
Hi Andrew,
Welcome to The Hub!

I don't have an an exact answer for you on how to adapt EXOS VM to work on KVM, but I'm pretty sure it's possible.  Here's two threads that talk in more detail about how to get it working in VirtualBox and VMware.
https://community.extremenetworks.com/extreme/topics/configuring-exos-virtual-box
https://community.extremenetworks.com/extreme/topics/xos-in-vmware-esxi

There's a lot of small details there that I'm hoping you'll be able to pick up on some details that help you get it working in KVM.  The ISO files are provided so that you can make adjustments and install them on any virtualization platform.  The XOS (and ssh) files are provided so that an existing installation can be upgraded.

For the changelog - the only thing I can provide is a link to the release notes:  http://www.extremenetworks.com/support/release-notes
I don't think there will be anything specific to the EXOS VM mentioned here though.

Come back and let us know if you have questions - there's lots of good minds here that can help!

-Drew
Photo of Grosjean, Stephane

Grosjean, Stephane, Employee

  • 12,850 Points 10k badge 2x thumb
if you already have a VM running on KVM, just upgrade it with a bd10ki386.xos image. If you want to create from scratch a VM with KVM:

It's pretty easy to get started, starting with the exospc.iso from a build:


# Create a disk image for the VM

qemu-img create vm1.img 256M

# Boot and install from exospc.iso

qemu -hda vm1.img -boot order=d -cdrom exospc.iso

 

Once you have a working VM, you will want to reboot with networking interfaces, possibly in the background with a telnet-able serial console.

Photo of Deadpool

Deadpool

  • 380 Points 250 badge 2x thumb
Thanks Stephane!  I followed the Virtualbox install instructions, then converted the resulting .vdi with qemu-img convert -O qcow2 xos.vdi xos.img, and imported it into GNS3, but it just hung for a while. Never got to the Authentication service available.  I'll try your method in a bit, to see if it works.

Excited to see what all is in the updated version, since I'm still using v15.3.2.11 in GNS3

Quick Question: Where would I download the bd10ko386.xos files? All I seem to have is the one for 15.7.1.4
(Edited)
Photo of Deadpool

Deadpool

  • 380 Points 250 badge 2x thumb
I tried install a new 16.1.2.14 VM following you instructions, but it still wouldn't get to the  point where I could login in. It throws a busybox error, then just leaves me at a # prompt
Photo of Deadpool

Deadpool

  • 380 Points 250 badge 2x thumb
Ok, got a little bit further this time. Creating a new VM image caused problems (couldn't get past busybox), but when I tried "qemu-system-x86_64 -hda exosvm.vmdk -boot order=d -cdrom exospc-6.1.2.14.xos" the boot process proceeded normally, but I have no idea how to upgrade the 15.3 VM image.

Could you tell me the exact steps needed to upgrade it, since install and upgrade both result in "invalid filename".  Do I need to upgrade it incrementally (like 15.7, 16.1.1, then 16.1.2) or am I doing it completely wrong?
(Edited)
Photo of Grosjean, Stephane

Grosjean, Stephane, Employee

  • 12,850 Points 10k badge 2x thumb
for an upgrade, you need to download the bd10ki386 version of xos. This is the binary for VM, and VM only. Then, you can upgrade an existing VM the same way than a normal switch.
Photo of Drew C.

Drew C., Community Manager

  • 38,610 Points 20k badge 2x thumb
The.xos files are on GitHub, but are called exospc. Not bd10k :)
Photo of Grosjean, Stephane

Grosjean, Stephane, Employee

  • 12,850 Points 10k badge 2x thumb
doh! that's what happen when you use internal builds without checking on the public repositery :)
Photo of Deadpool

Deadpool

  • 380 Points 250 badge 2x thumb
OK, I've tried both methods, but ran into some problems. It's likely it's just something I'm doing wrong. 

When I tried to install a new VM, here's the output I get after reboot, and firing up the new VM with Qemu:  (sorry for the wall of text!)

Warning. Could not determine the CPU Family.model name : QEMU Virtual CPU version 2.4.0
*** do_prep_pacman_variables ***
*** do_load_nvram_drivers ***
*** do_determine_platform_id ***
extreme_board_id = 0xFFEF0001
platform_rev = 1
platform_id = 65519
*** do_conditional_wait_for_mmc ***
*** do_determine_preferred_fs_type ***
*** do_conditional_summit_platform_determinations ***
*** do_conditional_terminal_reset ***
*** do_conditional_image_banner ***
*** do_prep_partition_variables_CF ***
*** do_determine_lvm ***
*** do_check_for_rescue ***
*** do_load_watchdog_module ***
*** do_overheat_var_check ***
*** do_prep_fstab ***
*** do_validate_all_vfat ***
***** checking filesystem: dosfsck -y -w /dev/hda1
***** checking filesystem: dosfsck -y -w /dev/hda2
***** checking filesystem: dosfsck -y -w /dev/hda8
*** do_conditional_perform_sync ***
*** do_mount_slash_boot ***
***** checking filesystem: dosfsck -y -w -/dev/hda1
*** boot filesystem mounted on /boot
*** do_conditional_platform_config ***
*** do_conditional_display_pacman_menu ***

==========================
===== developer menu =====
==========================
1) enable perf hooks.........."false"
2) boot_cf_alt_fsck..........."true"
3) boot_cf_config_fsck........"true"
4) boot_debug................."false"

management port settings
 5a) boot_ipaddr (non-stack)..""
 5a1) boot_ipaddr (slot 1)....""
 5a2) boot_ipaddr (slot 2)....""
 5a3) boot_ipaddr (slot 3)....""
 5a4) boot_ipaddr (slot 4)....""
 5a5) boot_ipaddr (slot 5)....""
 5a6) boot_ipaddr (slot 6)....""
 5a7) boot_ipaddr (slot 7)....""
 5a8) boot_ipaddr (slot 8)....""
 5c) boot_netmask............."255.255.255.0"
 5d) boot_broadcast...........""
 5e) boot_gateway.............""

var partition settings
 6a) var partition............"tmp" [tmp, nfs or extcf]
 6b) nfs var mount............""

exos settings
 7a) start exos at boot......."true"
 7b) enable heap tracing......"false"
 7c) allow /var log file......"false"
 7d) node failure restart....."true"
 7e) mount exos from.........."local" [local, nfs]
 7f) nfs exos mount...........""
 7g) nvram core dump info....."show_clear"
 7h) debug mode..............."false"
 7i) environment vars.........""

pacman settings
 8a) pacman autostart........."false"
 8b) pacman autostart delay..."5"

l) load settings from system.cfg on hda1
o) back to original settings
s) save settings to system.cfg on hda1

copy)  show settings for COPY
paste) read settings from PASTE

r) reboot

c) continue with boot process
~> c
*** do_initialize_ramdisk ***
*** do_conditional_publicize_lvm ***
*** do_development_options ***
rootdisk created Tue Oct  6 19:07:05 EDT 2015
*** do_check_filesystems ***
*** do_mount_filesystems ***
*** do_conditional_shell ***


BusyBox v1.13.4 (2015-10-06 19:06:46 EDT) built-in shell (ash)
Enter 'help' for a list of built-in commands.

/bin/sh: can't access tty; job control turned off
~ # 


When I tried to use my existing 15.3 exosvm.vmdk image, and put the exospc-16.1.2.14.xos image in a tftp server (Debian Jessie w/tftpd-hpa), "download image <ip_addr> exospc-16.1.2.14.xos secondary"  keeps giving this error:

Downloading to SwitchError: Failed to download image - tftp: sendto: Network is unreachable

Both VMs have IP reachability (same subnet) to one another (they're literally cross-connected, and the only devices on the "network") , and the tftpd-hpa server has no restrictions, so I'm not sure what I'm doing wrong with this, either. 

Any help pointing out what I'm doing wrong would be greatly appreciated! 
Photo of Daniel Flouret

Daniel Flouret, Employee

  • 7,470 Points 5k badge 2x thumb
Andrew, check this post:
XoS in Vmware ESXi

Towards the end there's the solution to your problem. It's a matter of adding the option
-cpu core2duo
Photo of Deadpool

Deadpool

  • 380 Points 250 badge 2x thumb
Yup, that did the trick!  Got a possible spurious coredump message during boot, but the new VM loaded just fine. Thanks again!  :)
Photo of Drew C.

Drew C., Community Manager

  • 38,610 Points 20k badge 2x thumb
Wanted to come back and mention where the downloads can be found, in case someone stumbles upon this thread and is wondering.
Where to download the latest version of EXOS VM?
Photo of Jack Daniel

Jack Daniel

  • 170 Points 100 badge 2x thumb
Is there an OVA file that exists for us Fusion users that don't have ESXi or Virtual Box? I have tried to install from the ISO but keep gettign /dev/hda not available. Hard drive has been defined and is online. 
Photo of Daniel Flouret

Daniel Flouret, Employee

  • 7,470 Points 5k badge 2x thumb
Jack,

There's no problem generating a VM in Fusion, if you know one little secret... The disk type has to be IDE, not SCSI.

Go to Fusion, select New, select Install from disc or image, then Continue.
Select the ISO file, then Continue.
As OS select Linux Other Kernel 2.6.x (32-bit), then Continue.
Make sure you select to Personalize the VM. If you don't, then after the VM automatically starts close it and select Setup

The most important thing to change is the disk type. The default is SCSI but EXOS expects IDE.



Select The Hard disk and change its type to IDE and its size to 512M (no need for more....)



The last thing you need to do is to add more Network Adapters as the VM only has one by default. This first adapter is assigned to the OOB Management Port. You can add up to 7 additional adapters that will be assigned to the Default VLAN as front ports.

After that, just run the VM. It will create the disk partition structure, install EXOS and ask for a reboot. After that you'll be all set.



Good luck with your experiments...
Photo of Deadpool

Deadpool

  • 380 Points 250 badge 2x thumb
Sorry to resurrect this zombie thread,  but I have another question.  I've able to use the exos VM I created with the help from here, as a Qemu VM for GNS3.  Recently, the GNS3 team made some changes, to make it easier for users to install and integrate various Qemu/Virtualbox/Vmware VMs.   They've currently got template files that will allow users to download and install open-source VMs.   Some of the questions I was asked by the team were:

1) Would the Extreme Networks team mind if they use the template to automatically have the users machine download the latest exos .iso file from the git repo, that would then automatically installs it to a blank .qcow2 file on their local machine?

2) Would the Extreme Github team consider uploading pre-made .qcow2 image files, like they do with the .iso, .xos, and .ssh files?  It would make things a lot easier  to get new users introduced to using exos in GNS3.

3) If the github team doesn't want to make  a pre-made .qcow2 image themselves, would they mind if the GNS3 team created those images, and then hosted them on sourceforge?

I've written a procedure to "roll your own" exos Qemu image by using the instructions found here, but the GNS3 team would love to have legal approval to be able to provide a pre-made appliance for the users, for practice labs.  A lot of users run into setup issues, since they don't want to read the documentation, or deal with the hassle of manually getting everything up and running. 

Thank you for your time!
Photo of Drew C.

Drew C., Community Manager

  • 38,610 Points 20k badge 2x thumb
That's a pretty good idea, Andrew.
If we can make the qcow2 images for GNS, I'm happy to post them to GitHub.  Given the "happenings" at sourceforge lately, I'm not comfortable with posting anything with our name on it there.
The thing is, once the right template is built, you can simply upgrade it with the .xos file that is posted.  You don't have to install from scratch every time.

To answer your questions:
  1. I think having a scripted template update as you've described will be fine.  However, once the right template is built, you can simply upgrade it with the .xos file that is posted.  You don't have to install from scratch every time.
  2. If there's a template available, we'll share it.
  3. I'm against sourceforge... it's a personal preference :)
Regarding legal approval, I'm not quite sure how to initiate that.

-Drew
Photo of Deadpool

Deadpool

  • 380 Points 250 badge 2x thumb
Cool! Thank you for the answers! The GNS3 developers told me that a .qcow2 on your Github would be the best solution for them, since they can use their appliance template file to let users automatically download said file, and then upload it to their new GNS3-VM.  It's an Ubuntu based Virtualbox/Vmware VM, so Windows/OSX users can leverage KVM, instead of just Linux users.  I'll point them to this thread, so they can hopefully be able to explain it better than I can.  I'm just a volunteer user, after all.  I just hope it can happen, since I *love* using EXOS in GNS3, and I'd love it if more users could get to give it a spin. :)
Photo of Deadpool

Deadpool

  • 380 Points 250 badge 2x thumb
Hi again, Drew!  I sent the link to this thread to the two GNS3 devs (Jeremy and Julien), but they're pretty busy guys, so I don't know how long it'll be before they jump into the discussion.

I don't know if you've ever checked out GNS3 (here's the link to the site), but as a little backstory, it originally started out as an easy way to use the DynaMIPS emulator to allow users with legally obtained IOS images for old Cisco routers that use MIPS CPUs, to practice for CCNA/CCNP exams. GNS3 has since evolved into the the "glue" that allows users to integrate DynaMIPS, Qemu, Virtualbox, and VMware VMs together, to allow uses the chance to practice non-Cisco devices in their topologies.  If the users have a valid VIRL subscription with Cisco, they can even export the images, so they can practice with them offlline. Pretty cool!

I think the new site will soon offer up blogs, so various vendors could make blog posts about their specific offerings, as well as any information they want the GNS3 users to be aware of.

The .qcow2 file I was asking about would just need to be a version of exos that will run as a regular Qemu VM. The devs released their GNS3-VM appliance to allow Windows/OSX users the ability to upload image locally to it, so they can take advantage of Qemu/KVM VMs (it's a non-issue for use Linux users)  They created .gns3a templates, to allow users to easily integrate VMs into GNS3, so they can quickly get up and running, without having to manually upload and configure everything.

Hope this explains this better!  My initial post was kinda scatter shot, since I threw several options out there, to see if any would stick. 

The reason I brought up legality, was because the developers only want to let users use the template files to obtain legally available VM appliances.  They rightly refuse to allow users to use any template to get VMs that the software owners don't legally make available. As long as Extreme lets you upload the .qcow2 file for anyone to use to test EXOS images, that would be a non-issue.  Certain vendors like Arista and Juniper offer trial versions of their software for download, but they insist that users register free accounts, in order to download the trials, so the GNS3 team can't use the templates to just download those files automatically. The user would have to already have gone thru the registration process and obtained then images on their own, and then have the files stored locally, before the template would allow import.

Also, could y'all upload the lastest EXOS User Manual, and the command list .PDFs to the site? I have a valid Extreme Network accounts, and found those documents to be incredibly valuable to help me learn how to use EXOS.

Thank you again! If you have any other questions, feel free to ask me.  I'll keep nagging the developers to join in the discuss here. ;)

Andrew. 
Photo of Drew C.

Drew C., Community Manager

  • 38,610 Points 20k badge 2x thumb
Creating a new thread for better tracking of discussion.

Please reference the new conversation here: Adding GNS3 options for using EXOS-VM