October 21, 1997 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.