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

Linux support #152

Merged
merged 3 commits into from
Mar 6, 2023
Merged

Linux support #152

merged 3 commits into from
Mar 6, 2023

Conversation

franklefebvre
Copy link
Contributor

This update allows to install and boot from some ARM-based Linux distributions (tested successfully with many versions of Ubuntu -- couldn't make it work with CentOS so far.)

The option is visible only when available (macOS 13+)

To install a Linux system:

  • choose the first install method ("Open custom IPSW or ISO file from local storage)
  • select .iso file and configure the VM
  • start the VM with the "Boot on install drive" option enabled
  • proceed with Linux installation
  • when Linux is installed, close the VM and restart it (the "Boot on install drive" option should be off)
  • enjoy!

Some classes/structs need to be renamed (VBMacConfiguration etc). I chose to keep them unmodified for now in order not to add too much noise to this MR.

@insidegui
Copy link
Owner

Thanks a lot @franklefebvre for contributing this.

I'll take a moment during this week to review it and do some QA.

@insidegui
Copy link
Owner

I don't see any major issues with the changes made in the PR, only minor tweaks we can do over time.

However, I'm having trouble testing this. I'm getting an immediate shutdown of the Linux VM with "EFI Boot Options returned. Exiting VM" briefly shown on the display. Perhaps I got the wrong ISO? The one I tried was ubuntu-22.04.2-desktop-amd64.iso.

Future improvements (that I plan on doing myself, but wouldn't mind someone else PR'ing first :P)

  • I think the install wizard would be easier to use if the first option was to pick between "macOS" and "Other", then each OS choice would lead to a different picker
  • Related to the above, we could probably host a repository for other OSes like we do for macOS
  • Since installation works differently for Linux, where the VM is booted from the install image, the VM could be automatically started at the end of the initial setup, with the appropriate option already selected
  • The configuration UI should hide/disable options that are not available for the given guest OS (such as display PPI and trackpad device)

@franklefebvre
Copy link
Contributor Author

franklefebvre commented Mar 5, 2023

Thank you @insidegui for reviewing my PR.

ubuntu-22.04.2-desktop-amd64.iso is an installer for AMD/Intel architecture. Usually ARM installers have either arm64 or aarch64 in their names.
Currently there is no "stable" version of Ubuntu Desktop for ARM, but you can download a daily build from this page: https://cdimage.ubuntu.com/focal/daily-live/current/ (choose the 64-bit ARM image at the top)

@insidegui
Copy link
Owner

Duh, I totally missed that distinction 🤦‍♂️ Will try it out again with that one 😄

@insidegui
Copy link
Owner

This is good to go for now, and I'm already working on some of the improvements I mentioned :)

@insidegui insidegui merged commit ab023c5 into insidegui:main Mar 6, 2023
@insidegui
Copy link
Owner

Oh and thanks again @franklefebvre for this fantastic contribution 🥳

@insidegui insidegui mentioned this pull request Mar 6, 2023
3 tasks
@jgresham
Copy link

jgresham commented Oct 16, 2023

Tested Fedora 38 workstation arm on my macbook m1 and it works well. Thanks for adding Linux! @franklefebvre @insidegui

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

Successfully merging this pull request may close these issues.

3 participants