Hey guys, sorry to come back to you so late, but my laptop was off the internet until now. I don't have much time, so I'll just attach the bootloader patch. Note that the only functional change I did was changing a few defines that affect the layout of things in memory.
Cheers, Mattias On Sat, 2006-08-05 at 13:06 +0200, Aurélien GÉRÔME wrote: > On Sat, Aug 05, 2006 at 12:57:31PM +0200, Elimar Riesebieter wrote: > > On Sat, 05 Aug 2006 the mental interface of > > Aurélien GÉRÔME told: > > > > > On Sat, Sep 17, 2005 at 06:02:43PM +0200, Elimar Riesebieter wrote: > > > > According to #328826 we need the bootx loader from > > > > http://www-user.rhrk.uni-kl.de/~nissler/mol/bootx.gz to run OSX10.4 > > > > out of linux. > > > > > > Is there somewhere by any chance the source code of this ELF file? > > > > I don't know :( > > Indeed, and that is precisely why I Cc'ed Mattias Nissler, the author > of the patch, to get some more details about how he proceeded. ;) > > Cheers,
Only in mol_bootx: .deps Only in mol_bootx: .inc-ppc Only in mol_bootx: autom4te.cache Only in mol_bootx: config.log Only in mol_bootx: config.status Only in mol_bootx: configure Only in mol_bootx/rules: Makefile.defs diff -ur mol_bootx_orig/rules/Makefile.top mol_bootx/rules/Makefile.top --- mol_bootx_orig/rules/Makefile.top 2005-10-11 05:49:55.000000000 +1300 +++ mol_bootx/rules/Makefile.top 2005-07-05 10:57:09.000000000 +1200 @@ -9,7 +9,7 @@ # No serviceable parts below ################################################################# -VERSION := 0.9.70 +VERSION := 0.9.70 [96MB memory map patch] EXTRA_VERSION := $(VENDOR) RELEASENAME := $(VERSION)$(EXTRA_VERSION)$(VENDOR) @@ -27,9 +27,6 @@ ARCH := $(shell $(scriptdir)/archname $$ARCH) export ARCH -IDIRS = -I. -I$(ARCHINCLUDES) -I./include -I$(srcdir)/include \ - -I$(srcdir)/shared -I$(srcdir)/osiinclude $(INCLUDES) -I- - all: -include $(top_srcdir)/rules/Makefile.defs @@ -39,3 +36,7 @@ DISTCLEANFILES = .objs-* LIBGCC = `$(CC) -print-libgcc-file-name` + +IDIRS = -I. -I$(ARCHINCLUDES) -I./include -I$(srcdir)/include \ + -I$(srcdir)/shared -I$(srcdir)/osiinclude $(INCLUDES) -I- + Only in mol_bootx/rules: config.h.in diff -ur mol_bootx_orig/setup_links mol_bootx/setup_links --- mol_bootx_orig/setup_links 2005-10-11 05:49:55.000000000 +1300 +++ mol_bootx/setup_links 2005-07-05 10:37:29.000000000 +1200 @@ -24,7 +24,7 @@ SDIR="$PREFIX$MDIR/src" -ln -s "$SDIR/include/osi_calls.h" src/osiinclude/ +ln -s "$SDIR/shared/osi_calls.h" src/osiinclude/ ln -s "$SDIR/include/pseudofs_sh.h" src/osiinclude/ ln -s "$SDIR/include/boothelper_sh.h" src/osiinclude/ ln -s "$SDIR/drivers/disk/include/ablk_sh.h" src/osiinclude/ Only in mol_bootx/src: .deps Only in mol_bootx/src: .dummy.c Only in mol_bootx/src: .objs-ppc Only in mol_bootx/src/accel: .deps Only in mol_bootx/src/accel: .objs-ppc Only in mol_bootx/src: bootx Only in mol_bootx/src: bootx.syms Only in mol_bootx/src/fs: .deps Only in mol_bootx/src/fs: .objs-ppc diff -ur mol_bootx_orig/src/include/sl.h mol_bootx/src/include/sl.h --- mol_bootx_orig/src/include/sl.h 2005-10-11 05:50:15.000000000 +1300 +++ mol_bootx/src/include/sl.h 2005-07-05 10:48:55.000000000 +1200 @@ -32,6 +32,7 @@ #define kFailToBoot (1) +#if 0 /* Memory Map... Assumes 32 MB @@ -85,6 +86,61 @@ #define kMallocAddr (0x01D00000) #define kMallocSize (0x00100000) +#endif + +/* + +Memory Map: assumes 96 MB + +Physical Address + +Open Firmware Version 3x, 4x, ... +00000000 - 00003FFF : Exception Vectors +00004000 - 057FFFFF : Free Memory +05800000 - 05FFFFFF : OF Image + + +Logical Address + +00000000 - 00003FFF : Exception Vectors +00004000 - 03FFFFFF : Kernel Image, Boot Struct and Drivers +04000000 - 04FFFFFF : File Load Area +05000000 - 053FFFFF : FS Cache +05400000 - 055FFFFF : Malloc Zone +05600000 - 057FFFFF : BootX Image +05800000 - 05FFFFFF : Unused + +*/ + +#define kVectorAddr (0x00000000) +#define kVectorSize (0x00004000) + +// OF 3.x +#define kImageAddr (0x00004000) +#define kImageSize (0x03FFC000) + +// OF 1.x 2.x +#define kImageAddr0 (0x00004000) +#define kImageSize0 (0x002FC000) +#define kImageAddr1 (0x00300000) +#define kImageSize1 (0x00200000) +#define kImageAddr1Phys (0x05800000) +#define kImageAddr2 (0x00500000) +#define kImageSize2 (0x03B00000) + +#define kLoadAddr (0x04000000) +#define kLoadSize (0x01000000) + +#define kFSCacheAddr (0x05000000) +#define kFSCacheSize (0x00400000) + +#define kMallocAddr (0x05400000) +#define kMallocSize (0x00200000) + +#define kMallocAddr_H (0x05400000) +#define kMallocSize_H (0x00200000) +#define kImageAddr_H (0x06000000) + // Default Output Level #define kOutputLevelOff (0) #define kOutputLevelFull (16) Only in mol_bootx/src/libc: .deps Only in mol_bootx/src/libc: .objs-ppc Only in mol_bootx/src/main: .deps Only in mol_bootx/src/main: .objs-ppc Only in mol_bootx/src: osiinclude Only in mol_bootx/src: shared