================================================================
  Compilation Instructions
================================================================

Mac-on-linux consists of three parts:

	- low-level kernel hooks
	- Mac-on-Linux kernel module
	- user program

Note that you might need a ROM image to use MOL, dependning
on which machine you have (please read the Status document).


Compiling the kernel
====================

	The Mac-on-Linux kernel patch is available in the
	Kernel_Patches directory. Please refer to the document
	Patching (in the mol/Doc or /usr/doc/mol/ directory)
	for more information.

	It is not necessary to patch 2.2 kernels more recent 
	than 2.2.6, since these can be patched at runtime.


R4-Requirements
===============

	If you are running linuxppc-R4, then before building MOL,
	you should make sure you are using a recent version of glibc. 
	I recommend 

		glibc-*-0.961212-1o.ppc.rpm

	or (even better, install R5!). Earlier libraries will cause 
	various segmentation faults. Note that it is *not* 
	sufficient to use the version included in the R4 distribution. 

	A link to the library:

	<ftp://ftp.linuxppc.org/pub/linuxppc/users/gdt/redhat/RPMS/ppc/>.


Building MOL
=============

	Building MOL is straightforward:

		bash$ make clean
		bash$ make

	You might also want to build the utilities (mostly 
	development tools)

		bash$ make utils

	The next step is installing MOL (as root)

		bash$ make install

	All done!


Running MOL
=============

	The file '/etc/molrc' contains various runtime-settings
	(which volumes to mount etc). In particular, you
	need to specify the path to the ROM image.

	After editing the 'molrc' file, start MOL:

		bash$ startmol

	If you are running an unpatched 2.2.X kernel, then
	MOL hooks will be installed automatically provided that
	the file /boot/System.map file is up to date. If the
	System.map file is invalid, then there will be an
	error message. Try

		bash$ startmol vmlinux

	where 'vmlinux' is the kernel image currently running,
	or

		bash$ startmol System.map

	where 'System.map' corresponds to the running kernel
	(or even better - replace the incorrect one in the
	/boot directory)



