The first stage of the project completed! BootX works correctly. It sets up graphical display, shows a familiar Apple logo, loads the kernel and drivers (currently only AppleRAID) and starts up the kernel.
BootX is able to read MacOS X CD (native Apple CD with Apple partition map and HFS+ filesystem) and launch the kernel directly from it.
At this point the whole thing freezes (however this can be not 100% true, i've forgotten to turn on debug mode for the kernel, will try it today).
Now the project enters Stage II. I will connect a bunch of LEDs to the parallel port and play with recompiled OpenDarwin kernel with inserted output of diagnostics codes to these LEDs. This is the simplest way to debug lowlevel stuff, even simpler than using serial port, it requires just one command to perform the output.
I guess i've messed up something with memory relocation in BootX.
BootX still has two noncritical known problems:
1. Direct hardware VGA video driver doesn't work, it sets up the card incorrectly. Fixing it requires lots of time and efforts, i don't have necessary resources. This affects older firmware than 1.2 (so it mainly relates to Pegasos-1 users)
2. Keyboard checking (Cmd-V pressing) is still not implemented (i've just decided to leave it for now, however this is fixable and will be fixed).
|