Index: branches/meklort/i386/libsaio/fake_efi.c =================================================================== --- branches/meklort/i386/libsaio/fake_efi.c (revision 144) +++ branches/meklort/i386/libsaio/fake_efi.c (revision 145) @@ -315,7 +315,7 @@ static const char const FIRMWARE_REVISION_PROP[] = "firmware-revision"; static const char const FIRMWARE_ABI_PROP[] = "firmware-abi"; static const char const FIRMWARE_VENDOR_PROP[] = "firmware-vendor"; -static const char const FIRMWARE_ABI_PROP_VALUE[] = "EFI64"; +static const char const FIRMWARE_ABI_PROP_VALUE[] = "EFI32"; static const char const SYSTEM_ID_PROP[] = "system-id"; static const char const SYSTEM_SERIAL_PROP[] = "SystemSerialNumber"; static const char const SYSTEM_TYPE_PROP[] = "system-type"; @@ -518,10 +518,10 @@ setupSmbiosConfigFile(); // Generate efi device strings - setupEfiDevices(); + setupEfiDevices(); - // Initialize the base table - setupEfiTables(); + // Initialize the base table + setupEfiTables(); // Initialize the device tree setupEfiDeviceTree(); Index: branches/meklort/i386/boot2/boot.c =================================================================== --- branches/meklort/i386/boot2/boot.c (revision 144) +++ branches/meklort/i386/boot2/boot.c (revision 145) @@ -192,7 +192,6 @@ finalizeBootStruct(); // Jump to kernel's entry point. There's no going back now. - startprog( kernelEntry, bootArgs ); // Not reached Index: branches/meklort/i386/boot2/drivers.c =================================================================== --- branches/meklort/i386/boot2/drivers.c (revision 144) +++ branches/meklort/i386/boot2/drivers.c (revision 145) @@ -807,6 +807,8 @@ ret = ThinFatFile(&binary, &len); } + patch_kernel(binary); + ret = DecodeMachO(binary, rentry, raddr, rsize); if (ret<0 && archCpuType==CPU_TYPE_X86_64) @@ -815,7 +817,6 @@ ret = DecodeMachO(binary, rentry, raddr, rsize); } - patch_kernel(); return ret; } Index: branches/meklort/i386/boot2/gui.c =================================================================== --- branches/meklort/i386/boot2/gui.c (revision 144) +++ branches/meklort/i386/boot2/gui.c (revision 145) @@ -1716,8 +1716,10 @@ // find best matching vesa mode for our requested width & height getGraphicModeParams(screen_params); - setVideoMode(GRAPHICS_MODE, 0); - + if (bootArgs->Video.v_display == VGA_TEXT_MODE) { + setVideoMode(GRAPHICS_MODE, 0); + } + if (getValueForKey("-checkers", &dummyVal, &length, &bootInfo->bootConfig)) { drawCheckerBoard(); } else { Index: branches/meklort/i386/boot2/kernel_patcher.c =================================================================== --- branches/meklort/i386/boot2/kernel_patcher.c (revision 144) +++ branches/meklort/i386/boot2/kernel_patcher.c (revision 145) @@ -36,16 +36,16 @@ extern unsigned long gBinaryAddress; -void patch_kernel() +void patch_kernel(void* kernelData) { - switch (locate_symbols((void*)gBinaryAddress)) { + switch (locate_symbols((void*)kernelData)) { case KERNEL_32: - patch_kernel_32((void*)gBinaryAddress); + patch_kernel_32((void*)kernelData); break; case KERNEL_64: default: - patch_kernel_64((void*)gBinaryAddress); + patch_kernel_64((void*)kernelData); break; } } Index: branches/meklort/i386/boot2/kernel_patcher.h =================================================================== --- branches/meklort/i386/boot2/kernel_patcher.h (revision 144) +++ branches/meklort/i386/boot2/kernel_patcher.h (revision 145) @@ -9,14 +9,13 @@ #ifndef __BOOT2_KERNEL_PATCHER_H #define __BOOT2_KERNEL_PATCHER_H -void patch_kernel(); +void patch_kernel(void* kernelData); #define KERNEL_64 1 #define KERNEL_32 2 int locate_symbols(void* kernelData); - void patch_kernel_32(void* kernelData); void patch_kernel_64(void* kernelData); Index: branches/meklort/i386/boot2/options.c =================================================================== --- branches/meklort/i386/boot2/options.c (revision 144) +++ branches/meklort/i386/boot2/options.c (revision 145) @@ -721,7 +721,8 @@ // If the user is holding down a modifier key, enter safe mode. if ((readKeyboardShiftFlags() & 0x0F) != 0) { - gBootMode |= kBootModeSafe; + + //gBootMode |= kBootModeSafe; } // If user typed F8, abort quiet mode, and display the menu.