Documentation
¶
Index ¶
Constants ¶
const DriverDirectory = "/tmp/driver"
DriverDirectory is the directory the processor uses to store the driver.
const ModuleFileName = "module.ko"
ModuleFileName is the standard file name for the kernel module.
const ProbeFileName = "probe.o"
ProbeFileName is the standard file name for the eBPF probe.
Variables ¶
var BuilderByTarget = Targets{}
BuilderByTarget maps targets to their builder.
var ModuleFullPath = path.Join(DriverDirectory, ModuleFileName)
ModuleFullPath is the standard path for the kernel module. Builders must place the compiled module at this location.
var ProbeFullPath = path.Join(DriverDirectory, "bpf", ProbeFileName)
ProbeFullPath is the standard path for the eBPF probe. Builders must place the compiled probe at this location.
Functions ¶
This section is empty.
Types ¶
type Build ¶
type Build struct { TargetType Type KernelConfigData string KernelRelease string KernelVersion uint16 DriverVersion string Architecture string ModuleFilePath string ProbeFilePath string ModuleDriverName string ModuleDeviceName string CustomBuilderImage string KernelUrls []string }
Build contains the info about the on-going build.
func (*Build) KernelReleaseFromBuildConfig ¶ added in v0.9.3
func (b *Build) KernelReleaseFromBuildConfig() kernelrelease.KernelRelease
type Builder ¶
type Builder interface {
Script(c Config, kr kernelrelease.KernelRelease) (string, error)
}
Builder represents a builder capable of generating a script for a driverkit target.
type Config ¶
Config contains all the configurations needed to build the kernel module or the eBPF probe.
type Type ¶
type Type string
Type is a type representing targets.
const TargetTypeAmazonLinux Type = "amazonlinux"
TargetTypeAmazonLinux identifies the AmazonLinux target.
const TargetTypeAmazonLinux2 Type = "amazonlinux2"
TargetTypeAmazonLinux2 identifies the AmazonLinux2 target.
const TargetTypeAmazonLinux2022 Type = "amazonlinux2022"
TargetTypeAmazonLinux2022 identifies the AmazonLinux2022 target.
const TargetTypeArchlinux Type = "archlinux"
TargetTypeArchlinux identifies the Archlinux target.
const TargetTypeCentos Type = "centos"
TargetTypeCentos identifies the Centos target.
const TargetTypeDebian Type = "debian"
TargetTypeDebian identifies the Debian target.
const TargetTypeFlatcar Type = "flatcar"
TargetTypeFlatcar identifies the Flatcar target.
const TargetTypeRedhat Type = "redhat"
TargetTypeRedhat identifies the redhat target.
const TargetTypeRocky Type = "rocky"
TargetTypeRocky identifies the Rocky target.
const TargetTypeUbuntuAWS Type = "ubuntu-aws"
TargetTypeUbuntuAWS identifies the UbuntuAWS target.
const TargetTypeUbuntuGeneric Type = "ubuntu-generic"
TargetTypeUbuntuGeneric identifies the UbuntuGeneric target.
const TargetTypeVanilla Type = "vanilla"
TargetTypeVanilla identifies the Vanilla target.