OpenCore  1.0.4
OpenCore Bootloader
1.0.4
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
OpenLinuxBoot.c File Reference
#include "LinuxBootInternal.h"
#include <Uefi.h>
#include <Guid/Gpt.h>
#include <Library/BaseLib.h>
#include <Library/DevicePathLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/OcBootManagementLib.h>
#include <Library/OcDebugLogLib.h>
#include <Library/OcFileLib.h>
#include <Library/OcFlexArrayLib.h>
#include <Library/OcStringLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Protocol/OcBootEntry.h>

Go to the source code of this file.

Functions

VOID InternalFreePickerEntry (IN OC_PICKER_ENTRY *Entry)
 
STATIC VOID EFIAPI OcFreeLinuxBootEntries (IN OC_PICKER_ENTRY **Entries, IN UINTN NumEntries)
 
STATIC EFI_STATUS EFIAPI OcGetLinuxBootEntries (IN OUT OC_PICKER_CONTEXT *PickerContext, IN CONST EFI_HANDLE Device OPTIONAL, OUT OC_PICKER_ENTRY **Entries, OUT UINTN *NumEntries)
 
EFI_STATUS EFIAPI UefiMain (IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
 

Variables

UINTN gLinuxBootFlags = LINUX_BOOT_ALL & ~(LINUX_BOOT_ADD_DEBUG_INFO | LINUX_BOOT_LOG_VERBOSE | LINUX_BOOT_LOG_GRUB_VARS | LINUX_BOOT_ADD_RW)
 
STATIC OC_FLEX_ARRAYmParsedLoadOptions
 
OC_PICKER_CONTEXTgPickerContext
 
OC_FLEX_ARRAYgLoaderEntries
 
EFI_GUID gPartuuid
 
CHAR8 * gFileSystemType
 
STATIC OC_BOOT_ENTRY_PROTOCOL mLinuxBootEntryProtocol
 

Detailed Description

Linux boot driver, supporting Boot Loader Specification, GRUB2 blscfg, and autodetect.

Copyright (c) 2021, Mike Beaton. All rights reserved.
SPDX-License-Identifier: BSD-3-Clause

Definition in file OpenLinuxBoot.c.

Function Documentation

◆ InternalFreePickerEntry()

VOID InternalFreePickerEntry ( IN OC_PICKER_ENTRY * Entry)

Definition at line 34 of file OpenLinuxBoot.c.

◆ OcFreeLinuxBootEntries()

STATIC VOID EFIAPI OcFreeLinuxBootEntries ( IN OC_PICKER_ENTRY ** Entries,
IN UINTN NumEntries )

Definition at line 72 of file OpenLinuxBoot.c.

◆ OcGetLinuxBootEntries()

STATIC EFI_STATUS EFIAPI OcGetLinuxBootEntries ( IN OUT OC_PICKER_CONTEXT * PickerContext,
IN CONST EFI_HANDLE Device OPTIONAL,
OUT OC_PICKER_ENTRY ** Entries,
OUT UINTN * NumEntries )

Definition at line 96 of file OpenLinuxBoot.c.

◆ UefiMain()

EFI_STATUS EFIAPI UefiMain ( IN EFI_HANDLE ImageHandle,
IN EFI_SYSTEM_TABLE * SystemTable )

Definition at line 274 of file OpenLinuxBoot.c.

Variable Documentation

◆ gFileSystemType

CHAR8* gFileSystemType

Definition at line 31 of file OpenLinuxBoot.c.

◆ gLinuxBootFlags

◆ gLoaderEntries

OC_FLEX_ARRAY* gLoaderEntries

Definition at line 29 of file OpenLinuxBoot.c.

◆ gPartuuid

EFI_GUID gPartuuid

Definition at line 30 of file OpenLinuxBoot.c.

◆ gPickerContext

OC_PICKER_CONTEXT* gPickerContext

Definition at line 28 of file OpenLinuxBoot.c.

◆ mLinuxBootEntryProtocol

STATIC OC_BOOT_ENTRY_PROTOCOL mLinuxBootEntryProtocol
Initial value:
= {
NULL
}
#define OC_BOOT_ENTRY_PROTOCOL_REVISION
Definition OcBootEntry.h:31
STATIC EFI_STATUS EFIAPI OcGetLinuxBootEntries(IN OUT OC_PICKER_CONTEXT *PickerContext, IN CONST EFI_HANDLE Device OPTIONAL, OUT OC_PICKER_ENTRY **Entries, OUT UINTN *NumEntries)
STATIC VOID EFIAPI OcFreeLinuxBootEntries(IN OC_PICKER_ENTRY **Entries, IN UINTN NumEntries)

Definition at line 265 of file OpenLinuxBoot.c.

◆ mParsedLoadOptions

STATIC OC_FLEX_ARRAY* mParsedLoadOptions

Definition at line 26 of file OpenLinuxBoot.c.