Index: trunk/i386/libsaio/bootargs.h =================================================================== --- trunk/i386/libsaio/bootargs.h (revision 2905) +++ trunk/i386/libsaio/bootargs.h (revision 2906) @@ -136,6 +136,7 @@ #define kBootArgsFlagBlackBg (1 << 6) #define kBootArgsFlagLoginUI (1 << 7) #define kBootArgsFlagInstallUI (1 << 8) +#define kBootArgsFlagUnknownHS (1 << 9) // 512 (High Sierra only) /* Rootless configuration flags */ // http://www.idelta.info/archives/kext-to-check-sip-rootless-status-on-el-capitan/ @@ -148,6 +149,7 @@ #define CSR_ALLOW_UNRESTRICTED_NVRAM (1 << 6) /* Allow unrestricted NVRAM */ #define CSR_ALLOW_DEVICE_CONFIGURATION (1 << 7) /* Allow device configuration */ #define CSR_ALLOW_ANY_RECOVERY_OS (1 << 8) +#define CSR_ALLOW_UNAPPROVED_KEXTS (1 << 9) #define CSR_VALID_FLAGS (CSR_ALLOW_UNTRUSTED_KEXTS | \ CSR_ALLOW_UNRESTRICTED_FS | \ @@ -157,8 +159,10 @@ CSR_ALLOW_UNRESTRICTED_DTRACE | \ CSR_ALLOW_UNRESTRICTED_NVRAM | \ CSR_ALLOW_DEVICE_CONFIGURATION | \ - CSR_ALLOW_ANY_RECOVERY_OS) + CSR_ALLOW_ANY_RECOVERY_OS | \ + CSR_ALLOW_UNAPPROVED_KEXTS) + typedef struct boot_args { uint16_t Revision; /* Revision of boot_args structure */ Index: trunk/i386/libsaio/disk.c =================================================================== --- trunk/i386/libsaio/disk.c (revision 2905) +++ trunk/i386/libsaio/disk.c (revision 2906) @@ -1705,14 +1705,14 @@ const char *fakeOSVersion; int fakeOSVersionInt; // our pattern: avoiding to use full path. this help if the app is named as Beta or DP.. - char *LionPattern = "Install%20Mac%20OS%20X%20Lion"; - char *MLPattern = "Install%20OS%20X%20Mountain%20Lion"; - char *MavPattern = "Install%20OS%20X%20Mavericks"; - char *YosPattern = "Install%20OS%20X%20Yosemite"; - char *ECPattern = "Install%20OS%20X%20El%20Capitan"; - char *SierraPattern = "Install%20macOS%20Sierra"; - char *HSierraPattern = "Install%20macOS%20High%20Sierra"; - char *HSierraPatternB = "Install%20macOS%2010.13"; + char *LionPattern = "Install%20Mac%20OS%20X%20Lion"; // Install Mac OS Lion + char *MLPattern = "Install%20OS%20X%20Mountain%20Lion"; // Install OS X Mountain Lion + char *MavPattern = "Install%20OS%20X%20Mavericks"; // Install OS X Mavericks + char *YosPattern = "Install%20OS%20X%20Yosemite"; // Install OS X Yosemite + char *ECPattern = "Install%20OS%20X%20El%20Capitan"; // Install OS X El Capitan + char *SierraPattern = "Install%20macOS%20Sierra"; // Install macOS Sierra + char *HSierraPattern = "Install%20macOS%20High%20Sierra"; // Install macOS High Sierra + char *HSierraPatternB = "Install%20macOS%2010.13"; // Install macOS 10.13 /* * Only look for OS Version on HFS+ Index: trunk/i386/boot2/drivers.c =================================================================== --- trunk/i386/boot2/drivers.c (revision 2905) +++ trunk/i386/boot2/drivers.c (revision 2906) @@ -1161,24 +1161,24 @@ default:kernelOSVer = 0xA0C0600; break; //Last known kernel (add here updates) } break; -// case 17: /* High Sierra */ -// switch (gDarwinMinor) -// { -// case 0: kernelOSVer = 0xA0C0000; break; -// case 1: kernelOSVer = 0xA0C0100; break; -// case 2: kernelOSVer = 0xA0C0200; break; + case 17: /* High Sierra */ + switch (gDarwinMinor) + { + case 0: kernelOSVer = 0xA0D0000; break; + case 1: kernelOSVer = 0xA0D0100; break; +// case 2: kernelOSVer = 0xA0D0200; break; // 17.2.0 // case 3: kernelOSVer = 0xA0C0200; break; // case 4: kernelOSVer = 0xA0C0300; break; // case 5: kernelOSVer = 0xA0C0400; break; // case 6: kernelOSVer = 0xA0C0500; break; // case 7: kernelOSVer = 0xA0C0600; break; // case 8: kernelOSVer = 0xA0C0700; break; -// default:kernelOSVer = 0xA0C0600; break; //Last known kernel (add here updates) -// } -// break; + default:kernelOSVer = 0xA0D0100; break; //Last known kernel (add here updates) + } + break; default: - kernelOSVer = 0xA0C0600; - break; //Last known kernel is Sierra 10.12.6 + kernelOSVer = 0xA0D0100; + break; //Last known kernel is Sierra 10.13.1 } } else @@ -1241,9 +1241,11 @@ case 0xA0C0600: gDarwinMajor = 16; gDarwinMinor = 7; gDarwinRev = 0; break; // 10.12.6 // case 0xA0C0700: gDarwinMajor = 16; gDarwinMinor = x; gDarwinRev = x; break; // 10.12.7 // High Sierra + case 0xA0D0000: gDarwinMajor = 17; gDarwinMinor = 0; gDarwinRev = 0; break; // 10.13 + case 0xA0D0100: gDarwinMajor = 17; gDarwinMinor = 1; gDarwinRev = 0; break; // 10.13.1 // default = last known kernel - default: gDarwinMajor = 16; gDarwinMinor = 7; gDarwinRev = 0; break; // 10.12.6; + default: gDarwinMajor = 17; gDarwinMinor = 1; gDarwinRev = 0; break; // 10.13.1; } } Index: trunk/i386/boot2/boot.c =================================================================== --- trunk/i386/boot2/boot.c (revision 2905) +++ trunk/i386/boot2/boot.c (revision 2906) @@ -352,9 +352,12 @@ { snprintf(kernelCacheFile, sizeof(kernelCacheFile), "%skernelcache", kMLionInstallerDataFolder); } - + else if ( MacOSVerCurrent > MacOSVer2Int("10.12") && MacOSVerCurrent < MacOSVer2Int("10.14") ) + { + snprintf(kernelCacheFile, sizeof(kernelCacheFile), "%skernelcache", kHSierraInstallerDataFolder); + } } - else if (isRecoveryHD) + else if (isRecoveryHD) { snprintf(kernelCacheFile, sizeof(kernelCacheFile), "%skernelcache", kDefaultCacheRecoveryHD); } Index: trunk/i386/boot2/boot.h =================================================================== --- trunk/i386/boot2/boot.h (revision 2905) +++ trunk/i386/boot2/boot.h (revision 2906) @@ -57,6 +57,9 @@ // Mountain Lion installer ?? #define kMLionInstallerDataFolder "/OS X Install Data/" +// High Sierra ?? +#define kHSierraInstallerDataFolder "/macOS Install Data/" + // Installer new #define kDefaultCacheInstallerNew "/.IABootFiles/" Index: branches/ErmaC/Enoch/i386/libsaio/bootargs.h =================================================================== --- branches/ErmaC/Enoch/i386/libsaio/bootargs.h (revision 2905) +++ branches/ErmaC/Enoch/i386/libsaio/bootargs.h (revision 2906) @@ -136,6 +136,7 @@ #define kBootArgsFlagBlackBg (1 << 6) #define kBootArgsFlagLoginUI (1 << 7) #define kBootArgsFlagInstallUI (1 << 8) +#define kBootArgsFlagUnknownHS (1 << 9) // 512 (High Sierra only) /* Rootless configuration flags */ // http://www.idelta.info/archives/kext-to-check-sip-rootless-status-on-el-capitan/ @@ -148,6 +149,7 @@ #define CSR_ALLOW_UNRESTRICTED_NVRAM (1 << 6) /* Allow unrestricted NVRAM */ #define CSR_ALLOW_DEVICE_CONFIGURATION (1 << 7) /* Allow device configuration */ #define CSR_ALLOW_ANY_RECOVERY_OS (1 << 8) +#define CSR_ALLOW_UNAPPROVED_KEXTS (1 << 9) #define CSR_VALID_FLAGS (CSR_ALLOW_UNTRUSTED_KEXTS | \ CSR_ALLOW_UNRESTRICTED_FS | \ @@ -157,8 +159,10 @@ CSR_ALLOW_UNRESTRICTED_DTRACE | \ CSR_ALLOW_UNRESTRICTED_NVRAM | \ CSR_ALLOW_DEVICE_CONFIGURATION | \ - CSR_ALLOW_ANY_RECOVERY_OS) + CSR_ALLOW_ANY_RECOVERY_OS | \ + CSR_ALLOW_UNAPPROVED_KEXTS) + typedef struct boot_args { uint16_t Revision; /* Revision of boot_args structure */ Index: branches/ErmaC/Enoch/i386/libsaio/disk.c =================================================================== --- branches/ErmaC/Enoch/i386/libsaio/disk.c (revision 2905) +++ branches/ErmaC/Enoch/i386/libsaio/disk.c (revision 2906) @@ -1705,14 +1705,14 @@ const char *fakeOSVersion; int fakeOSVersionInt; // our pattern: avoiding to use full path. this help if the app is named as Beta or DP.. - char *LionPattern = "Install%20Mac%20OS%20X%20Lion"; - char *MLPattern = "Install%20OS%20X%20Mountain%20Lion"; - char *MavPattern = "Install%20OS%20X%20Mavericks"; - char *YosPattern = "Install%20OS%20X%20Yosemite"; - char *ECPattern = "Install%20OS%20X%20El%20Capitan"; - char *SierraPattern = "Install%20macOS%20Sierra"; - char *HSierraPattern = "Install%20macOS%20High%20Sierra"; - char *HSierraPatternB = "Install%20macOS%2010.13"; + char *LionPattern = "Install%20Mac%20OS%20X%20Lion"; // Install Mac OS Lion + char *MLPattern = "Install%20OS%20X%20Mountain%20Lion"; // Install OS X Mountain Lion + char *MavPattern = "Install%20OS%20X%20Mavericks"; // Install OS X Mavericks + char *YosPattern = "Install%20OS%20X%20Yosemite"; // Install OS X Yosemite + char *ECPattern = "Install%20OS%20X%20El%20Capitan"; // Install OS X El Capitan + char *SierraPattern = "Install%20macOS%20Sierra"; // Install macOS Sierra + char *HSierraPattern = "Install%20macOS%20High%20Sierra"; // Install macOS High Sierra + char *HSierraPatternB = "Install%20macOS%2010.13"; // Install macOS 10.13 /* * Only look for OS Version on HFS+ Index: branches/ErmaC/Enoch/i386/boot2/drivers.c =================================================================== --- branches/ErmaC/Enoch/i386/boot2/drivers.c (revision 2905) +++ branches/ErmaC/Enoch/i386/boot2/drivers.c (revision 2906) @@ -1538,24 +1538,24 @@ default:kernelOSVer = 0xA0C0600; break; //Last known kernel (add here updates) } break; -// case 17: /* High Sierra */ -// switch (gDarwinMinor) -// { -// case 0: kernelOSVer = 0xA0C0000; break; -// case 1: kernelOSVer = 0xA0C0100; break; -// case 2: kernelOSVer = 0xA0C0200; break; + case 17: /* High Sierra */ + switch (gDarwinMinor) + { + case 0: kernelOSVer = 0xA0D0000; break; + case 1: kernelOSVer = 0xA0D0100; break; +// case 2: kernelOSVer = 0xA0D0200; break; // 17.2.0 // case 3: kernelOSVer = 0xA0C0200; break; // case 4: kernelOSVer = 0xA0C0300; break; // case 5: kernelOSVer = 0xA0C0400; break; // case 6: kernelOSVer = 0xA0C0500; break; // case 7: kernelOSVer = 0xA0C0600; break; // case 8: kernelOSVer = 0xA0C0700; break; -// default:kernelOSVer = 0xA0C0600; break; //Last known kernel (add here updates) -// } -// break; + default:kernelOSVer = 0xA0D0100; break; //Last known kernel (add here updates) + } + break; default: - kernelOSVer = 0xA0C0600; - break; //Last known kernel is Sierra 10.12.6 + kernelOSVer = 0xA0D0100; + break; //Last known kernel is Sierra 10.13.1 } } else @@ -1618,9 +1618,11 @@ case 0xA0C0600: gDarwinMajor = 16; gDarwinMinor = 7; gDarwinRev = 0; break; // 10.12.6 // case 0xA0C0700: gDarwinMajor = 16; gDarwinMinor = x; gDarwinRev = x; break; // 10.12.7 // High Sierra + case 0xA0D0000: gDarwinMajor = 17; gDarwinMinor = 0; gDarwinRev = 0; break; // 10.13 + case 0xA0D0100: gDarwinMajor = 17; gDarwinMinor = 1; gDarwinRev = 0; break; // 10.13.1 // default = last known kernel - default: gDarwinMajor = 16; gDarwinMinor = 7; gDarwinRev = 0; break; // 10.12.6; + default: gDarwinMajor = 17; gDarwinMinor = 1; gDarwinRev = 0; break; // 10.13.1; } } Index: branches/ErmaC/Enoch/i386/boot2/boot.c =================================================================== --- branches/ErmaC/Enoch/i386/boot2/boot.c (revision 2905) +++ branches/ErmaC/Enoch/i386/boot2/boot.c (revision 2906) @@ -422,9 +422,12 @@ { snprintf(kernelCacheFile, sizeof(kernelCacheFile), "%skernelcache", kMLionInstallerDataFolder); } - + else if ( MacOSVerCurrent > MacOSVer2Int("10.12") && MacOSVerCurrent < MacOSVer2Int("10.14") ) + { + snprintf(kernelCacheFile, sizeof(kernelCacheFile), "%skernelcache", kHSierraInstallerDataFolder); + } } - else if (isRecoveryHD) + else if (isRecoveryHD) { snprintf(kernelCacheFile, sizeof(kernelCacheFile), "%skernelcache", kDefaultCacheRecoveryHD); } Index: branches/ErmaC/Enoch/i386/boot2/boot.h =================================================================== --- branches/ErmaC/Enoch/i386/boot2/boot.h (revision 2905) +++ branches/ErmaC/Enoch/i386/boot2/boot.h (revision 2906) @@ -57,6 +57,9 @@ // Mountain Lion installer ?? #define kMLionInstallerDataFolder "/OS X Install Data/" +// High Sierra ?? +#define kHSierraInstallerDataFolder "/macOS Install Data/" + // Installer new #define kDefaultCacheInstallerNew "/.IABootFiles/"