(Answer) (Category) Linux on PowerPC FAQ-O-Matic : (Category) PowerPC Linux : (Category) BeBox :
Clock runs fast on my PCI mac under MkLinux. What can I do?
As of 030397 (in the WIP mach kernel) you can specify the clock

speed in the mklinux control panel (which is under MacOS)

 
Go into mklinux control panel, click on 'custom' and add the

line

 
mach_options= bus_speed_hz=44000000

 
(this example assumes your machine's bus speed is 44MHz).

 
if there's already a mach_options line, just append the bus_speed

stuff to the end of the line.

 
The clock speed stuff will eventually be automatic!

 
[ Nick ]

 
%9n.stephen@opengroup.org

-----

Dave Mill's xntpd builds fine under MkLinux and will sync your clock
to an external source on the Internet.  When I first started it up,
it took quite a while to sync the clock (probably due to the issues
above), but after a few days, it figured out what my clock drift was
and my clock is now completely accurate.

xntpd may be found at ftp.udel.edu in /pub/ntp.

       cwg@DeepEddy.Com
 
OLDER INFORMATION APPLYING TO PREVIOUS KERNELS

 
You will need to recompile Mach Kernel to keep your clock steady.

 
Note: The following hack works only if you have a 604 chip with a bus

speed different from 40MHz.  Also, as you might guess, this hack is only

meant to be a temporary measure until an appropriate clock mechanism is

incorporated in Mach Kernel.  So, if the clock drift is something you can

live with, then I strongly suggest that you not follow this.

 
Once you have successfully untar'd all of the Mach Kernel sources,

find the file named model_dep.c in the following directory:

/usr/src/mklinux-1.0DR2/osfmk/src/mach_kernel/ppc or equivalent.

Then, edit model_dep.c to reflect your machine configuration, and

compile Mach Kernel.  The line to edit depends on the source codes you

have:

 
Case (1): If your Mach Kernel source is from 961211, then change the

line 622 of model_dep.c.

 
Before:

      now.time64 = now.time64 * (powermac_info.bus_speed_ns* 4);

After:

      now.time64 = (now.time64 * 4000)/YOUR_BUS_SPEED_IN_MHz;

 
Replace YOUR_BUS_SPEED_IN_MHz with the appropriate number in MHz.  (ex.

44 for my 7600/132 with 44MHz bus.)

 
Case (2): If your Mach Kernel source is from 970129 or later (up to

970213), then change the line 633 of model_dep.c.

 
Before:

               powermac_info.bus_clock_rate_hz    = 40000000; /* 40 MHz */

After:

               powermac_info.bus_clock_rate_hz    = YOUR_BUS_SPEED_IN_Hz;

 
Replace YOUR_BUS_SPEED_IN_Hz with the appropriate number in Hz.  (ex.

44000000 for my 7600/132 with 44MHz bus.)

 
 
toe@unlinfo.unl.edu

 
%9n.stephen@opengroup.org, cwg@DeepEddy.Com, toe@unlinfo.unl.edu
[Append to This Answer]
Previous: (Answer) Which video cards are supported?
Next: (Answer) Is there a Linux for BeBox web site?
This document is: http://www.jonh.net/cgi-bin/lppcfom/fom?file=135
[Search] [Appearance]
This is a Faq-O-Matic 2.717d.
Hosted by anduin.org and SourceForge Logo