Blame internal/osbuild2/dracut_stage.go

Packit Service 15f37d
package osbuild2
Packit Service 15f37d
Packit Service 15f37d
type DracutStageOptions struct {
Packit Service 15f37d
	// List of target kernel versions
Packit Service 15f37d
	Kernel []string `json:"kernel"`
Packit Service 15f37d
Packit Service 15f37d
	// Compression method for the initramfs
Packit Service 15f37d
	Compress string `json:"compress,omitempty"`
Packit Service 15f37d
Packit Service 15f37d
	// Exact list of dracut modules to use
Packit Service 15f37d
	Modules []string `json:"modules,omitempty"`
Packit Service 15f37d
Packit Service 15f37d
	// Additional dracut modules to include
Packit Service 15f37d
	AddModules []string `json:"add_modules,omitempty"`
Packit Service 15f37d
Packit Service 15f37d
	// Dracut modules to not include
Packit Service 15f37d
	OmitModules []string `json:"omit_modules,omitempty"`
Packit Service 15f37d
Packit Service 15f37d
	// Kernel modules to exclusively include
Packit Service 15f37d
	Drivers []string `json:"drivers,omitempty"`
Packit Service 15f37d
Packit Service 15f37d
	// Add a specific kernel module
Packit Service 15f37d
	AddDrivers []string `json:"add_drivers,omitempty"`
Packit Service 15f37d
Packit Service 15f37d
	// Add driver and ensure that they are tried to be loaded
Packit Service 15f37d
	ForceDrivers []string `json:"force_drivers,omitempty"`
Packit Service 15f37d
Packit Service 15f37d
	// Kernel filesystem modules to exclusively include
Packit Service 15f37d
	Filesystems []string `json:"filesystems,omitempty"`
Packit Service 15f37d
Packit Service 15f37d
	// Add custom files to the initramfs
Packit Service 15f37d
	// What (keys) to include where (values)
Packit Service 15f37d
	Include map[string]string `json:"include,omitempty"`
Packit Service 15f37d
Packit Service 15f37d
	// Install the specified files
Packit Service 15f37d
	Install []string `json:"install,omitempty"`
Packit Service 15f37d
Packit Service 15f37d
	// Combine early microcode with the initramfs
Packit Service 15f37d
	EarlyMicrocode bool `json:"early_microcode,omitempty"`
Packit Service 15f37d
Packit Service 15f37d
	// Create reproducible images
Packit Service 15f37d
	Reproducible bool `json:"reproducible,omitempty"`
Packit Service 15f37d
Packit Service 15f37d
	// Extra arguments to directly pass to dracut
Packit Service 15f37d
	Extra []string `json:"extra,omitempty"`
Packit Service 15f37d
}
Packit Service 15f37d
Packit Service 15f37d
func (DracutStageOptions) isStageOptions() {}
Packit Service 15f37d
Packit Service 15f37d
// Dracut stage (re-)creates the initial RAM file-system
Packit Service 15f37d
func NewDracutStage(options *DracutStageOptions) *Stage {
Packit Service 15f37d
	return &Stage{
Packit Service 15f37d
		Type:    "org.osbuild.dracut",
Packit Service 15f37d
		Options: options,
Packit Service 15f37d
	}
Packit Service 15f37d
}