Versions in this module Expand all Collapse all v0 v0.1.0 Nov 12, 2022 v0.0.1 Nov 10, 2022 Changes in this version + const DefaultStatus + const ModeFactoryReset + const ModeInstall + const ModeRecover + const ModeRun + const ModeRunCVM + const TryStatus + const TryingStatus + var ErrBootNameAndRevisionNotReady = errors.New("boot revision not yet established") + var ErrObserverNotApplicable = errors.New("observer not applicable") + var ErrUnsupportedSystemMode = errors.New("system mode is unsupported") + var HasFDESetupHook = func(kernelInfo *snap.Info) (bool, error) + var InitramfsBootEncryptionKeyDir string + var InitramfsDataDir string + var InitramfsHostUbuntuDataDir string + var InitramfsRunMntDir string + var InitramfsSeedEncryptionKeyDir string + var InitramfsUbuntuBootDir string + var InitramfsUbuntuSaveDir string + var InitramfsUbuntuSeedDir string + var InstallHostDeviceSaveDir string + var InstallHostFDESaveDir string + var RunFDESetupHook fde.RunSetupHookFunc = func(req *fde.SetupRequest) ([]byte, error) + func BootFlags(dev snap.Device) ([]string, error) + func ClearTryRecoverySystem(dev snap.Device, systemLabel string) error + func ComposeCandidateCommandLine(model *asserts.Model, gadgetDirOrSnapPath string) (string, error) + func ComposeCandidateRecoveryCommandLine(model *asserts.Model, system, gadgetDirOrSnapPath string) (string, error) + func ComposeCommandLine(model *asserts.Model, gadgetDirOrSnapPath string) (string, error) + func ComposeRecoveryCommandLine(model *asserts.Model, system, gadgetDirOrSnapPath string) (string, error) + func CopyBootAssetsCacheToRoot(dstRoot string) error + func DebugDumpBootVars(w io.Writer, dir string, uc20 bool) error + func DebugSetBootVars(dir string, recoveryBootloader bool, varEqVal []string) error + func DeviceChange(from snap.Device, to snap.Device) error + func DropRecoverySystem(dev snap.Device, systemLabel string) error + func EnsureNextBootToRunMode(systemLabel string) error + func EnsureNextBootToRunModeWithTryRecoverySystemOutcome(outcome TryRecoverySystemOutcome) error + func FindPartitionUUIDForBootedKernelDisk() (string, error) — linux/amd64 + func GetCurrentBoot(t snap.Type, dev snap.Device) (snap.PlaceInfo, error) + func HostUbuntuDataForMode(mode string, mod gadget.Model) ([]string, error) + func InitramfsActiveBootFlags(mode string, rootfsDir string) ([]string, error) + func InitramfsExposeBootFlagsForSystem(flags []string) error + func InitramfsHostWritableDir(mod gadget.Model) string + func InitramfsIsTryingRecoverySystem(currentSystemLabel string) (bool, error) + func InitramfsReboot() error + func InitramfsRunModeSelectSnapsToMount(typs []snap.Type, modeenv *Modeenv, rootfsDir string) (map[snap.Type]snap.PlaceInfo, error) + func InitramfsRunModeUpdateBootloaderVars() error + func InitramfsWritableDir(mod gadget.Model, isRunMode bool) string + func InstallHostFDEDataDir(mod gadget.Model) string + func InstallHostWritableDir(mod gadget.Model) string + func IsInconsistentRecoverySystemState(err error) bool + func IsUnknownBootFlagError(e error) bool + func MakeBootableImage(model *asserts.Model, rootdir string, bootWith *BootableSet, ...) error + func MakeBootablePartition(partDir string, opts *bootloader.Options, bootWith *BootableSet, ...) error + func MakeRecoverySystemBootable(rootdir string, relativeRecoverySystemDir string, ...) error + func MakeRunnableStandaloneSystem(model *asserts.Model, bootWith *BootableSet, ...) error + func MakeRunnableSystem(model *asserts.Model, bootWith *BootableSet, ...) error + func MakeRunnableSystemAfterDataReset(model *asserts.Model, bootWith *BootableSet, ...) error + func MarkBootSuccessful(dev snap.Device) error + func MarkFactoryResetComplete(encrypted bool) error + func MarkRecoveryCapableSystem(systemLabel string) error + func MockInitramfsReboot(f func() error) (restore func()) + func MockResealKeyToModeenv(f func(rootdir string, modeenv *Modeenv, expectReseal bool) error) (restore func()) + func MockSecbootResealKeys(f func(params *secboot.ResealKeysParams) error) (restore func()) + func ModeAndRecoverySystemFromKernelCommandLine() (mode, sysLabel string, err error) + func PromoteTriedRecoverySystem(dev snap.Device, systemLabel string, triedSystems []string) (err error) + func Reboot(action RebootAction, rebootDelay time.Duration, rebootInfo *RebootInfo) error + func SetRecoveryBootSystemAndMode(dev snap.Device, systemLabel, mode string) error + func SetTryRecoverySystem(dev snap.Device, systemLabel string) (err error) + func SnapTypeParticipatesInBoot(t snap.Type, dev snap.Device) bool + func UpdateCommandLineForGadgetComponent(dev snap.Device, gadgetSnapOrDir string) (needsReboot bool, err error) + func UpdateManagedBootConfigs(dev snap.Device, gadgetSnapOrDir string) (updated bool, err error) + type BootKernel interface + ExtractKernelAssets func(snap.Container) error + IsTrivial func() bool + RemoveKernelAssets func() error + func Kernel(s snap.PlaceInfo, t snap.Type, dev snap.Device) BootKernel + type BootParticipant interface + IsTrivial func() bool + SetNextBoot func(bootCtx NextBootContext) (rebootInfo RebootInfo, err error) + func Participant(s snap.PlaceInfo, t snap.Type, dev snap.Device) BootParticipant + type BootableSet struct + Base *snap.Info + BasePath string + Gadget *snap.Info + GadgetPath string + Kernel *snap.Info + KernelPath string + Recovery bool + RecoverySystemDir string + RecoverySystemLabel string + UnpackedGadgetDir string + type InUseFunc func(name string, rev snap.Revision) bool + func InUse(typ snap.Type, dev snap.Device) (InUseFunc, error) + type Modeenv struct + Base string + BaseStatus string + BootFlags []string + BrandID string + Classic bool + CurrentKernelCommandLines bootCommandLines + CurrentKernels []string + CurrentRecoverySystems []string + CurrentTrustedBootAssets bootAssetsMap + CurrentTrustedRecoveryBootAssets bootAssetsMap + Gadget string + GoodRecoverySystems []string + Grade string + Mode string + Model string + ModelSignKeyID string + RecoverySystem string + TryBase string + TryBrandID string + TryGrade string + TryModel string + TryModelSignKeyID string + func ReadModeenv(rootdir string) (*Modeenv, error) + func (m *Modeenv) Copy() (*Modeenv, error) + func (m *Modeenv) ModelForSealing() secboot.ModelForSealing + func (m *Modeenv) TryModelForSealing() secboot.ModelForSealing + func (m *Modeenv) Write() error + func (m *Modeenv) WriteTo(rootdir string) error + type NextBootContext struct + BootWithoutTry bool + type RebootAction int + const RebootHalt + const RebootPoweroff + const RebootReboot + func (a RebootAction) String() string + type RebootInfo struct + RebootBootloader bootloader.RebootBootloader + RebootRequired bool + type RecoverySystemBootableSet struct + GadgetSnapOrDir string + Kernel *snap.Info + KernelPath string + PrepareImageTime bool + type TrustedAssetsInstallObserver struct + func TrustedAssetsInstallObserverForModel(model *asserts.Model, gadgetDir string, useEncryption bool) (*TrustedAssetsInstallObserver, error) + func (o *TrustedAssetsInstallObserver) ChosenEncryptionKeys(key, saveKey keys.EncryptionKey) + func (o *TrustedAssetsInstallObserver) Observe(op gadget.ContentOperation, affectedStruct *gadget.LaidOutStructure, ...) (gadget.ContentChangeAction, error) + func (o *TrustedAssetsInstallObserver) ObserveExistingTrustedRecoveryAssets(recoveryRootDir string) error + type TrustedAssetsUpdateObserver struct + func TrustedAssetsUpdateObserverForModel(model *asserts.Model, gadgetDir string) (*TrustedAssetsUpdateObserver, error) + func (o *TrustedAssetsUpdateObserver) BeforeWrite() error + func (o *TrustedAssetsUpdateObserver) Canceled() error + func (o *TrustedAssetsUpdateObserver) Observe(op gadget.ContentOperation, affectedStruct *gadget.LaidOutStructure, ...) (gadget.ContentChangeAction, error) + type TryRecoverySystemOutcome int + const TryRecoverySystemOutcomeFailure + const TryRecoverySystemOutcomeInconsistent + const TryRecoverySystemOutcomeNoneTried + const TryRecoverySystemOutcomeSuccess + func InspectTryRecoverySystemOutcome(dev snap.Device) (outcome TryRecoverySystemOutcome, label string, err error)