Chameleon

Chameleon Commit Details

Date:2015-06-09 20:24:24 (4 years 11 months ago)
Author:ErmaC
Commit:2708
Parents: 2707
Message:Preliminary support for "El Capitan"
Changes:
M/branches/ErmaC/Enoch/i386/boot2/drivers.c
M/branches/ErmaC/Enoch/i386/boot2/boot.c
M/branches/ErmaC/Enoch/i386/boot2/gui.c
M/branches/ErmaC/Enoch/i386/boot2/boot.h

File differences

branches/ErmaC/Enoch/i386/boot2/drivers.c
253253
254254
255255
256
256
257257
258258
259259
}
else
{
if ( MAVERICKS || YOSEMITE ) // ( MAVERICKS || YOSEMITE || GALA ) // issue 352
if ( MAVERICKS || YOSEMITE || ELCAPITAN ) // issue 352
{
strlcpy(gExtensionsSpec, dirSpec, 4087); /* 4096 - sizeof("Library/") */
strcat(gExtensionsSpec, "Library/");
branches/ErmaC/Enoch/i386/boot2/boot.c
318318
319319
320320
321
321
322322
323323
324324
......
772772
773773
774774
775
775
776776
777777
778778
779779
780780
781
781
782782
783783
784784
}
else
{
// Lion, Mountain Lion, Mavericks and Yosemite prelink kernel cache file
// Lion, Mountain Lion, Mavericks, Yosemite and El Capitan prelink kernel cache file
// for 10.7 10.8 10.9 10.10 10.11
snprintf(kernelCacheFile, sizeof(kernelCacheFile), "%skernelcache", kDefaultCachePathSnow);
verbose("Kernel Cache file path (Mac OS X 10.7 and newer): %s\n", kernelCacheFile);
// bootFile must start with a / if it not start with a device name
if (!bootFileWithDevice && (bootInfo->bootFile)[0] != '/')
{
if ( !YOSEMITE ) // ( !YOSEMITE || !GALA ) Is not Yosemite 10.10 or Gala 10.11
if ( !YOSEMITE || !ELCAPITAN ) //Is not Yosemite 10.10 or El Capitan 10.11
{
snprintf(bootFile, sizeof(bootFile), "/%s", bootInfo->bootFile); // append a leading /
}
else
{
snprintf(bootFile, sizeof(bootFile), kDefaultKernelPathForYos"%s", bootInfo->bootFile); // Yosemite
snprintf(bootFile, sizeof(bootFile), kDefaultKernelPathForYos"%s", bootInfo->bootFile); // Yosemite or El Capitan
}
}
else
branches/ErmaC/Enoch/i386/boot2/boot.h
3030
3131
3232
33
33
3434
3535
3636
......
5757
5858
5959
60
60
6161
6262
6363
#include "libsaio.h"
// OS X Versions
//#define GALA checkOSVersion("10.11") // Gala
#define ELCAPITAN checkOSVersion("10.11") // El Capitan
#define YOSEMITE checkOSVersion("10.10") // Yosemite
#define MAVERICKS checkOSVersion("10.9") // Mavericks
#define MOUNTAIN_LION checkOSVersion("10.8") // Mountain Lion
//kernel path
#define kDefaultKernelPathPreYos"/"
#define kDefaultKernelPathForYos"/System/Library/Kernels/" //for Yosemite and newer
#define kDefaultKernelPathForYos"/System/Library/Kernels/" //for Yosemite and El Capitan
/*
* Keys used in system Boot.plist
branches/ErmaC/Enoch/i386/boot2/gui.c
5454
5555
5656
57
58
57
58
5959
6060
6161
......
7373
7474
7575
76
77
76
77
7878
7979
8080
......
9595
9696
9797
98
99
98
99
100100
101101
102102
......
159159
160160
161161
162
163
162
163
164164
165165
166166
......
178178
179179
180180
181
182
181
182
183183
184184
185185
......
200200
201201
202202
203
204
203
204
205205
206206
207207
......
416416
417417
418418
419
420
419
420
421421
422422
423423
......
435435
436436
437437
438
439
438
439
440440
441441
442442
......
457457
458458
459459
460
461
460
461
462462
463463
464464
......
11141114
11151115
11161116
1117
1118
1119
1120
1117
1118
1119
1120
11211121
11221122
11231123
iDeviceGeneric_o,
iDeviceHFS,
iDeviceHFS_o,
//iDeviceHFS_gala,
//iDeviceHFS_gala_o,
//iDeviceHFS_capitan,
//iDeviceHFS_capitan_o,
iDeviceHFS_yos,
iDeviceHFS_yos_o,
iDeviceHFS_mav,
iDeviceHFSRAID,
iDeviceHFSRAID_o,
//iDeviceHFSRAID_gala,
//iDeviceHFSRAID_gala_o,
//iDeviceHFSRAID_capitan,
//iDeviceHFSRAID_capitan_o,
iDeviceHFSRAID_yos,
iDeviceHFSRAID_yos_o,
iDeviceHFSRAID_mav,
iDeviceHFSFUSION,
iDeviceHFSFUSION_o,
//iDeviceHFSFUSION_gala,
//iDeviceHFSFUSION_gala_o,
//iDeviceHFSFUSION_capitan,
//iDeviceHFSFUSION_capitan_o,
iDeviceHFSFUSION_yos,
iDeviceHFSFUSION_yos_o,
iDeviceHFSFUSION_mav,
{.name = "device_generic_o", .image = NULL},
{.name = "device_hfsplus", .image = NULL},
{.name = "device_hfsplus_o", .image = NULL},
//{.name = "device_hfsplus_gala", .image = NULL},
//{.name = "device_hfsplus_gala_o", .image = NULL},
//{.name = "device_hfsplus_capitan", .image = NULL},
//{.name = "device_hfsplus_capitan_o", .image = NULL},
{.name = "device_hfsplus_yos", .image = NULL},
{.name = "device_hfsplus_yos_o", .image = NULL},
{.name = "device_hfsplus_mav", .image = NULL},
{.name = "device_hfsraid", .image = NULL},
{.name = "device_hfsraid_o", .image = NULL},
//{.name = "device_hfsraid_gala", .image = NULL},
//{.name = "device_hfsraid_gala_o", .image = NULL},
//{.name = "device_hfsraid_capitan", .image = NULL},
//{.name = "device_hfsraid_capitan_o", .image = NULL},
{.name = "device_hfsraid_yos", .image = NULL},
{.name = "device_hfsraid_yos_o", .image = NULL},
{.name = "device_hfsraid_mav", .image = NULL},
{.name = "device_hfsfusion", .image = NULL},
{.name = "device_hfsfusion_o", .image = NULL},
//{.name = "device_hfsfusion_gala", .image = NULL},
//{.name = "device_hfsfusion_gala_o", .image = NULL},
//{.name = "device_hfsfusion_capitan", .image = NULL},
//{.name = "device_hfsfusion_capitan_o", .image = NULL},
{.name = "device_hfsfusion_yos", .image = NULL},
{.name = "device_hfsfusion_yos_o", .image = NULL},
{.name = "device_hfsfusion_mav", .image = NULL},
LOADPNG(device_generic_o, iDeviceGeneric);
LOADPNG(device_hfsplus, iDeviceGeneric);
LOADPNG(device_hfsplus_o, iDeviceHFS);
//LOADPNG(device_hfsplus_gala, iDeviceHFS);
//LOADPNG(device_hfsplus_gala_o, iDeviceHFS_gala);
//LOADPNG(device_hfsplus_capitan, iDeviceHFS);
//LOADPNG(device_hfsplus_capitan_o, iDeviceHFS_capitan);
LOADPNG(device_hfsplus_yos, iDeviceHFS);
LOADPNG(device_hfsplus_yos_o, iDeviceHFS_yos);
LOADPNG(device_hfsplus_mav, iDeviceHFS);
LOADPNG(device_hfsraid, iDeviceHFS);
LOADPNG(device_hfsraid_o, iDeviceHFSRAID);
//LOADPNG(device_hfsraid_gala, iDeviceHFSRAID);
//LOADPNG(device_hfsraid_gala_o, iDeviceHFSRAID_gala);
//LOADPNG(device_hfsraid_capitan, iDeviceHFSRAID);
//LOADPNG(device_hfsraid_capitan_o, iDeviceHFSRAID_capitan);
LOADPNG(device_hfsraid_yos, iDeviceHFSRAID);
LOADPNG(device_hfsraid_yos_o, iDeviceHFSRAID_yos);
LOADPNG(device_hfsraid_mav, iDeviceHFSRAID);
LOADPNG(device_hfsfusion, iDeviceHFS);
LOADPNG(device_hfsfusion_o, iDeviceHFSFUSION);
//LOADPNG(device_hfsfusion_gala, iDeviceHFSFUSION);
//LOADPNG(device_hfsfusion_gala_o, iDeviceHFSFUSION_gala);
//LOADPNG(device_hfsfusion_capitan, iDeviceHFSFUSION);
//LOADPNG(device_hfsfusion_capitan_o, iDeviceHFSFUSION_capitan);
LOADPNG(device_hfsfusion_yos, iDeviceHFSFUSION);
LOADPNG(device_hfsfusion_yos_o, iDeviceHFSFUSION_yos);
LOADPNG(device_hfsfusion_mav, iDeviceHFSFUSION);
devicetype = (device->flags & kBVFlagBooter ? iDeviceHFSRAID_yos : iDeviceHFS_yos);
break;
}
//if (device->OSVersion[4] == '1') { // 10.11
//devicetype = (device->flags & kBVFlagBooter ? iDeviceHFSRAID_??? : iDeviceHFS_???);
//break;
//}
if (device->OSVersion[4] == '1') { // 10.11
devicetype = (device->flags & kBVFlagBooter ? iDeviceHFSRAID_yos : iDeviceHFS_yos); // El Capitan
break;
}
default:
devicetype = (device->flags & kBVFlagBooter ? iDeviceHFSRAID : iDeviceHFS);
break;

Archive Download the corresponding diff file

Revision: 2708