cirruslabs / tart

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

Default macOS install size too small #934

Closed 1stqualifier closed 3 weeks ago

1stqualifier commented 3 weeks ago

The 50 gig that the macOS install default to (for the from ipsw option) is not big enough anymore as the OS itself takes up a lot of space (around 20 gig) and when updating it asks for 25 of free space to process (based on upgrading to 15.1), which obviously can't happen, even if you don't have much installed. Can you increase the default size to something that wouldn't cause issues in the long run, e.g. 80?

fkorotkov commented 3 weeks ago

Hey @1stqualifier,

You can specify disk size with --disk-size argument when you invoke tart create.

1stqualifier commented 3 weeks ago

Hey @1stqualifier,

You can specify disk size with --disk-size argument when you invoke tart create.

--disk-size doesn't seem to work with --from-ipsw https://github.com/cirruslabs/tart/issues/929#issuecomment-2455095752

Or perhaps we're doing something wrong, in which case it would be good to hear your guidance on how to use it correctly. Thanks.

edigaryev commented 3 weeks ago

--disk-size doesn't seem to work with --from-ipsw

It does work for me on Tart 2.19.3.

The code is also pretty straightforward in this regard. First, we create a disk and resize it:

https://github.com/cirruslabs/tart/blob/7c1ed4640f5478785cf0927254dc8e8e829ee1dd/Sources/tart/VM.swift#L176-L177

...and only then we start the installation.

You can also verify this by checking the disk.img size in an UUID directory in ~/.tart/tmp while the tart create is running.

1stqualifier commented 3 weeks ago

--disk-size doesn't seem to work with --from-ipsw

It does work for me on Tart 2.19.3.

Well it does work for me now too. And I tried exact same command as yesterday, when it failed in the same fashion as what's described here https://github.com/cirruslabs/tart/issues/929

Not sure how to explain it, but at least it works...