loader/config.c
static REFIT_FILE * GenerateOptionsFromPartTypes(VOID) {
    REFIT_FILE   *Options = NULL;
    CHAR16       *Line, *GuidString, *WriteStatus;

    if (GlobalConfig.DiscoveredRoot) {
        Options = AllocateZeroPool(sizeof(REFIT_FILE));
        if (Options) {
            Options->Encoding = ENCODING_UTF16_LE;
            GuidString = GuidAsString(&(GlobalConfig.DiscoveredRoot->PartGuid));
            WriteStatus = GlobalConfig.DiscoveredRoot->IsMarkedReadOnly ? L"ro" : L"rw";
            ToLower(GuidString);
            if (GuidString) {
                Line = PoolPrint(L"\"Boot with normal options\"    \"%s root=/dev/disk/by-partuuid/%s\"\n", WriteStatus, GuidString);
                MergeStrings((CHAR16 **) &(Options->Buffer), Line, 0);
                MyFreePool(Line);
                Line = PoolPrint(L"\"Boot into single-user mode\"  \"%s root=/dev/disk/by-partuuid/%s single\"\n", WriteStatus, GuidString);
                MergeStrings((CHAR16**) &(Options->Buffer), Line, 0);
                MyFreePool(Line);
                MyFreePool(GuidString);
            } // if (GuidString)
            Options->BufferSize = StrLen((CHAR16*) Options->Buffer) * sizeof(CHAR16);

            Options->Current8Ptr  = (CHAR8 *)Options->Buffer;
            Options->End8Ptr      = Options->Current8Ptr + Options->BufferSize;
            Options->Current16Ptr = (CHAR16 *)Options->Buffer;
            Options->End16Ptr     = Options->Current16Ptr + (Options->BufferSize >> 1);
        } // if (Options allocated OK)
    } // if (partition has root GUID)
    return Options;
}
// Create options from partition type codes. Specifically, if the earlier
// partition scan found a partition with a type code corresponding to a root
// filesystem according to the Freedesktop.org Discoverable Partitions Spec
// (http://www.freedesktop.org/wiki/Specifications/DiscoverablePartitionsSpec/),
// this function returns an appropriate file with two lines, one with
// "ro root=/dev/disk/by-partuuid/{GUID}" and the other with that plus "single".
// Note that this function returns the LAST partition found with the
// appropriate type code, so this will work poorly on dual-boot systems or
// if the type code is set incorrectly.
Create options from partition type codes. Specifically, if the earlier
partition scan found a partition with a type code corresponding to a root
filesystem according to the Freedesktop.org Discoverable Partitions Spec
,
this function returns an appropriate file with two lines, one with
"ro root=/dev/disk/by-partuuid/{GUID}" and the other with that plus "single".
Note that this function returns the LAST partition found with the
appropriate type code, so this will work poorly on dual-boot systems or
if the type code is set incorrectly.
Create options from partition type codes . Specifically if the earlier partition scan found a partition with a type code corresponding to a root filesystem according to the Freedesktop . org Discoverable Partitions Spec this function returns an appropriate file with two lines one with " ro root = / dev / disk / by - partuuid / { GUID } " and the other with that plus " single " . Note that this function returns the LAST partition found with the appropriate type code so this will work poorly on dual - boot systems or if the type code is set incorrectly .
static REFIT_FILE * GenerateOptionsFromPartTypes(VOID) {
    REFIT_FILE   *Options = NULL;
    CHAR16       *Line, *GuidString, *WriteStatus;
    if (GlobalConfig.DiscoveredRoot) {
        Options = AllocateZeroPool(sizeof(REFIT_FILE));
        if (Options) {
            Options->Encoding = ENCODING_UTF16_LE;
            GuidString = GuidAsString(&(GlobalConfig.DiscoveredRoot->PartGuid));
            WriteStatus = GlobalConfig.DiscoveredRoot->IsMarkedReadOnly ? L"ro" : L"rw";
            ToLower(GuidString);
            if (GuidString) {
                Line = PoolPrint(L"\"Boot with normal options\"    \"%s root=/dev/disk/by-partuuid/%s\"\n", WriteStatus, GuidString);
                MergeStrings((CHAR16 **) &(Options->Buffer), Line, 0);
                MyFreePool(Line);
                Line = PoolPrint(L"\"Boot into single-user mode\"  \"%s root=/dev/disk/by-partuuid/%s single\"\n", WriteStatus, GuidString);
                MergeStrings((CHAR16**) &(Options->Buffer), Line, 0);
                MyFreePool(Line);
                MyFreePool(GuidString);
            } 
            Options->BufferSize = StrLen((CHAR16*) Options->Buffer) * sizeof(CHAR16);
            Options->Current8Ptr  = (CHAR8 *)Options->Buffer;
            Options->End8Ptr      = Options->Current8Ptr + Options->BufferSize;
            Options->Current16Ptr = (CHAR16 *)Options->Buffer;
            Options->End16Ptr     = Options->Current16Ptr + (Options->BufferSize >> 1);
        } 
    } 
    return Options;
}
static REFIT_FILE * GenerateOptionsFromPartTypes ( VOID ) { REFIT_FILE * Options = NULL ; CHAR16 * Line , * GuidString , * WriteStatus ; if ( GlobalConfig . DiscoveredRoot ) { Options = AllocateZeroPool ( sizeof ( REFIT_FILE ) ) ; if ( Options ) { Options -> Encoding = ENCODING_UTF16_LE ; GuidString = GuidAsString ( & ( GlobalConfig . DiscoveredRoot -> PartGuid ) ) ; WriteStatus = GlobalConfig . DiscoveredRoot -> IsMarkedReadOnly ? L" " : L" " ; ToLower ( GuidString ) ; if ( GuidString ) { Line = PoolPrint ( L" \" \" \" \" \n " , WriteStatus , GuidString ) ; MergeStrings ( ( CHAR16 * * ) & ( Options -> Buffer ) , Line , 0 ) ; MyFreePool ( Line ) ; Line = PoolPrint ( L" \" \" \" \" \n " , WriteStatus , GuidString ) ; MergeStrings ( ( CHAR16 * * ) & ( Options -> Buffer ) , Line , 0 ) ; MyFreePool ( Line ) ; MyFreePool ( GuidString ) ; } Options -> BufferSize = StrLen ( ( CHAR16 * ) Options -> Buffer ) * sizeof ( CHAR16 ) ; Options -> Current8Ptr = ( CHAR8 * ) Options -> Buffer ; Options -> End8Ptr = Options -> Current8Ptr + Options -> BufferSize ; Options -> Current16Ptr = ( CHAR16 * ) Options -> Buffer ; Options -> End16Ptr = Options -> Current16Ptr + ( Options -> BufferSize >> 1 ) ; } } return Options ; }
Create options from partition type codes.
Create options from partition type codes .
// if (GuidString) // if (Options allocated OK) // if (partition has root GUID)