Index: branches/azimutz/Chazi/doc-azi/Modules.txt =================================================================== --- branches/azimutz/Chazi/doc-azi/Modules.txt (revision 498) +++ branches/azimutz/Chazi/doc-azi/Modules.txt (revision 499) @@ -54,6 +54,8 @@ SSE3 instructions, will benefit of the same treatment! Let's just say that the only patch needed by the 925 on Legacy Mode(**) is cpuid_set! + Note: Kernel Patcher can stop working due to changes on the kernel code. + - HelloWorld.dylib: just a notifier (not mandatory). @@ -66,14 +68,12 @@ Issues: - - modules may fail to load, if you have the booter on a separate device/partition and try - to load modules from selected volume. Confirmed on MBR/boot0hfs install only. + - the default path for loading modules (/Extra/modules/) is not being respected, the booter + always checks bt(0,0)/Extra/modules/ instead. + Anyway, i already intended to change the path due to the concept of this booter + and so i did it. Of course the problem is still there and needs to be fixed, at least if + one wants to be able to load modules from selected volume. - - the Kernel Patcher can stop working due to changes on the kernel code, though that can be - "previewed" to some extent. Just so you know what to expect. - - - this is work in progress; i will add updates as Meklort commits. - ---------------//---------------//--------------- Index: branches/azimutz/Chazi/i386/boot2/boot.c =================================================================== --- branches/azimutz/Chazi/i386/boot2/boot.c (revision 498) +++ branches/azimutz/Chazi/i386/boot2/boot.c (revision 499) @@ -290,7 +290,7 @@ } // Intialize module system - if(init_module_system()) + if (init_module_system()) { load_all_modules(); } Index: branches/azimutz/Chazi/i386/boot2/modules.c =================================================================== --- branches/azimutz/Chazi/i386/boot2/modules.c (revision 498) +++ branches/azimutz/Chazi/i386/boot2/modules.c (revision 499) @@ -54,11 +54,11 @@ int init_module_system() { // Intialize module system - if(load_module(SYMBOLS_MODULE)) + if (load_module(SYMBOLS_MODULE)) { lookup_symbol = (void*)lookup_all_symbols(SYMBOL_LOOKUP_SYMBOL); - if((UInt32)lookup_symbol != 0xFFFFFFFF) + if ((UInt32)lookup_symbol != 0xFFFFFFFF) { return 1; } @@ -78,12 +78,13 @@ * link one module with the other. For dyld to allow this, you must * reference at least one symbol within the module. */ -void load_all_modules() +void load_all_modules() // called on boot.c { char* name; long flags; long time; - struct dirstuff* moduleDir = opendir("/Extra/modules/"); + //Azi: Modules.txt-->Issues + struct dirstuff* moduleDir = opendir("bt(0,0)/Extra/modules/"); while(readdir(moduleDir, (const char**)&name, &flags, &time) >= 0) { if(strcmp(&name[strlen(name) - sizeof("dylib")], ".dylib") == 0) @@ -109,7 +110,7 @@ int load_module(char* module) { // Check to see if the module has already been loaded - if(is_module_laoded(module)) + if(is_module_loaded(module)) { // NOTE: Symbols.dylib tries to load twice, this catches it as well // as when a module links with an already loaded module @@ -119,7 +120,8 @@ char modString[128]; int fh = -1; - sprintf(modString, "/Extra/modules/%s", module); + //Azi: Modules.txt-->Issues + sprintf(modString, "bt(0,0)/Extra/modules/%s", module); fh = open(modString, 0); if(fh < 0) { @@ -1048,7 +1050,7 @@ } -int is_module_laoded(const char* name) +int is_module_loaded(const char* name) { moduleList_t* entry = loadedModules; while(entry) Index: branches/azimutz/Chazi/i386/boot2/boot.h =================================================================== --- branches/azimutz/Chazi/i386/boot2/boot.h (revision 498) +++ branches/azimutz/Chazi/i386/boot2/boot.h (revision 499) @@ -101,7 +101,7 @@ #define kTestConfigKey "config" // stringTable.c #define kCanOverrideKey "CanOverride" // stringTable.c #define kAutoResolutionKey "AutoResolution" // boot.c -#define kKPatcherKey "PatchKernel" // boot.c +#define kKPatcherKey "PatchKernel" // kernel_patcher.c /* * Flags to the booter and/or kernel - these end with "Flag". Index: branches/azimutz/Chazi/i386/boot2/modules.h =================================================================== --- branches/azimutz/Chazi/i386/boot2/modules.h (revision 498) +++ branches/azimutz/Chazi/i386/boot2/modules.h (revision 499) @@ -74,7 +74,7 @@ void bind_macho(void* base, char* bind_stream, UInt32 size); int load_module(char* module); -int is_module_laoded(const char* name); +int is_module_loaded(const char* name); void module_loaded(const char* name/*, UInt32 version, UInt32 compat*/); long long add_symbol(char* symbol, long long addr, char is64); Index: branches/azimutz/Chazi/i386/modules/KernelPatcher/kernel_patcher.c =================================================================== --- branches/azimutz/Chazi/i386/modules/KernelPatcher/kernel_patcher.c (revision 498) +++ branches/azimutz/Chazi/i386/modules/KernelPatcher/kernel_patcher.c (revision 499) @@ -315,7 +315,7 @@ bytes[patchLocation + 4] = 0x90; printf("0x%X 0x%X 0x%X 0x%X 0x%X\n", bytes[patchLocation ], bytes[patchLocation +1], bytes[patchLocation +2], bytes[patchLocation +3], bytes[patchLocation +4]); - getc(); + //getc(); // Locate the jump call, so that 10 bytes can be reclamed. // NOTE: This will *NOT* be located on pre 10.6.2 kernels