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

macOS arm64 boxen? #256

Open
darkn3rd opened this issue Nov 24, 2022 · 10 comments
Open

macOS arm64 boxen? #256

darkn3rd opened this issue Nov 24, 2022 · 10 comments

Comments

@darkn3rd
Copy link

I was wondering if there is any support for arm64 boxen?

Most of the boxen out there that support arm64 only support Parallels, but recently Virtualbox now has arm64 version: https://download.virtualbox.org/virtualbox/7.0.4/VirtualBox-7.0.4_BETA4-154605-macOSArm64.dmg

@ladar
Copy link
Member

ladar commented Dec 8, 2022

Hi @darkn3rd / @aurynn ... I did a lot of digging on this issue recently. VMWare and VBox only offer ARM support on MacOS (via the release you mentioned, and VMWare Fusion). Parallels also has an arm64 release, and I think it's the only one of the three that isn't labelled experimental.

We do have a MacOS build bot, it's a 2011 Mac mini that is used to build the Parallels boxes but it (of course) has an Intel chip inside it (and a rather old one at that).

So, given the cost of M!/M2 Macs, and the fact that I don't really have any need for MacOS VMs at the moment, it's impossible for me (or Lavabit) to pickup spring for a new Mac mini just so we can build those boxes for other people. I'm afraid arm64 boxes for MacOS only hypervisors will have to wait until someone steps up and donates a machine we can use as a build robot or the cost of second hand M1/M2 Macs by quite a lot.

All of that said, I'm hoping to get my hands on an rackmount arm64 server at some point in early 2023. And the plan is to use that server to start building arm64 box images for libvirt/qemu, as that server will be running Linux.

But, at least in theory, the box images it generates should be compatible with libvirt+qemu on MacOS. Although I believe there are still a lot of edge cases for MacOS in general, and arm64 specifically that need to be improved when it comes the vagrant-libvirt plugin. Hopefully I'll be able to help get that process moving better once the server comes online.

And if VMWare/VBox release arm64 binaries for their hypervisors that run on Linux in the future, I will start building arm64 VBox/VMWare images as well. If you have any news on this, please let me know, but the last time I checked, (which was roughly 3-5 weeks ago) I couldn't find any information on whether that was on the roadmap for VBox or VMWare, so say nothing of a timeline.

Windows runs on arm as well (although licensing agreements still restrict official support to Samsung machines for the moment. Either way, arm64 box images for Hyper-V are in the same basket as arm64 box images for Parallels.

On a personal level, I'd like to see PPC and RISC-V also get added to the robox pipeline, as I'm rooting for open chip designs, but they are probably even further into the future. Unless of course someone from the community steps up with hardware and offers to help port the configs over to those targets.

@aurynn
Copy link

aurynn commented Dec 10, 2022

Hi @ladar, thanks for the update, I totally understand.

Would one of the hosted/cloud macOS-on-arm64 be usable by Robox here? I totally understand if not, it'd be an added ongoing expense that Lavabit probably wouldn't want to commit to.

In the meantime, would you expect the macOS VMWare Fusion boxes to build largely as-is from base images on my M2 machine? Being able to build locally (even if I'm not as familiar with Packer as I'd like) would solve the issues for me in the interim.

Thanks!

@xandradx
Copy link

xandradx commented Dec 15, 2022

Hello ! I built this boxes.

https://app.vagrantup.com/xandradx/

rocky9
alma9
rhel9

for arm64. (vmware_desktop)

Please test if possible. I'm still trying to integrate my changes to keep both x86 and arm64 images, but it's a work in progress.

I modified vmx_data_post, boot_command, ISOs, network_adapter_type, kickstart and vmware.sh (script).

for some reason vagrant won't start the vm in headless mode using the vmrun command.

   config.vm.provider "vmware_desktop" do |vb|
     vb.gui = true
     vb.vmx["ethernet0.virtualDev"] = "e1000e"
   end

@aurynn
Copy link

aurynn commented Mar 26, 2023

Hi @xandradx, did you push your changes to a fork? I'd love to be able to see if I can get Ubuntu building.

@madhavajay
Copy link

@xandradx yes I would also love to see these Packr files and perhaps help to provide image builds for Ubuntu, RHEL and Centos flavours on Arm64.

@aurynn
Copy link

aurynn commented Oct 9, 2023

Looking at the README.md, the architecture flag is coming soon, which presumes that arm64 support is coming soon.

@xandradx
Copy link

xandradx commented Oct 9, 2023

@xandradx yes I would also love to see these Packr files and perhaps help to provide image builds for Ubuntu, RHEL and Centos flavours on Arm64.

Sorry, I missed this reply.

master...xandradx:robox:aarch64

Those are the modified files.

Regards,

@xandradx
Copy link

xandradx commented Oct 9, 2023

Hi @xandradx, did you push your changes to a fork? I'd love to be able to see if I can get Ubuntu building.

Sorry for the late reply, I just did this for a project I was working on. But will be glad to help in any way. Regards

@xandradx
Copy link

xandradx commented Oct 9, 2023

@xandradx yes I would also love to see these Packr files and perhaps help to provide image builds for Ubuntu, RHEL and Centos flavours on Arm64.

I just modified the related files, but didn't integrate it. Need more apdatations, but at least its a PoC.

@darkn3rd
Copy link
Author

darkn3rd commented May 10, 2024

I was able to get arm64 working using the vagrant-qemu plugin. I even wrote a blog on this.

I used the perk/ubuntu-2204-arm64 (ref). The author grabbed the image ubuntu-22.04-server-cloudimg-arm64.img from https://cloud-images.ubuntu.com/ (src)

@ladar

  • I'm unfamiliar with open architectures. Are there any good sources of hardware for PowerPC? RISC-V?
  • I am just starting with Qemu, not much familiar with libvirt. The QEMU flavored boxes are made with libvirt? I was experimenting generic/ubuntu2204 and got this to work with vagrant-qemu using q35 on both Macbook (intel) and Macbook M1. With Intel, I can use hvf acceleration, and of course on the M1, I use pure emulation.
  • QEMU supports native HVF and can work with qemu-system-aarm64 and works well with vagrant-qemu plugin with perk/ubuntu-2204-arm64.

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

No branches or pull requests

5 participants