[an error occurred while processing this directive](none)
MkLinux: Developer Corner[an error occurred while processing this directive]: Kernel Information
Think Differently. Think MkLinux.
Home | About | News | FAQ | Getting Started | Using MkLinux | Advanced Admin

What's with all these MkLinux Kernels?

GENERIC, PowerBook, DR3 Stock, and friends

This page attempts to describe most of the various MkLinux kernels from DR3 to the present. Note that some kernels generated by others as test kernels for a specific bug are omitted, since the changes were subsequently merged into GENERIC kernels. These are approximately in chronological order, so current kernels are listed at the end.

For those who wish to live on the "bleeding edge", you can obtain the latest development sources via CVS.

Kernel Name


Stock (DR3) This is the preferred term for the kernel/server pair that ships with DR3. It does not support the PB1400 or the PowerBook G3 series machines.

PowerBook Kernels Outdated kernels... The non-g3-specific kernels are listed below, with descriptions being rather vague, as these kernels are ancient.

pre 2400 patch
This series superceded by GENERIC kernels.

w/ 2400 patch
This series superceded by GENERIC kernels.

clean tree w/ 2400 patch & reworked 1400 patch and pmu patches
This series superceded by GENERIC kernels.

final PowerBook kernel -- added fix for crash when setting time
This series superceded by GENERIC kernels.

same as GENERIC #00, but adds code for PB1400 expansion bay support. May break other systems, and will probably fail if there is no IDE/ATAPI drive in expansion bay (e.g. CD-ROM). Very outdated.

These are the earliest attempts to get the early performas working. The machines now boot, but these are NOT the working ones.

These are part of a failed attempt to fix the "hash table size halved: pmap.c needs fixing" bug. I couldn't get this working, and since the problem isn't critical, I dropped the issue.

These are part of an attempt to fix various bugs in the IDE drivers. It quickly became too difficult to maintain two versions of the IDE driver, and the more relevant debugging messages became part of the GENERIC kernels.

GENERIC Series Kernels

This kernel supercedes the PowerBook Kernels. It contains the PowerBook 1400 changes (but no expansion bay support) and a handful of other fixes. Beyond this, it's fairly close to stock DR3.

breaks for systems that give the hash table halved message, as an attempted fix for this was unsuccessful.

Includes ATI 16 bit video support patches, changes to support several multi-button mice, XClaim 3d high resolution support patches, a partially rewritten IDE probe code borrowed from NetBSD, switchable PB1400 expansion bay support (mach_options=-e) and video caching (mach_options=-v).

a patch release that breaks for everyone. The attempted pmap fixes didn't work (crashed in pmap initialization).

Includes fix for BAD SIGNATURE bug on G3 machines, allows carriage returns in bootstrap.conf file, and attempted to revert to the original pmap code. The reversion was one that attempted to leave the broken code, but make it behave like the original code temporarily, but this apparently differed very subtly and broke lots of machines that were working before. that change was subsequently reverted entirely....

Never released.... A second attempt to correct the pmap code in a way that would leave the mods intact but wouldn't crash. This worked somewhat, but caused strange linux server-related crashes when fsck'ing disks. It was for this reason that the pmap fix project was postponed indefinitely.

Completely reverted to the original pmap code, since attempts to fix it were totally unsuccessful.

No functionality added from 01a.

This is the first GENERIC to be released as a kernel/server pair. Previous releases were Mach Kernels only.

MACH KERNEL: Corrects the support for the PB1400 expansion bay switch (-e), fixing crash on PB5300's in the process (it was half on, half off, with either setting). Also incorporates some printf patch related to firewall logging (I don't ask questions...) and adds support for Mouse Systems' 3 button mice.

VMLINUX SERVER: based on 2.0.35, includes GPM support, patches to fix low swap space crashes, patches to allow serial support to be built as a module, high resolution XClaim support patches (vmlinux portion), and support for greyscale PB5300's. Note: GPM support broke many 3-button mice.

MACH KERNEL: fix for underlying cause of jiffies_thread crashes, adds a patch to more crash with large memory from the mach kernel into the linux server. Added code to attempt to more accurately determine which video hardware is actually being used for the console (compares base address instead of just picking the first one that it finds), which fixes color palette problems for some people. It also breaks the color palette for PowerMac 7200's and G3 desktop and MT machines.

VMLINUX SERVER: attempts to add accelerated X support with custom X servers. Apparently doesn't actually work with the latest version of that X server, but neither did the pre-built version that contained only this patch. Also, should add ISO 9660 support. Finally, turns on IP Masquerading and IP forwarding support.

MACH KERNEL: Fix for 3 button mice, and GPM still works. Also, fix for color palette problems on 7200's and G3's, hopefully without compromising the previous gain. Added support for 7100/66's with their L2 cache removed (which changed their gestalt number). Also, made WORM (optical) drives act more like CD-ROM drives. Fixed race condition in PDM (x100) motherboard video (console) support. Work begun on Performa class machine support.

VMLINUX SERVER: Added support for 3-button mouse emulation with one-button mice. Fix for gdb (flushing instruction cache). Work begun on native threads support. Work begun on multiple ethernet device support.

MACH KERNEL: Floppy Support on PCI machines ONLY. Will crash other machines at the moment. Left expansion bay support for the floppy drive on PB G3 series, and hopefully support for left expansion bay IDE devices as well. Several fixes to G3 ethernet, apparently fixing some critical timing-related issues on some of the faster Revision 2 and possibly revision 3 machines. Attempted support for BMAC+. Decreased noise about recovered errors for some removable drives. Support for Gatwick interrupt controller in G3 series laptops, allowing the left bay floppy and IDE support. Eventually, this should allow internal modem support, after some fixes to the scc driver. Not yet, though. :-) Hopefully, a fix for the bug that caused the clock to stand still in MacOS on some PowerBooks when rebooting out of MkLinux. Preliminary Generic SCSI driver (*UNTESTED*). Changes that may improve performance on machines without DMA IDE support, specifically the PB5300 and PB1400 (*UNTESTED*). Changes to attempt to reduce problems with mounting write protected floppies read-write (still not quite working like I'd hoped, but the G06 release is behind schedule enough w/o fixing this one completely). Can now compile DEBUG kernels again. Fix to printf code for firewall logging (not sure if this is enabled in the precompiled kernel, but...).

I've also put the modules in a tarball in the MkLinux directory.

VMLINUX SERVER: Fixed several problems in process accounting info (zeroes in ps, etc.), along with a few other changes. Hopefully fixed the problems with free block count errors in the ext2 filesystem code. Hopefully a complete fix for the jiffies_thread bug. Hopefully, support for Kensington TurboMouse (and Orbit) trackballs. Three button emulation for single button mice, with appropriate linux server arguments (in either bootstrap.conf or lilo.conf, as convenient). Should correctly store fault address for use by signal handlers.

Mach Kernel: This is believed to include working support for left expansion bay IDE devices in the PowerBook G3 series. It also should include several IDE driver fixes. Finally, changes were made that should allow x100 users with processor upgrade cards to use motherboard video (eliminates the requirement of having a video card).

Mach Kernel: Multiprocessor version

VMLINUX SERVER: This upgrades the vmlinux source base to 2.0.37. It also fixes problems with many three button mice that broke in GENERIC #06, but in so doing, removes support for the mice added in #06 (the Kensington TurboMouse and Orbit trackballs).

GENERIC #08 Alpha n
The GENERIC #08 alpha series is intended to clean up the kernel and linux server for the MkLinux R1 distribution.

MACH KERNEL: See new feature list below.

VMLINUX SERVER: Some small bug fixes, nothing major.

Known New features:

  • x100 (NuBus desktop) floppy support.
  • PlanB video input in a window (PCI only).
  • Hopefully better serial port handling.
  • Confirmed multiple ethernet support.
  • Numerous bug fixes.
Known Shortcomings:

  • Still no floppy support on 7500/7600 machines.
  • May have more debugging messages than reasonable.

The very latest kernels. A late GENERIC #09 alpha is highly recommended for x100 machines, as it fixes the boot problem in GENERIC #08. Also PERFORMA kernels live here.

OLD Development
The development directory contains old kernels that were not meant for public consumption, but attempt to fix a handful of particular bugs. Generally when a handful of bugs have been fixed, a GENERIC kernel is built with the fixes.

Home | About | News | FAQ | Getting Started | Using MkLinux | Advanced Admin

Contact the web team at mklinux-www@mklinux.org.

Copyright (©) 2001 MkLinux Developers Association. Permission to freely distribute this document is hereby granted, provided that it is distributed at no charge other than normal connect-time charges. All rights other than those specifically granted above are reserved.