Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apple silicon M1 support for the GNS3 VM #3257

Open
Haterss opened this issue Oct 29, 2021 · 54 comments
Open

Apple silicon M1 support for the GNS3 VM #3257

Haterss opened this issue Oct 29, 2021 · 54 comments
Milestone

Comments

@Haterss
Copy link

Haterss commented Oct 29, 2021

I got an issue with supporting M1 architect for the GNS3 VM, it just won't run in vm. does anyone have a work around for this issue?

@Haterss
Copy link
Author

Haterss commented Oct 29, 2021

MacBook Pro M1

Screenshot 2021-10-29 at 12 02 16 PM

@grossmj grossmj added this to the 2.2.27 milestone Oct 30, 2021
@grossmj
Copy link
Member

grossmj commented Oct 30, 2021

I am not too familiar with this but maybe you must install VMware Fusion for M1?

@Haterss
Copy link
Author

Haterss commented Oct 31, 2021

I tried all the methods, it seems like I was able to get a hold of VMware Fusion tech preview for M1. But now it seems like the only way for gns3 VM to work, they have to update a copy of GNS3 VM just for M1.

@grossmj grossmj changed the title make it support M1 Apple silicon M1 support for the GNS3 VM Nov 3, 2021
@grossmj
Copy link
Member

grossmj commented Nov 3, 2021

But now it seems like the only way for gns3 VM to work, they have to update a copy of GNS3 VM just for M1.

This is correct, the current GNS3 VM won't work because everything inside is meant to work on Intel processors. We would have to make a GNS3 VM specifically for the ARM64 architecture (which M1 is based on).

The 2 main problems we have right now is we don't have any apple computer with M1 and we also have to find a way to automate the GNS3 VM build for it (all our VMs are built using circleCI / bare metal servers as a service)

I am thinking about a few solutions:

  • Build on a Intel based metal server and use Qemu ARM64 emulator to build the VM and then manually create the OVA package with scripts. The problem is this is likely to be really slow.

  • Build on an ARM server with KVM Virtualization which should be faster. Still I think there will be a lot of fiddling around to make it right.

  • Build on a M1 server (MacStadium and Scaleway have Mac Mini M1 we could rent on demand) with VMware Fusion for ARM (currently in Public Tech Preview) which I think would be the cleanest solution.

@grossmj grossmj modified the milestones: 2.2.27, 2.2.28 Nov 3, 2021
@jnatschev
Copy link

for what it is worth @grossmj, i am of the opinion that your third dot point is commercially and technically the way to go. i for one, would be more than willing to help out in any way i can to support the ongoing gns3 development.

@grossmj
Copy link
Member

grossmj commented Nov 3, 2021

would be more than willing to help out in any way i can to support the ongoing gns3 development.

Just to double check, does the GNS3 app run correctly on M1? (should automatically use Rosetta 2 I believe) Thanks 👍

@jnatschev
Copy link

sorry @grossmj, that i can't answer because i don't have an Apple M1-based computer yet. is there a mechanism for a private communicaton by any chance?

@Haterss
Copy link
Author

Haterss commented Nov 3, 2021

would be more than willing to help out in any way i can to support the ongoing gns3 development.

Just to double check, does the GNS3 app run correctly on M1? (should automatically use Rosetta 2 I believe) Thanks 👍

Screenshot 2021-11-03 at 1 26 42 PM
Screenshot 2021-11-03 at 1 27 43 PM

Is working correctly for the GNS3 App, my school was kindly able to loan me a laptop for the semester to run a copy of GNS3 VM server. (MY VM is currently off)

@grossmj
Copy link
Member

grossmj commented Nov 4, 2021

As a first step toward M1 apple silicon support, we now have Debian packages for ARM64 on our ppa (see #2419)

@kiraberserk
Copy link

Hi team,

I was able to get GNS3 VM running on a MacBook Air with M1 by using an emulator called UTM. I posted it on the GNS3 community site. Hope this can help you somehow:

https://gns3.com/my-workaround-to-get-gns3-vm-working-on-my-macbook-air-with-m1

@eantowne
Copy link
Contributor

GNS3 client runs fine on M1 (tested personally) using Rosetta 2.

As for the server portion and it's related packages, won't there still be a problem with virtualization? My understanding is that KVM on ARM64 has all kinds of issues for virtualizing x86_64, which most modern virtualized appliances are built for.

@kiraberserk
Copy link

Hi @eantowne, there has not been any problem for me. I'm running the VM simulating a x86_64 so it works as if it's installed on an AMD64 CPU.

I explained all that in the original post, which I pasted above. Check it out and test it. It's working fine for me.

@eantowne
Copy link
Contributor

@kiraberserk My comment was not in relation to using UTM, but more to native installation of the server portion on Mac.

Honestly, glad to see that there is a virtualization solution that does work for M1 architecture.

@grossmj
Copy link
Member

grossmj commented Nov 13, 2021

@kiraberserk Thanks for the workaround 👍 Have you notice any slowness or have you tried to run many nodes?

We will still try to provide a GNS3 VM for ARM64 has it will be a lot better performance wise I think ;)

@grossmj
Copy link
Member

grossmj commented Nov 13, 2021

@Haterss

Have you been able to import the GNS3 VM OVA using VMware Fusion tech preview for M1?

This is what I get when I try to import:

Screenshot from 2021-11-13 12-07-19

I suspect this is because it is still a preview....

@grossmj
Copy link
Member

grossmj commented Nov 13, 2021

Build on a M1 server (MacStadium and Scaleway have Mac Mini M1 we could rent on demand) with VMware Fusion for ARM (currently in Public Tech Preview) which I think would be the cleanest solution.

Well that seemed to be the best option until I found out that Apple forces provider (like MacStadium and Scaleway) to lease macOS servers for a minimum of 24 hours... 😞 I only need something like 15-20 max to build a GNS3 VM.

So, I used Qemu for aarch64 on my AMD64 computer to create an Ubuntu image and I was successful running it in VMware Fusion tech preview for M1 (I leased that mac mini M1 for 24 hours...) The only problem I faced is I couldn't import any OVA I created into VMware Fusion (see #3257 (comment)).

@Haterss
Copy link
Author

Haterss commented Nov 13, 2021

@Haterss

Have you been able to import the GNS3 VM OVA using VMware Fusion tech preview for M1?

This is what I get when I try to import:

Screenshot from 2021-11-13 12-07-19

I suspect this is because it is still a preview....

Hey,

I tried all the method before with Tech Preview, it seems like VMware yet to update their OVA toolkit. So for now they need VM developer to build their VM on ARM64 Architect.

@kiraberserk
Copy link

@kiraberserk Thanks for the workaround 👍 Have you notice any slowness or have you tried to run many nodes?

We will still try to provide a GNS3 VM for ARM64 has it will be a lot better performance wise I think ;)

Yes, It runs slower than what I expected and I haven't done a really big network either.

I think KVM is gonna be the big deal for you guys to get GNS3 VM working native on M1. But hey! I have a Macbook M1 and I could help if you can guide me through. :)

@Haterss
Copy link
Author

Haterss commented Nov 13, 2021

@kiraberserk Thanks for the workaround 👍 Have you notice any slowness or have you tried to run many nodes?
We will still try to provide a GNS3 VM for ARM64 has it will be a lot better performance wise I think ;)

Yes, It runs slower than what I expected and I haven't done a really big network either.

I think KVM is gonna be the big deal for you guys to get GNS3 VM working native on M1. But hey! I have a Macbook M1 and I could help if you can guide me through. :)

@grossmj

let us know if u need me or @kiraberserk help to build the VM up. My Machine might be slower compare to the new M1 Pro haha

Screenshot 2021-11-13 at 10 57 12 PM

@grossmj
Copy link
Member

grossmj commented Nov 19, 2021

I managed to build a GNS3 VM for ARM that you can run on macOS M1. Please see #3261 how to use it as well as limitations and other workarounds.

@grossmj
Copy link
Member

grossmj commented Nov 19, 2021

It would be interesting to compare the speed of the running the x86_64 VM in UTM vs running the ARM64 VM in VMware Fusion, especially with running Qemu based appliances like IOSv, IOSv-L2 etc.

Please @kiraberserk @Haterss could you test that? Thanks :)

@kiraberserk
Copy link

I'd like to, but I don't know how to do it. Can you guide me through it?

@grossmj
Copy link
Member

grossmj commented Nov 25, 2021

@NineTailed999 this is the post: #3261

@Veena-creator
Copy link

Veena-creator commented Dec 7, 2021

Screenshot 2021-11-23 at 12 43 20 PM

Hey @grossmj I got it running! will monitor from now on not too sure what did I do. I just pasted all the cmd that was given to me hahaha. Thanks so much and all the swift responds everyone

Hi Team, how to integrate the VM fusion to GNS3 once installed on M1, can you please confirm ? @Haterss & @grossmj

@grossmj
Copy link
Member

grossmj commented Dec 9, 2021

Hi Team, how to integrate the VM fusion to GNS3 once installed on M1, can you please confirm ? @Haterss & @grossmj

Do you mean using VMware VMs inside our GNS3 projects?

@grossmj grossmj modified the milestones: 2.2.28, 2.2.29 Dec 9, 2021
@Haterss
Copy link
Author

Haterss commented Dec 11, 2021

Screenshot 2021-11-23 at 12 43 20 PM Hey @grossmj I got it running! will monitor from now on not too sure what did I do. I just pasted all the cmd that was given to me hahaha. Thanks so much and all the swift responds everyone

Hi Team, how to integrate the VM fusion to GNS3 once installed on M1, can you please confirm ? @Haterss & @grossmj

Hey man, what I did was making the GNS server running as In background (like normal VM copy) then I would upload my IOS router copy and connect them via remote server.

@Haterss
Copy link
Author

Haterss commented Dec 11, 2021

@grossmj yo, so far I notice when running GNS. when start up the Virtual Device, it would freeze upon booting up (probably I only assign 2 core and 4gb RAM.

@Veena-creator
Copy link

Hi Team, how to integrate the VM fusion to GNS3 once installed on M1, can you please confirm ? @Haterss & @grossmj

Do you mean using VMware VMs inside our GNS3 projects?

Yes, to use the CLI of the devices in GNS3

@Veena-creator
Copy link

Veena-creator commented Dec 12, 2021

Screenshot 2021-11-23 at 12 43 20 PM Hey @grossmj I got it running! will monitor from now on not too sure what did I do. I just pasted all the cmd that was given to me hahaha. Thanks so much and all the swift responds everyone

Hi Team, how to integrate the VM fusion to GNS3 once installed on M1, can you please confirm ? @Haterss & @grossmj

Hey man, what I did was making the GNS server running as In background (like normal VM copy) then I would upload my IOS router copy and connect them via remote server.

Am unable to integrate VM to GNS3, getting the error (Could not probe: failed to launch helper process) while importing the file in fusion, how to integrate it ???

@grossmj
Copy link
Member

grossmj commented Dec 15, 2021

Am unable to integrate VM to GNS3, getting the error (Could not probe: failed to launch helper process) while importing the file in fusion, how to integrate it ???

I don't think we support it at the moment. Just run the GNS3 VM manually with VMware Fusion preview for M1.

@grossmj
Copy link
Member

grossmj commented Dec 15, 2021

I have released a new GNS3 VM that should work with VMware Fusion on M1: https://github.com/GNS3/gns3-gui/releases/download/v2.2.28/GNS3.VM.ARM64.2.2.28.zip instruction how to install can be found on #3261

@NineTailed999
Copy link

Screen Shot 2021-12-16 at 14 36 29

Hey, I'm trying to use your new images but my GNS3 is on different version from the controller.
Can you link me GNS3 version 2.2.28?

@grossmj
Copy link
Member

grossmj commented Dec 16, 2021

GNS3 2.2.28 hasn't been published on the website yet. You can download it here https://github.com/GNS3/gns3-gui/releases/tag/v2.2.28

@NineTailed999
Copy link

GNS3 2.2.28 hasn't been published on the website yet. You can download it here https://github.com/GNS3/gns3-gui/releases/tag/v2.2.28

Hey, Thanks with that.

Now when I try running IOS router I'm getting this error message-

"Dynamips hypervisor process has stopped, return code: -11
C3725 'Ghost': generic_nvram_extract_config: Unknown error -61605"

Do you know how can I solve this one?

Thanks from advance

@ebayliss-dev
Copy link

Hi, I have been able to get this working but won't all of this be pointless as the M1 doesn't support nested virtualisation?

I get this error when trying to run anything on my M1 ARM GNS3 VM:

"The selected server does not support KVM. A Linux server or the GNS3 VM running in VMware is required."

@kiraberserk
Copy link

@EDB4YLI55 I had to use UTM to get Nested virtualization to work. It's slow but works. Have a look:

https://gns3.com/my-workaround-to-get-gns3-vm-working-on-my-macbook-air-with-m1

@grossmj
Copy link
Member

grossmj commented Dec 21, 2021

@EDB4YLI55 the M1 ARM GNS3 VM is experimental as explained in #3261 however you should be able to use it to run almost everything (VPCS, IOU, Docker etc.) excepting of course Qemu/KVM based VMs since nested virtualization isn't supported, at least until Apple or VMware does something... and that network vendors start to release their virtual appliances for ARM. That may take a long time before we get there so until that time I would recommend the UTM option if you are okay with slower performances or a remote Linux server running GNS3.

@grossmj grossmj modified the milestones: 2.2.29, TBD Dec 25, 2021
@Veena-creator
Copy link

Am unable to integrate VM to GNS3, getting the error (Could not probe: failed to launch helper process) while importing the file in fusion, how to integrate it ???

I don't think we support it at the moment. Just run the GNS3 VM manually with VMware Fusion preview for M1.

ok :(

@adilnas62711411
Copy link

Hello Everyone,

I tried but eventually gave up getting GNS3 VM to work on my new 2021 Mac Book M1 Max machine but I'm checking back to see if there is a solution for this issue. I tried to launch the GNS3 VM today and the attached screenshot is what happened (still ain't working).
Screen Shot 2022-01-23 at 12 12 20 PM

@adilnas62711411
Copy link

Screen Shot 2022-01-23 at 12 16 17 PM

@mikeconti
Copy link

I got an issue with supporting M1 architect for the GNS3 VM, it just won't run in vm. does anyone have a work around for this issue?

It's not perfect, but yes. You can create a remote server on google compute engine. So you connect to the GNS3 VM via a remote server. It's not ideal, but it will get you the GNS3 client and GNS3 VM talking to each other. I've done the setup so can confirm it works. Just be sure to shut down your VM instance when you don't need it!

GNS3 v2 with Google Compute Engine | Binary Nature.pdf
.

@adilnas62711411
Copy link

adilnas62711411 commented Jan 26, 2022 via email

@Kali090909
Copy link

Screenshot 2021-11-23 at 12 43 20 PM

Hey @grossmj I got it running! will monitor from now on not too sure what did I do. I just pasted all the cmd that was given to me hahaha. Thanks so much and all the swift responds everyone

Hi Team, how to integrate the VM fusion to GNS3 once installed on M1, can you please confirm ? @Haterss & @grossmj

Hey man, what I did was making the GNS server running as In background (like normal VM copy) then I would upload my IOS router copy and connect them via remote server.

Am unable to integrate VM to GNS3, getting the error (Could not probe: failed to launch helper process) while importing the file in fusion, how to integrate it ???

May I know how did you install iosv2 image on this gns3 vm?

@Kali090909
Copy link

How do you install iosvl2 image on this gns3 VM?

@mweisel
Copy link

mweisel commented May 2, 2024

I have a solution for Cisco IOSv and IOL. GNS3 on Apple Silicon

@grossmj
Copy link
Member

grossmj commented May 8, 2024

Awesome, thank you @mweisel

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests