mirror of
https://github.com/containers/podman.git
synced 2025-12-01 10:38:05 +08:00
update vfkit vendored code
upstream reversed width and height and now we get an unusable gui [NO NEW TESTS NEEDED] Signed-off-by: Brent Baude <bbaude@redhat.com>
This commit is contained in:
2
go.mod
2
go.mod
@@ -23,7 +23,7 @@ require (
|
|||||||
github.com/containers/storage v1.50.2
|
github.com/containers/storage v1.50.2
|
||||||
github.com/coreos/go-systemd/v22 v22.5.0
|
github.com/coreos/go-systemd/v22 v22.5.0
|
||||||
github.com/coreos/stream-metadata-go v0.4.3
|
github.com/coreos/stream-metadata-go v0.4.3
|
||||||
github.com/crc-org/vfkit v0.1.1
|
github.com/crc-org/vfkit v0.1.2-0.20230829083117-09e62065eb6e
|
||||||
github.com/cyphar/filepath-securejoin v0.2.4
|
github.com/cyphar/filepath-securejoin v0.2.4
|
||||||
github.com/digitalocean/go-qemu v0.0.0-20230711162256-2e3d0186973e
|
github.com/digitalocean/go-qemu v0.0.0-20230711162256-2e3d0186973e
|
||||||
github.com/docker/distribution v2.8.2+incompatible
|
github.com/docker/distribution v2.8.2+incompatible
|
||||||
|
|||||||
4
go.sum
4
go.sum
@@ -299,8 +299,8 @@ github.com/coreos/stream-metadata-go v0.4.3/go.mod h1:fMObQqQm8Ku91G04btKzEH3Asd
|
|||||||
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
||||||
github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
||||||
github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
||||||
github.com/crc-org/vfkit v0.1.1 h1:F0QXj9ik1mhVq2R8FmWFhQH8SuFGYP5Xu2KF7cTvALs=
|
github.com/crc-org/vfkit v0.1.2-0.20230829083117-09e62065eb6e h1:UlIzed038y+BSh8GTg3yuL1i8309mrs3Gth9s26AdT8=
|
||||||
github.com/crc-org/vfkit v0.1.1/go.mod h1:vjZiHDacUi0iLosvwyLvqJvJXQhByzlLQbMkdIfCQWk=
|
github.com/crc-org/vfkit v0.1.2-0.20230829083117-09e62065eb6e/go.mod h1:RJbirUrdvb3qyOxjySBeOfuc9wgbJrZxJP2eNcxDWGs=
|
||||||
github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
|
github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
|
||||||
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
||||||
github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY=
|
github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY=
|
||||||
|
|||||||
@@ -56,7 +56,9 @@ func getIgnitionVsockDevice(path string) (vfConfig.VirtioDevice, error) {
|
|||||||
|
|
||||||
func VirtIOFsToVFKitVirtIODevice(fs machine.VirtIoFs) vfConfig.VirtioFs {
|
func VirtIOFsToVFKitVirtIODevice(fs machine.VirtIoFs) vfConfig.VirtioFs {
|
||||||
return vfConfig.VirtioFs{
|
return vfConfig.VirtioFs{
|
||||||
SharedDir: fs.Source,
|
DirectorySharingConfig: vfConfig.DirectorySharingConfig{
|
||||||
MountTag: fs.Tag,
|
MountTag: fs.Tag,
|
||||||
|
},
|
||||||
|
SharedDir: fs.Source,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
16
vendor/github.com/crc-org/vfkit/pkg/config/json.go
generated
vendored
16
vendor/github.com/crc-org/vfkit/pkg/config/json.go
generated
vendored
@@ -25,6 +25,7 @@ const (
|
|||||||
vfGpu vmComponentKind = "virtiogpu"
|
vfGpu vmComponentKind = "virtiogpu"
|
||||||
vfInput vmComponentKind = "virtioinput"
|
vfInput vmComponentKind = "virtioinput"
|
||||||
usbMassStorage vmComponentKind = "usbmassstorage"
|
usbMassStorage vmComponentKind = "usbmassstorage"
|
||||||
|
rosetta vmComponentKind = "rosetta"
|
||||||
)
|
)
|
||||||
|
|
||||||
type jsonKind struct {
|
type jsonKind struct {
|
||||||
@@ -112,6 +113,10 @@ func unmarshalDevice(rawMsg json.RawMessage) (VirtioDevice, error) {
|
|||||||
var newDevice VirtioFs
|
var newDevice VirtioFs
|
||||||
err = json.Unmarshal(rawMsg, &newDevice)
|
err = json.Unmarshal(rawMsg, &newDevice)
|
||||||
dev = &newDevice
|
dev = &newDevice
|
||||||
|
case rosetta:
|
||||||
|
var newDevice RosettaShare
|
||||||
|
err = json.Unmarshal(rawMsg, &newDevice)
|
||||||
|
dev = &newDevice
|
||||||
case vfRng:
|
case vfRng:
|
||||||
var newDevice VirtioRng
|
var newDevice VirtioRng
|
||||||
err = json.Unmarshal(rawMsg, &newDevice)
|
err = json.Unmarshal(rawMsg, &newDevice)
|
||||||
@@ -253,6 +258,17 @@ func (dev *VirtioFs) MarshalJSON() ([]byte, error) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (dev *RosettaShare) MarshalJSON() ([]byte, error) {
|
||||||
|
type devWithKind struct {
|
||||||
|
jsonKind
|
||||||
|
RosettaShare
|
||||||
|
}
|
||||||
|
return json.Marshal(devWithKind{
|
||||||
|
jsonKind: kind(rosetta),
|
||||||
|
RosettaShare: *dev,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
func (dev *VirtioRng) MarshalJSON() ([]byte, error) {
|
func (dev *VirtioRng) MarshalJSON() ([]byte, error) {
|
||||||
type devWithKind struct {
|
type devWithKind struct {
|
||||||
jsonKind
|
jsonKind
|
||||||
|
|||||||
72
vendor/github.com/crc-org/vfkit/pkg/config/virtio.go
generated
vendored
72
vendor/github.com/crc-org/vfkit/pkg/config/virtio.go
generated
vendored
@@ -17,12 +17,12 @@ const (
|
|||||||
VirtioInputKeyboardDevice = "keyboard"
|
VirtioInputKeyboardDevice = "keyboard"
|
||||||
|
|
||||||
// Options for VirtioGPUResolution
|
// Options for VirtioGPUResolution
|
||||||
VirtioGPUResolutionHeight = "height"
|
|
||||||
VirtioGPUResolutionWidth = "width"
|
VirtioGPUResolutionWidth = "width"
|
||||||
|
VirtioGPUResolutionHeight = "height"
|
||||||
|
|
||||||
// Default VirtioGPU Resolution
|
// Default VirtioGPU Resolution
|
||||||
defaultVirtioGPUResolutionHeight = 800
|
defaultVirtioGPUResolutionWidth = 800
|
||||||
defaultVirtioGPUResolutionWidth = 600
|
defaultVirtioGPUResolutionHeight = 600
|
||||||
)
|
)
|
||||||
|
|
||||||
// VirtioInput configures an input device, such as a keyboard or pointing device
|
// VirtioInput configures an input device, such as a keyboard or pointing device
|
||||||
@@ -32,8 +32,8 @@ type VirtioInput struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type VirtioGPUResolution struct {
|
type VirtioGPUResolution struct {
|
||||||
Height int `json:"height"`
|
|
||||||
Width int `json:"width"`
|
Width int `json:"width"`
|
||||||
|
Height int `json:"height"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// VirtioGPU configures a GPU device, such as the host computer's display
|
// VirtioGPU configures a GPU device, such as the host computer's display
|
||||||
@@ -61,10 +61,20 @@ type VirtioBlk struct {
|
|||||||
DeviceIdentifier string
|
DeviceIdentifier string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type DirectorySharingConfig struct {
|
||||||
|
MountTag string
|
||||||
|
}
|
||||||
|
|
||||||
// VirtioFs configures directory sharing between the guest and the host.
|
// VirtioFs configures directory sharing between the guest and the host.
|
||||||
type VirtioFs struct {
|
type VirtioFs struct {
|
||||||
|
DirectorySharingConfig
|
||||||
SharedDir string
|
SharedDir string
|
||||||
MountTag string
|
}
|
||||||
|
|
||||||
|
// RosettaShare configures rosetta support in the guest to run Intel binaries on Apple CPUs
|
||||||
|
type RosettaShare struct {
|
||||||
|
DirectorySharingConfig
|
||||||
|
InstallRosetta bool
|
||||||
}
|
}
|
||||||
|
|
||||||
// virtioRng configures a random number generator (RNG) device.
|
// virtioRng configures a random number generator (RNG) device.
|
||||||
@@ -131,6 +141,8 @@ func deviceFromCmdLine(deviceOpts string) (VirtioDevice, error) {
|
|||||||
}
|
}
|
||||||
var dev VirtioDevice
|
var dev VirtioDevice
|
||||||
switch opts[0] {
|
switch opts[0] {
|
||||||
|
case "rosetta":
|
||||||
|
dev = &RosettaShare{}
|
||||||
case "virtio-blk":
|
case "virtio-blk":
|
||||||
dev = virtioBlkNewEmpty()
|
dev = virtioBlkNewEmpty()
|
||||||
case "virtio-fs":
|
case "virtio-fs":
|
||||||
@@ -268,15 +280,15 @@ func VirtioGPUNew() (VirtioDevice, error) {
|
|||||||
return &VirtioGPU{
|
return &VirtioGPU{
|
||||||
UsesGUI: false,
|
UsesGUI: false,
|
||||||
VirtioGPUResolution: VirtioGPUResolution{
|
VirtioGPUResolution: VirtioGPUResolution{
|
||||||
Height: defaultVirtioGPUResolutionHeight,
|
|
||||||
Width: defaultVirtioGPUResolutionWidth,
|
Width: defaultVirtioGPUResolutionWidth,
|
||||||
|
Height: defaultVirtioGPUResolutionHeight,
|
||||||
},
|
},
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (dev *VirtioGPU) validate() error {
|
func (dev *VirtioGPU) validate() error {
|
||||||
if dev.Height < 1 || dev.Width < 1 {
|
if dev.Height < 1 || dev.Width < 1 {
|
||||||
return fmt.Errorf("Invalid dimensions for virtio-gpu device resolution: %dx%d", dev.Height, dev.Width)
|
return fmt.Errorf("Invalid dimensions for virtio-gpu device resolution: %dx%d", dev.Width, dev.Height)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
@@ -287,7 +299,7 @@ func (dev *VirtioGPU) ToCmdLine() ([]string, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return []string{"--device", fmt.Sprintf("virtio-gpu,height=%d,width=%d", dev.Height, dev.Width)}, nil
|
return []string{"--device", fmt.Sprintf("virtio-gpu,width=%d,height=%d", dev.Width, dev.Height)}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (dev *VirtioGPU) FromOptions(options []option) error {
|
func (dev *VirtioGPU) FromOptions(options []option) error {
|
||||||
@@ -545,8 +557,10 @@ func (dev *VirtioVsock) FromOptions(options []option) error {
|
|||||||
// mounted in the VM using `mount -t virtiofs mountTag /some/dir`
|
// mounted in the VM using `mount -t virtiofs mountTag /some/dir`
|
||||||
func VirtioFsNew(sharedDir string, mountTag string) (VirtioDevice, error) {
|
func VirtioFsNew(sharedDir string, mountTag string) (VirtioDevice, error) {
|
||||||
return &VirtioFs{
|
return &VirtioFs{
|
||||||
SharedDir: sharedDir,
|
DirectorySharingConfig: DirectorySharingConfig{
|
||||||
MountTag: mountTag,
|
MountTag: mountTag,
|
||||||
|
},
|
||||||
|
SharedDir: sharedDir,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -575,6 +589,46 @@ func (dev *VirtioFs) FromOptions(options []option) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// RosettaShare creates a new rosetta share for running x86_64 binaries on M1 machines.
|
||||||
|
// It will share a directory containing the linux rosetta binaries with the
|
||||||
|
// virtual machine. This directory can be mounted in the VM using `mount -t
|
||||||
|
// virtiofs mountTag /some/dir`
|
||||||
|
func RosettaShareNew(mountTag string) (VirtioDevice, error) {
|
||||||
|
return &RosettaShare{
|
||||||
|
DirectorySharingConfig: DirectorySharingConfig{
|
||||||
|
MountTag: mountTag,
|
||||||
|
},
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (dev *RosettaShare) ToCmdLine() ([]string, error) {
|
||||||
|
if dev.MountTag == "" {
|
||||||
|
return nil, fmt.Errorf("rosetta shares require a mount tag to be specified")
|
||||||
|
}
|
||||||
|
builder := strings.Builder{}
|
||||||
|
builder.WriteString("rosetta")
|
||||||
|
fmt.Fprintf(&builder, ",mountTag=%s", dev.MountTag)
|
||||||
|
if dev.InstallRosetta {
|
||||||
|
builder.WriteString(",install")
|
||||||
|
}
|
||||||
|
|
||||||
|
return []string{"--device", builder.String()}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (dev *RosettaShare) FromOptions(options []option) error {
|
||||||
|
for _, option := range options {
|
||||||
|
switch option.key {
|
||||||
|
case "mountTag":
|
||||||
|
dev.MountTag = option.value
|
||||||
|
case "install":
|
||||||
|
dev.InstallRosetta = true
|
||||||
|
default:
|
||||||
|
return fmt.Errorf("Unknown option for rosetta share: %s", option.key)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
type USBMassStorage struct {
|
type USBMassStorage struct {
|
||||||
StorageConfig
|
StorageConfig
|
||||||
}
|
}
|
||||||
|
|||||||
2
vendor/modules.txt
vendored
2
vendor/modules.txt
vendored
@@ -409,7 +409,7 @@ github.com/coreos/stream-metadata-go/release
|
|||||||
github.com/coreos/stream-metadata-go/release/rhcos
|
github.com/coreos/stream-metadata-go/release/rhcos
|
||||||
github.com/coreos/stream-metadata-go/stream
|
github.com/coreos/stream-metadata-go/stream
|
||||||
github.com/coreos/stream-metadata-go/stream/rhcos
|
github.com/coreos/stream-metadata-go/stream/rhcos
|
||||||
# github.com/crc-org/vfkit v0.1.1
|
# github.com/crc-org/vfkit v0.1.2-0.20230829083117-09e62065eb6e
|
||||||
## explicit; go 1.18
|
## explicit; go 1.18
|
||||||
github.com/crc-org/vfkit/pkg/cmdline
|
github.com/crc-org/vfkit/pkg/cmdline
|
||||||
github.com/crc-org/vfkit/pkg/config
|
github.com/crc-org/vfkit/pkg/config
|
||||||
|
|||||||
Reference in New Issue
Block a user