Documentation
¶
Overview ¶
Package libinit creates the environment and root file system for u-root.
Index ¶
- func Command(bin string, m ...CommandModifier) *exec.Cmd
- func CreateRootfs()
- func GetModulesFromCmdline(m *InitModuleLoader) ([]string, error)
- func GetModulesFromConf(pattern string) ([]string, error)
- func InstallAllModules() error
- func InstallModules(m *InitModuleLoader, modules []string)
- func InstallModulesFromDir(pattern string, loader *InitModuleLoader) error
- func NetInit()
- func RunCommands(debug func(string, ...interface{}), commands ...*exec.Cmd) int
- func SetEnv()
- func WaitOrphans() uint
- type CommandModifier
- type InitModuleLoader
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Command ¶
func Command(bin string, m ...CommandModifier) *exec.Cmd
Command constructs an *exec.Cmd object.
func GetModulesFromCmdline ¶ added in v0.10.0
func GetModulesFromCmdline(m *InitModuleLoader) ([]string, error)
GetModulesFromCmdline finds kernel modules from the modules_load kernel parameter
func GetModulesFromConf ¶ added in v0.10.0
GetModulesFromConf finds kernel modules from .conf files in /lib/modules-load.d/
func InstallAllModules ¶
func InstallAllModules() error
InstallAllModules installs kernel modules form the following locations in order: - .ko files from /lib/modules - modules found in .conf files from /lib/modules-load.d/ - modules found in the cmdline argument modules_load= separated by , Useful for modules that need to be loaded for boot (ie a network driver needed for netboot). It skips over blacklisted modules in excludedMods.
func InstallModules ¶
func InstallModules(m *InitModuleLoader, modules []string)
InstallModules installs the passed modules using the InitModuleLoader
func InstallModulesFromDir ¶ added in v0.10.0
func InstallModulesFromDir(pattern string, loader *InitModuleLoader) error
InstallModulesFromDir installs kernel modules (.ko files) from /lib/modules that match the given pattern, skipping those in the exclude list.
func RunCommands ¶
FIX ME: make it not linux-specific RunCommands runs commands in sequence.
RunCommands returns how many commands existed and were attempted to run.
commands must refer to absolute paths at the moment.
func WaitOrphans ¶
func WaitOrphans() uint
WaitOrphans waits for all remaining processes on the system to exit.
Types ¶
type CommandModifier ¶
CommandModifier makes *exec.Cmd construction modular.
func WithArguments ¶
func WithArguments(arg ...string) CommandModifier
WithArguments adds command-line arguments to a command.
func WithCloneFlags ¶
func WithCloneFlags(flags uintptr) CommandModifier
WithCloneFlags adds clone(2) flags to the *exec.Cmd.
func WithTTYControl ¶
func WithTTYControl(ctty bool) CommandModifier
WithTTYControl turns on controlling the TTY on this command.
type InitModuleLoader ¶ added in v0.10.0
type InitModuleLoader struct {
Cmdline *cmdline.CmdLine
Prober func(name string, modParameters string) error
ExcludedMods map[string]bool
}
InitModuleLoader wraps the resources we need for early module loading
func NewInitModuleLoader ¶ added in v0.10.0
func NewInitModuleLoader() *InitModuleLoader
func (*InitModuleLoader) IsExcluded ¶ added in v0.10.0
func (i *InitModuleLoader) IsExcluded(mod string) bool
func (*InitModuleLoader) LoadModule ¶ added in v0.10.0
func (i *InitModuleLoader) LoadModule(mod string) error