cirruslabs / tart

macOS and Linux VMs on Apple Silicon to use in CI and other automations
https://tart.run
Other
3.65k stars 102 forks source link

[linux] Boot into UEFI shell #286

Open cattyhouse opened 1 year ago

cattyhouse commented 1 year ago

thanks for the great project, i installed archlinux arm with no problem, however

  1. can't change boot order after installation, it always boot into HD instead of ISO with tart run name --disk /path/to/iso
  2. could not find a way to boot into UEFI SHELL, if there is any?

any suggestion? thank you!

edigaryev commented 1 year ago

Hello Justin!

Unfortunately, neither of the things you've listed seems to be feasible at the moment with the Virtualization.Framework because the VZEFIVariableStore gets created only on tart create.

This UEFI variable store gets later populated at the OS installation step and makes the VM boot into that installed OS every time, ignoring the storage devices order.

And if we were to add a way to re-create the VZEFIVariableStore after the installation is done, there would be no easy way to revert back and boot the installed OS.

cattyhouse commented 1 year ago

Hi Nikolay, thanks for the info, the idea of booting to ISO after installation is that, once there is any booting issue, it is possible to use the ISO to fix the HD installation.

cattyhouse commented 1 month ago

is it possible now? @edigaryev

edigaryev commented 1 month ago

I don't think it's possible at the moment.

The https://github.com/cirruslabs/tart/issues/286#issuecomment-1299598271 still stands, and as for the booting into the UEFI shell, we're using VZEFIBootLoader and it doesn't have any options.

You might try modifying the UEFI variables from within the guest, though.