...

Source file src/github.com/Microsoft/hcsshim/internal/vm/hcs/boot.go

Documentation: github.com/Microsoft/hcsshim/internal/vm/hcs

     1  //go:build windows
     2  
     3  package hcs
     4  
     5  import (
     6  	hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2"
     7  	"github.com/Microsoft/hcsshim/osversion"
     8  	"github.com/pkg/errors"
     9  )
    10  
    11  func (uvmb *utilityVMBuilder) SetUEFIBoot(dir string, path string, args string) error {
    12  	uvmb.doc.VirtualMachine.Chipset.Uefi = &hcsschema.Uefi{
    13  		BootThis: &hcsschema.UefiBootEntry{
    14  			DevicePath:    path,
    15  			DeviceType:    "VmbFs",
    16  			VmbFsRootPath: dir,
    17  			OptionalData:  args,
    18  		},
    19  	}
    20  	return nil
    21  }
    22  
    23  func (uvmb *utilityVMBuilder) SetLinuxKernelDirectBoot(kernel string, initRD string, cmd string) error {
    24  	if osversion.Get().Build < 18286 {
    25  		return errors.New("Linux kernel direct boot requires at least Windows version 18286")
    26  	}
    27  	uvmb.doc.VirtualMachine.Chipset.LinuxKernelDirect = &hcsschema.LinuxKernelDirect{
    28  		KernelFilePath: kernel,
    29  		InitRdPath:     initRD,
    30  		KernelCmdLine:  cmd,
    31  	}
    32  	return nil
    33  }
    34  

View as plain text