Announcing the fifth update to MkLinux DR2.1.

The “DR2.1update5” update fixes several bugs in MkLinux’s Microkernel and
Server. Some performance enhancements and new features are included as
well.

The update is available for anonymous ftp from ftp.mklinux.apple.com:

ftp://ftp.mklinux.apple.com/pub/Updates/DR2.1update5/

or our various mirror sites, in the directory:

…/Updates/DR2.1update5/

(Please be patient with the mirror sites, it may take them some time to
mirror the update)

*** IMPORTANT NOTES ****

General

This update consists of a new Microkernel, Linux Server, Default Pager, and
MkLinux Booter. Unlike updates 3 and 4, there are no new RPM (Redhat
Package Manager) packages to download and install. There have been newer
versions of some of the shared library based RPMs made available since
update 4, as well as many shared library based RPMs that weren’t part of
updates 3 and 4. However, they are not part of this update. You may obtain
them separately from ftp.linuxppc.org and its mirrors.

The sources to the Microkernel, Default Pager, and Linux Server, as well as
the tools and instructions needed to build them, are included for those of
you interested. However, there is no requirement to rebuild these
components in order to apply the update.

Upgrade Path

This is an update to MkLinux DR2.1. If you are still running MkLinux DR1,
DR2, or DR2 with updates, then you should upgrade to DR2.1 before applying
this update.

It is easiest if you apply this update to a system that has already been
updated to the previous level, DR2.1update4. However, it is possible to
skip updates if you follow the instructions in the file README.install.

Here’s a summary:

From: To: Valid:
—– — ——
DR2.1update4 -) DR2.1update5 (YES)
DR2.1update3 -) DR2.1update5 (YES) *
DR2.1update2 -) DR2.1update5 (YES) *
DR2.1update1 -) DR2.1update5 (YES) *
DR2.1 -) DR2.1update5 (YES) *
DR2 -) DR2.1update5 (NO)
DR1 -) DR2.1update5 (NO)

* Note: When updating a DR2.1, DR2.1update1, DR2.1update2, or DR2.1update3
system to this update (DR2.1update5), you will need to apply the pieces
from this update (the kernel, server, default pager, and booter) and then
bring the shared libraries on your system up to the “DR2.1update4” level.
See the file README.install for more information.

Bug Fixes

We believe this update fixes the following bugs.

– All the memory in large memory machines can now be used. In previous
updates, people with more than about 90 Mb of ram had to limit their memory
by using the “-m” mach option. The “-m” option still works. However, you
should now remove the “-m” option if you used it in the past. NOTE: take
care to keep the Linux server from using more memory than it can handle,
see the Enhancements section below.

– The saved MacOS timezone is now used by the microkernel to determine its
own time, which is in GMT. The Linux server’s time is then derived from the
microkernel’s time.

– On PCI machines, the bus speed is properly detected. The previous
workaround, mach option “bus_speed_hz”, no longer does anything.

– On PCI machines, the video card (ATI or IMS Twin Turbo) is properly
detected. The previous workaround, mach option “video_probe”, no longer
does anything.

– There are fixes in signal handling that were causing problems with the
JDK (Java Development Kit).

Enhancements

– New MkLinux Booter
– Ability to boot with MacOS’s VM on
– Passes open firmware device tree to Microkernel
– Can default boot into MkLinux or MacOS
– NOTE: This Booter will not work with any Mach Kernel
prior to the one in DR2.1update5.

– The IMS Twin Turbo video card now works properly.

– Audio now works on PCI based Macs.
– You’ll notice that there is now an audible “beep” on these machines.
– Audio recording isn’t available yet.
– Audio support for the NuBus Macs (6100/7100/8100] is not in this
update. We expect to have it working on these machines soon.
– There is a nice utility called wavplay that will play “.wav” files.
You can retrieve it from ftp://ftp.linuxppc.org/linuxppc/redhat/RPMS/ppc/

– Improved disk I/O performance. Swapping/Paging performance has
been improved as well.

– Real SPL’s have been implemented on the PCI Powermacs. This helps
balance the I/O load placed on a system. It is also more of the
groundwork being put in place for future SMP capability.

– Additions to the /proc filesystem. In /proc/osfmach3/ there are some
more entries describing what’s going on inside Mach. /proc/scsi/scsi
is now present and contains useful information.

– Now uses the same kernel loadable modules as Linux/PPC.

– A second segment register was added to the collocated server space. This
means that the Linux server can map up to 512M when collocated.
NOTE: for systems with more than 160M of RAM, you should change a line
in your /mach_servers/bootstrap.conf file so that the Linux server
doesn’t grow bigger than it thinks it can handle. The line you will
want to have is:
-k -S 524288000 startup /dev/boot_device/mach_servers/vmlinux
Make this change _before_ you remove the “-m” option from your lilo.conf,
if you had used -m in the past.

– HFS filesystem support built in to Linux server and bootstrap task.

– The standard Linux little-endian ext2 support is built into the Linux
server and bootstrap task. (Naturally, big-endian “ext2” is still
available in this update.)

Known Problems

– When booting with MacOS’s VM turned on, some machines exhibit a
noticible delay between the “System Booting…” message, and the
first screen clear by the Microkernel. You may need to wait a few
seconds.

– This isn’t really a problem, but most likely some people will
run into this. You _must_ update the “MkLinux Booter” as well
as the “Mach Kernel” in your Extensions folder. Any previous
Booter will not work with the new Mach Kernel provided in this
update. And vice-versa, any previous Mach Kernel will not work
with the MkLinux Booter provided in this update.

– Another “this isn’t really a problem” about the “MkLinux Booter”
“Mach Kernel”. These two files have very specific names and things will
_not_ work properly if they don’t have the correct names. The new booter
_must_ have the name “MkLinux Booter” (with the space and without the
quotes). The new microkernel _must_ have the name “Mach Kernel” (with
the space and without the quotes). It is quite common to forget to change
the underscore “_” in Mach_Kernel to a space. Also, as usual with
recent MkLinux updates, the Mach Kernel does not have a pretty icon.

Quick Guide to Files Available in the DR2.1update5 Directory:

Required for the update:

README
contains this message

README.install
How to install the Mach Kernel, Linux Server, Default Pager
and MkLinux Booter

MkLinux_Booter.hqx
The MkLinux Booter (a MacOS extension) binhexed

Mach_Kernel.gz
vmlinux.gz
default_pager.gz
The Mach Kernel, Linux Server, and Default Pager in gzipped
(ie. compressed) form

Optional sources and build tools:

README.build
How to build the Mach Kernel and/or Linux Server
(along with some other tasks in the Microkernel tree, such as
the Default Pager)

DR2.1update5.osfmk.src.tgz
Sources to Mach Kernel in gzipped tar format.
(to extract: tar -zxpf DR2.1update5.osfmk.src.tgz)

DR2.1update5.osfmk.export.tgz
The export/powermac directories, which contains the “exportable”
pieces of the Microkernel build (include files and libraries)
(to extract: tar -zxpf DR2.1update5.osfmk.export.tgz)

DR2.1update5.mklinux.src.tgz
Sources to the Linux Server update in gzipped tar format.
(to extract: tar -zxpf DR2.1update5.mklinux.src.tgz)

DR2.1update5.tools.tgz
Various “Mach tools” that are needed to build both the microkernel
and the Linux server.

ode-bin.tgz
OSF development environment tools that are needed to build the
microkernel.