SpaceinvaderOne / Macinabox

Unraid docker image to help install MacOS vms
379 stars 72 forks source link

Fix BaseSystem.img boot and change of Big Sur product id #49

Closed 82ghost82 closed 3 years ago

82ghost82 commented 3 years ago

The current OpenCore.img is unable to boot Big Sur 11.4. Moreover, if BaseSystem.dmg is converted to img SecureBootModel different than Disabled causes the vm to bootloop. The new OpenCore raw image of this PR is updated to v. 0.7.0 debug with: VirtualSMC: v. 1.2.4 (debug) stable (included in case the xml is messed, lacking the oskey key) AppleALC: v. 1.6.1 (debug) stable Whatevergreen: v. 1.5.0 (debug) stable Lilu: v. 1.5.3 (debug) stable

DhinakG - cpuid_set_cpufamily - force CPUFAMILY_INTEL_PENRYN patch was added too for big sur 11.3+ (in case the user changes from penryn emulation to intel passthrough).

This is a workaround to boot the converted BaseSystem.img. The correct method to install from BaseSystem is described here: https://forums.unraid.net/topic/84601-support-spaceinvaderone-macinabox/?do=findComment&comment=1010581

Product id for Big Sur 11.4 was updated too.

CanisHelix commented 3 years ago

@82ghost82 Just tried this using the following method

  1. Setup Macinabox in Apps (uncheck Autostart)
  2. wget https://raw.githubusercontent.com/SpaceinvaderOne/Macinabox/2aba67bc2738d3ecc7a156a1a9b897665d6982ff/unraid.sh
  3. docker cp unraid.sh macinabox:/Macinabox/unraid.sh to copy the modified version into the container
  4. wget https://github.com/SpaceinvaderOne/Macinabox/raw/2aba67bc2738d3ecc7a156a1a9b897665d6982ff/bootloader/OpenCore.img.zip
  5. docker cp ./OpenCore.img.zip macinabox:/Macinabox/bootloader/OpenCore.img.zip
  6. Start Docker Container and proceed as normal

So far, this get's passed the bootloop nicely on a clean install. So this PR seems to fix the current issues potentially.

NiklasRichter2222 commented 3 years ago

@82ghost82 Just tried this using the following method

  1. Setup Macinabox in Apps (uncheck Autostart)
  2. wget https://raw.githubusercontent.com/SpaceinvaderOne/Macinabox/2aba67bc2738d3ecc7a156a1a9b897665d6982ff/unraid.sh
  3. docker cp unraid.sh macinabox:/Macinabox/unraid.sh to copy the modified version into the container
  4. wget https://github.com/SpaceinvaderOne/Macinabox/raw/2aba67bc2738d3ecc7a156a1a9b897665d6982ff/bootloader/OpenCore.img.zip
  5. docker cp ./OpenCore.img.zip macinabox:/Macinabox/bootloader/OpenCore.img.zip
  6. Start Docker Container and proceed as normal

So far, this get's passed the bootloop nicely on a clean install. So this PR seems to fix the current issues potentially.

so I tried this and now the youser scripts don't even appear anymore

interbiznw commented 2 years ago

Still getting the boot loops when trying this method? was this merged into the current docker image already??

Not sure why I get the apple logo after hitting enter on boot screen, shows apple for about 3 seconds or so with a little progress, then just reboots and keeps looping

82ghost82 commented 2 years ago

Still getting the boot loops when trying this method? was this merged into the current docker image already??

Not sure why I get the apple logo after hitting enter on boot screen, shows apple for about 3 seconds or so with a little progress, then just reboots and keeps looping

Not sure if the docker image in community application is synced with the code on github. The changes were merged here, follow the instructions above to manually fix it.

jfmennedy commented 2 years ago

it seems not to be updated in ca already. i copied the files manually and it worked for me last week...

NiklasRichter2222 commented 2 years ago

@82ghost82 Just tried this using the following method

  1. Setup Macinabox in Apps (uncheck Autostart)
  2. wget https://raw.githubusercontent.com/SpaceinvaderOne/Macinabox/2aba67bc2738d3ecc7a156a1a9b897665d6982ff/unraid.sh
  3. docker cp unraid.sh macinabox:/Macinabox/unraid.sh to copy the modified version into the container
  4. wget https://github.com/SpaceinvaderOne/Macinabox/raw/2aba67bc2738d3ecc7a156a1a9b897665d6982ff/bootloader/OpenCore.img.zip
  5. docker cp ./OpenCore.img.zip macinabox:/Macinabox/bootloader/OpenCore.img.zip
  6. Start Docker Container and proceed as normal

So far, this gets past the boot loop nicely on a clean install. So this PR seems to fix the current issues potentially.

so I tried this and now the user scripts don't even appear anymore

now they did but the notifier script doesn't finish ever

82ghost82 commented 2 years ago

Sorry, but this isn't a support forum. If you have issues with this, be free to post questions in forums, if you have logs proving bugs in macinabox, feel free to open new issues. This pr was merged to fix the described issues and was tested before being posted.

rossingram commented 2 years ago

Thanks for all your work @82ghost82 and @SpaceinvaderOne! I've been playing around and this fix worked for me. Here are the steps I took to get it working:

  1. Start fresh by deleting macinabox related files in /appdata/, /domains/, /isos/, and /system/
  2. Setup Macinabox in Apps (ok to autostart).
  3. Once started, wait for user scripts to install and then stop Macinabox docker.
  4. Open unraid terminal
  5. wget https://raw.githubusercontent.com/SpaceinvaderOne/Macinabox/2aba67bc2738d3ecc7a156a1a9b897665d6982ff/unraid.sh
  6. docker cp unraid.sh macinabox:/Macinabox/unraid.sh to copy the modified version into the container
  7. wget https://github.com/SpaceinvaderOne/Macinabox/raw/2aba67bc2738d3ecc7a156a1a9b897665d6982ff/bootloader/OpenCore.img.zip
  8. docker cp ./OpenCore.img.zip macinabox:/Macinabox/bootloader/OpenCore.img.zip
  9. Start the macinabox docker
  10. Go back to terminal: docker exec -it macinabox bash
  11. Now you're in the docker... cd /Macinabox and then chmod +x unraid.sh
  12. Note: Remember to delete old version of Catalina-opencore.img in /isos/ (or wherever you put your img file) then run ./unraid.sh (you should see confirmation that opencore was created)
  13. Go back to user scripts and run the vmready_notify and then helper script and verify that the VM was created and catalina-install.img downloaded.
  14. Edit the helper script with details for NAME="Macinabox Catalina" (or whatever your VM name is) and verify that FIRSTINSTALL="yes" and REMOVETOPOLOGY="yes" and save.
  15. Edit your VM and set proper CPU & memory (I set as 8 cpu and 16gb ram). And verify Network Model: virtio-net and save.
  16. Run the helper script again.
  17. Start the VM.
NiklasRichter2222 commented 2 years ago

Thanks for all your work @82ghost82 and @SpaceinvaderOne! I've been playing around and this fix worked for me. Here are the steps I took to get it working:

  1. Start fresh by deleting macinabox related files in /appdata/, /domains/, /isos/, and /system/
  2. Setup Macinabox in Apps (ok to autostart).
  3. Once started, wait for user scripts to install and then stop Macinabox docker.
  4. Open unraid terminal
  5. wget https://raw.githubusercontent.com/SpaceinvaderOne/Macinabox/2aba67bc2738d3ecc7a156a1a9b897665d6982ff/unraid.sh
  6. docker cp unraid.sh macinabox:/Macinabox/unraid.sh to copy the modified version into the container
  7. wget https://github.com/SpaceinvaderOne/Macinabox/raw/2aba67bc2738d3ecc7a156a1a9b897665d6982ff/bootloader/OpenCore.img.zip
  8. docker cp ./OpenCore.img.zip macinabox:/Macinabox/bootloader/OpenCore.img.zip
  9. Start the macinabox docker
  10. Go back to terminal: docker exec -it macinabox bash
  11. Now you're in the docker... cd /Macinabox and then chmod +x unraid.sh
  12. Note: Remember to delete old version of Catalina-opencore.img in /isos/ (or wherever you put your img file) then run ./unraid.sh (you should see confirmation that opencore was created)
  13. Go back to user scripts and run the vmready_notify and then helper script and verify that the VM was created and catalina-install.img downloaded.
  14. Edit the helper script with details for NAME="Macinabox Catalina" (or whatever your VM name is) and verify that FIRSTINSTALL="yes" and REMOVETOPOLOGY="yes" and save.
  15. Edit your VM and set proper CPU & memory (I set as 8 cpu and 16gb ram). And verify Network Model: virtio-net and save.
  16. Run the helper script again.
  17. Start the VM.

thanks so much now it finally worked for me too I had so many issues before but your method worked on the first try