Index: branches/JrCs/i386/libsaio/fake_efi.c =================================================================== --- branches/JrCs/i386/libsaio/fake_efi.c (revision 95) +++ branches/JrCs/i386/libsaio/fake_efi.c (revision 96) @@ -334,7 +334,6 @@ */ static uuid_t* getSystemID() { - bool pause = FALSE; int len; const char* StrSystemId = NULL; uuid_t* SystemId = NULL; @@ -346,7 +345,6 @@ SystemId = newUUIDFromString(StrSystemId); if (SystemId == NULL) { error("Error: invalid SystemID '%s'\n", StrSystemId); - pause = TRUE; } } @@ -361,13 +359,11 @@ // if(!ret) // no bios dmi UUID available, set a fixed value for system-id SystemId = (uuid_t*) &SYSTEM_ID; getStringFromUUID(*SystemId, UUIDstr); - error("Using a fixed SystemID: '%s'\n", UUIDstr); + warning("Using a fixed SystemID: '%s'\n", UUIDstr); // // verbose("Customizing SystemID with : %s\n", getStringFromUUID(ret)); // apply a nice formatting to the displayed output } - if (pause) getc(); - return SystemId; } Index: branches/JrCs/i386/boot2/boot.c =================================================================== --- branches/JrCs/i386/boot2/boot.c (revision 95) +++ branches/JrCs/i386/boot2/boot.c (revision 96) @@ -138,8 +138,9 @@ static int ExecKernel(void *binary) { - entry_t kernelEntry; - int ret; + entry_t kernelEntry; + int ret; + bool waitBeforeBoot = FALSE; bootArgs->kaddr = bootArgs->ksize = 0; @@ -151,6 +152,8 @@ if ( ret != 0 ) return ret; + getBoolForKey(kWaitForKeypressKey, &waitBeforeBoot, &bootInfo->bootConfig); + // Reserve space for boot args reserveKernBootStruct(); @@ -162,16 +165,18 @@ clearActivityIndicator(); + setupFakeEfi(); + if (gErrors) { - printf("Errors encountered while starting up the computer.\n"); - printf("Pausing %d seconds...\n", kBootErrorTimeout); - sleep(kBootErrorTimeout); + warning("Errors encountered while starting up the computer.\n"); + if (!waitBeforeBoot) { + printf("Pausing %d seconds...\n", kBootErrorTimeout); + sleep(kBootErrorTimeout); + } } - setupFakeEfi(); + verbose("Starting Darwin %s arch:%s\n", gMacOSVersion, ( archCpuType == CPU_TYPE_I386 ) ? "x86" : "x86_64"); - verbose("Starting Darwin %s\n",( archCpuType == CPU_TYPE_I386 ) ? "x86" : "x86_64"); - // Cleanup the PXE base code. if ( (gBootFileType == kNetworkDeviceType) && gUnloadPXEOnExit ) { @@ -182,9 +187,7 @@ } } - bool dummyVal; - - if (getBoolForKey(kWaitForKeypressKey, &dummyVal, &bootInfo->bootConfig) && dummyVal) + if (waitBeforeBoot) { printf("Press any key to continue..."); getc();