Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion cmd/start.go
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,7 @@ var startCmdArgs struct {
Edit bool
Editor string
ActivateRuntime bool
Binfmt bool
DNSHosts []string
Foreground bool
SaveConfig bool
Expand Down Expand Up @@ -200,7 +201,7 @@ func init() {
}

// binfmt
startCmd.Flags().BoolVar(&startCmdArgs.Binfmt, "binfmt", true, binfmtDesc)
startCmd.Flags().BoolVar(&startCmdArgs.Flags.Binfmt, "binfmt", true, binfmtDesc)

// config
startCmd.Flags().BoolVarP(&startCmdArgs.Flags.Edit, "edit", "e", false, "edit the configuration file before starting")
Expand Down Expand Up @@ -397,6 +398,7 @@ func prepareConfig(cmd *cobra.Command) {
startCmdArgs.Mounts = mountsFromFlag(startCmdArgs.Flags.Mounts)
startCmdArgs.Network.DNSHosts = dnsHostsFromFlag(startCmdArgs.Flags.DNSHosts)
startCmdArgs.ActivateRuntime = &startCmdArgs.Flags.ActivateRuntime
startCmdArgs.Binfmt = &startCmdArgs.Flags.Binfmt

// handle legacy kubernetes-disable
for _, disable := range startCmdArgs.Flags.LegacyKubernetesDisable {
Expand Down Expand Up @@ -489,6 +491,11 @@ func prepareConfig(cmd *cobra.Command) {
startCmdArgs.ActivateRuntime = current.ActivateRuntime
}
}
if !cmd.Flag("binfmt").Changed {
if current.Binfmt != nil {
startCmdArgs.Binfmt = current.Binfmt
}
}
if !cmd.Flag("network-host-addresses").Changed {
startCmdArgs.Network.HostAddresses = current.Network.HostAddresses
}
Expand Down
2 changes: 1 addition & 1 deletion config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ type Config struct {
// VM
VMType string `yaml:"vmType,omitempty"`
VZRosetta bool `yaml:"rosetta,omitempty"`
Binfmt bool `yaml:"binfmt,omitempty"`
Binfmt *bool `yaml:"binfmt,omitempty"`
NestedVirtualization bool `yaml:"nestedVirtualization,omitempty"`
DiskImage string `yaml:"diskImage,omitempty"`

Expand Down
2 changes: 1 addition & 1 deletion environment/vm/lima/lima.go
Original file line number Diff line number Diff line change
Expand Up @@ -381,7 +381,7 @@ func (l *limaVM) addPostStartActions(a *cli.ActiveCommandChain, conf config.Conf
a.Add(func() error {
if !l.limaConf.Rosetta.Enabled {
// use binfmt when rosetta is disabled and emulation is disabled i.e. host arch
if l.conf.Binfmt {
if conf.Binfmt != nil && *conf.Binfmt {
if arch := environment.HostArch(); arch == environment.Arch(conf.Arch).Value() {
if err := core.SetupBinfmt(l.host, l, environment.Arch(conf.Arch)); err != nil {
logrus.Warn(fmt.Errorf("unable to enable qemu %s emulation: %w", arch, err))
Expand Down