ninxsoft / mist-cli

A Mac command-line tool that automatically downloads macOS Firmwares / Installers.
MIT License
620 stars 29 forks source link

When downloading macOS installers, convert .ipsw to .dmg #68

Closed tempusthales closed 2 years ago

tempusthales commented 2 years ago

Currently Mist downloads an ipsw file. It would be nice it did the conversion to a .dmg automatically

PicoMitchell commented 2 years ago

I'm curious what scenario you would want an IPSW to be within a DMG for?

ninxsoft commented 2 years ago

Ditto, @tempusthales what is your use case for wrapping the IPSW inside a DMG?

tempusthales commented 2 years ago

I don't want to wrap the .IPSW into a DMG, I want to convert the .ipsw into a dmg, so it can be more programatically friendly to get it deployed on the endpoint.

I'm assuming this is possible, since there are other tools like installinstallmacos.py that do it.

PicoMitchell commented 2 years ago

IPSWs cannot be converted to DMGs (they are actually just ZIP files). IPSWs are also never deployed to an endpoint directly for installation. They are used in Apple Configurator 2 on a Mac (the host) to install macOS onto another Apple Silicon Mac that is in DFU Mode and connected to the host Mac with a USB cable: https://support.apple.com/en-il/guide/apple-configurator-mac/apdd5f3c75ad/mac

I think you're thinking of working with macOS Installer Apps (not IPSWs) since installinstallmacos.py doesn't download or handle IPSWs at all.

When downloading macOS Installer Apps with mist, you can wrap the app in a dmg using the --image option (which is what installinstallmacos.py does).

brianhm commented 2 years ago

Am I understanding then that a full installer cannot be downloaded for Apple Silicon Macs through Mist? I'm not 100% clear on this from the docs or help. I can use softwareupdate --fetchfullinstaller to download the full installer on an M1 Mac. Is this not equivalent here?

PicoMitchell commented 2 years ago

The full installer apps for Big Sur and newer downloaded through mist are Universal apps that are fully compatible with Intel and Apple Silicon.

The installer app that you get through softwareupdate --fetchfullinstaller is identical to what mist (or installinstallmacos.py) downloads. They are all coming from the same Apple source.

The option names used in mist were previously a bit unclear (https://github.com/ninxsoft/Mist/issues/54), but that has since been changed.

IPSWs are not equivalent to installer apps for Apple Silicon. They are a new way to fully restore an Apple Silicon Mac using another Mac, like you can do with an iOS device.

brianhm commented 2 years ago

Thanks for clarifying. The homepage of the Github that has all of the examples should be updated then, as it seems to indicate that the installers downloaded via Mist are Intel only.

PicoMitchell commented 2 years ago

That is true. Many of the comments for example commands do say "for Intel Macs" for downloads that are Universal. Also the Features list separates things by "For Intel based Macs:" and "For Apple Silicon Macs:" when it should indicate that the apps are Universal for Big Sur and newer.

ninxsoft commented 2 years ago

100% agree, I can circle back and make the README + mist --help descriptions more obvious!