Skip to content

Commit 6fa9145

Browse files
authored
Merge pull request #2489 from norio-nomura/set-rosetta-abstract-socket-caching-option
vz: configure Rosetta’s ahead of time (AOT) caching options using an abstract socket
2 parents 980869d + 8df844e commit 6fa9145

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

pkg/vz/rosetta_directory_share_arm64.go

+13
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import (
66
"fmt"
77

88
"github.com/Code-Hex/vz/v3"
9+
"github.com/coreos/go-semver/semver"
10+
"github.com/lima-vm/lima/pkg/osutil"
911
"github.com/sirupsen/logrus"
1012
)
1113

@@ -33,6 +35,17 @@ func createRosettaDirectoryShareConfiguration() (*vz.VirtioFileSystemDeviceConfi
3335
if err != nil {
3436
return nil, fmt.Errorf("failed to create a new rosetta directory share: %w", err)
3537
}
38+
macOSProductVersion, err := osutil.ProductVersion()
39+
if err != nil {
40+
return nil, fmt.Errorf("failed to get macOS product version: %w", err)
41+
}
42+
if !macOSProductVersion.LessThan(*semver.New("14.0.0")) {
43+
cachingOption, err := vz.NewLinuxRosettaAbstractSocketCachingOptions("rosetta")
44+
if err != nil {
45+
return nil, fmt.Errorf("failed to create a new rosetta directory share caching option: %w", err)
46+
}
47+
rosettaShare.SetOptions(cachingOption)
48+
}
3649
config.SetDirectoryShare(rosettaShare)
3750

3851
return config, nil

0 commit comments

Comments
 (0)