cirruslabs / tart

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

/Volumes/My Shared Files: No such file or directory #687

Closed xavierLowmiller closed 8 months ago

xavierLowmiller commented 9 months ago

I've tried updating our host and guest macOS systems to Sonoma 14.2 today. After doing the updates, I noticed that the guest no longer has the /Volumes/My Shared Files mounted.

I'm using tart version 2.4.2 installed via Homebrew, in conjunction with Tartelet, but also when I try to run the VM manually using tart run --dir=Resources:~/Resources my-vm, I don't get an error, but the aforementioned mount simply isn't there in the guest OS.

Do you have any pointers where I can learn more about why the mounted folder might not be there?

edigaryev commented 9 months ago

I can confirm that the directory mounting stopped working on macOS Sonoma 14.2 guests (running macOS Sonoma 14.2 host with Tart 2.4.2), even through we use the macOSGuestAutomountTag to mount directories.

Mounting the labeled directories with mount_virtiofs <label> /Volumes/... fails too.

This also seems to affect UTM users: https://github.com/utmapp/UTM/issues/5875#issuecomment-1853167640.

simonbs commented 9 months ago

I'm seeing the same issue. Updating the guest macOS to Sonoma 14.2 causes directories not to be mounted.

edigaryev commented 9 months ago

I've just checked once more, and I was wrong about the not being able to mount volumes manually, it's still possible with:

mount_virtiofs com.apple.virtio-fs.automount <PATH>
nodeOfCode commented 9 months ago

I've just checked once more, and I was wrong about the not being able to mount volumes manually, it's still possible with:

mount_virtiofs com.apple.virtio-fs.automount <PATH>

Thanks for this. Confirmed working in MacOS 14.2. Also thought it wouldn't work, but I see the command has changed slightly since the last time it was spitting out errors.

edigaryev commented 9 months ago

For anyone looking for a persistent workaround, here's a launchd-based approach:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>org.cirruslabs.virtiofs-automount</string>
    <key>ProgramArguments</key>
    <array>
        <string>/bin/zsh</string>
        <string>-c</string>
        <string>mkdir "/Volumes/My Shared Files" || true ; mount_virtiofs com.apple.virtio-fs.automount "/Volumes/My Shared Files" || true</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

Save this in the /Library/LaunchDaemons/org.cirruslabs.virtiofs-automount.plist file, and after next reboot you'll get the /Volumes/My Shared Files appear automatically.

simonbs commented 9 months ago

@edigaryev Thanks for supplying the workaround. It's my understanding that this is regression in macOS 14.2 and not an issue in Tart specifically. Is that correct?

Even if this is a regression in macOS 14.2, is there any plans to incorporate a workaround into Tart, so that we can keep using Tart as previously?

edigaryev commented 9 months ago

It's my understanding that this is regression in macOS 14.2 and not an issue in Tart specifically. Is that correct?

Correct.

Even if this is a regression in macOS 14.2, is there any plans to incorporate a workaround into Tart, so that we can keep using Tart as previously?

Since this is not a Tart issue, we may incorporate the fix above into our VM images on the next version bump, but hopefully the Apple will fix this in >14.2 and this work-around won't be needed at all 🤞

xavierLowmiller commented 9 months ago

I've just checked using the newly released macOS 14.2.1, but unfortunately the issue still seems to be around.

edigaryev commented 9 months ago

I've just checked using the newly released macOS 14.2.1, but unfortunately the issue still seems to be around.

Indeed! But I've also just checked, and this was fixed in macOS 14.3 which is expected to be released in January, 2024.

xavierLowmiller commented 8 months ago

Closing this one as macOS 14.3 has been released, which fixes the issue 👍

kokoskiwi commented 8 months ago

Closing this one as macOS 14.3 has been released, which fixes the issue 👍

it didnt fix the issue for me. please help me @xavierLowmiller @edigaryev https://github.com/utmapp/UTM/issues/6078