The MkLinux Developer Releases should each be considered as still a "work in progress". To coordinate the distribution of updates, patches, and news, we have established a Web server: www.mklinux.apple.com. You are strongly encouraged to check this server before you begin the installation process. We also recommend that you join some MkLinux mailing lists, especially mklinux-announce.
Note: Please print copies of all documents in this directory, so that you will have access to them during installation and initial use of your system.
Contacting the Apple MkLinux Team
We welcome your comments, issues, bug reports, and suggestions, though we cannot guarantee a response(!) Send email to us at: feedback@mklinux.apple.com.
To submit a bug report, please use the online bug reporting form on the MkLinux web pages. In the event that you are unable to use that form, a text version has been provided in the MkLinuxFiles folder. Be sure to include complete information on your system configuration, and the problem. Mail the completed form to: bugs@mklinux.apple.com.
Supported Systems
This version of MkLinux has been booted and run on the following types of systems:
• Power Macintosh 6100, 7100, & 8100
• PowerComputing 100 & 120
• Power Macintosh 7200, 7500, 7600, 8500, 9500
In general, this release works with Power Macintosh (and equivalent) systems that use either:
• the PowerPC 601 processor and the NuBus, or
• the PowerPC 604 processor and the PCI bus.
Other architectures (e.g., those which use the 603/603e processor or IDE bus) are not yet supported at this time.
Please check the MkLinux Web site frequently for updates to the set of supported systems, or join the mklinux-announce mailing list to be assured of receiving future announcements.
The MkLinux DR2.1 Disc
The DR2.1 CD-ROM contains several folders and many files. A complete table of contents can be found in the file "CD Road Map". Briefly, the CD contains:
• Readme files: Readme First, Getting Started, How to Install MkLinux, CD Road Map
• Apple Utilities folder – contains utilities to format and partition hard disks
• MacFiles folder – contains the MkLinux Control panel and System Extensions, installed by the Installer
• MkLinuxFiles folder – contains the MkLinux filesystem archive, installed by the installer, a textual bug
report form, the Mach Kernel and Linux Server sourcs, and an Archives folder containing RPM archives of
sources and binaries for a large variety of programs, many of which have been already installed as part
of the MkLinux system.
• Install MkLinux application - the Installer program which installs a MkLinux system
Differences between Developer Release 2.1 (DR2.1) and Developer Release 2 (DR2)
DR2.1 is similar to DR2, except that it includes all updates, patches, and bug fixes posted through February 7, 1997. Specifically:
• The Mach Kernel and MkLinux Booter System extension files have been updated to take advantage of
improvements made since DR2 was released in September, 1996. These improvements include
support for PCI/604-based Power Macintosh systems (7200, 7500, 7600, 8200, 8500, 9500).
• The Linux 2.0 Server is included (Linux 2.0 adds further capabilities to MkLinux and is required for
PCI support).
• Updated network configuration scripts are included, appropriate for a 2.0.X Linux Server.
• The X11 Window system has been upgraded to X11R6.3.
• The fvwm window manager is included.
• Support for virtual consoles is included.
• An update is included for libc (correcting a bug in readdir).
• The ADB command is included.
• The /dev entries for the cdrom and scd0 devices (which were missing on DR2) are installed.
• The compress command has been updated.
• The pdisk and fdisk utilities have been added.
• A number of bugs have been fixed. MkLinux DR2.1 includes the Mach Kernel, Linux Server, and X11
Server updates posted on the MkLinux ftp site under 970207.mklinux.
• The disc hierarchy has been rearranged slightly – RPM source and binary archives, and X11 source
and binary archives are now in a subfolder called Archives under MkLinuxFiles.
• This Readme file and the Installation instructions have been updated to reflect these changes.
Be sure to read this entire README file before beginning the installation. Also, before installing MkLinux DR2.1, be sure to check the MkLinux Web site (www.mklinux.apple.com) for any updates posted since DR2.1 was released. Read any announcements and instructions carefully. We may, for example, recommend that you use a patch archive or install a more recent version of the Mach Kernel System extension.
If you already have DR2 installed
It is important to note that the DR2.1 Installer will recreate the filesystems on your disk, then populate them with MkLinux DR2.1 files. Any existing data in these partitions will be destroyed.
If you have been running DR2 for some time, and have been keeping current with all of our posted updates and bug fixes, you may have no need or desire to install MkLinux DR2.1. However, if you have not been keeping current with our updates, or are unsure if you may have missed one, you may take this opportunity to get back in synch. To ensure that you have a true version of DR2.1, we recommend that you run the installer. This will ensure that all updates have been applied accurately and completely. Before you run the installer, we recommend that you make a complete backup of your DR2 system. At the least, we recommend that you back up any personal files, and take note of any configuration changes (e.g. /etc/passwd, network configuration) you have made.
We recommend that you back up your DR2 system and install DR2.1. This will ensure that you haven't missed any updates, applied updates out of order, or missed one of our posted bug fixes. This will also ensure that you are truly using a DR2.1 system. All new updates posted will be made against DR2.1, and bug reports must be reproducible against DR2.1 to be accepted. For DR2.1 to function properly, you must have the latest matching versions of the Mach Kernel, Linux server, and X11R6.3 server installed! You must also have the latest matching versions of certain networking files installed.
Improvements over DR1
• Much Faster
– The Mach and Linux kernels are now collocated, consistently improving overall system performance.
– The disk I/O, Ethernet access, and video scrolling are all faster.
• New capabilities and enhancements
– Support for Serial I/O & PPP
– Support for A/V cards (graphics support only)
– AppleTalk support (AppleShare volumes and AppleTalk printers)
– Support for System V Shared Memory
– X11R6.3 (expanded support for international keyboards)
– X11 is preinstalled for ease of use
– Support for French and German keyboards
– Support for 3-button ADB mice
– fvwm window manager included
– Support for virtual consoles
– Support for larger memory configurations (up to 100 MB)
– Better console font (for easier viewing)
– Better support for SCSI disks
– Better VT100 emulation and ANSI color support
• Numerous bug fixes
– Timezones are supported correctly.
– Setting of time of day has been fixed.
– The X11 "snow effect" on A/V and HPV systems has been fixed.
– Column and row sizes now correctly set for video console
– Rebooting no longer hangs the system.
– The new SCSI driver fixes various problems and increases I/O throughput.
– more!
Known problems in DR2.1
PCI support is not quite final in DR2.1; there are still known bugs which are being addressed and other bugs are almost certain to arise. Be sure to check our Web pages for known bugs in the current release and to see if any updates have been posted which solve these problems.
Peforma 6300/6400 owners: We're sorry, but this release will not work on your system. (603 and IDE support is unavailable at this time. We do not know when support will be available.) Also, for similar reasons, this release will not work on Powerbooks.
7200's - video support still has some problems. The arrow cursor will be present after MkLinux has booted and will still be present under X11. Video sparkles will appear when you set the color map under X11. We hope to fix these cosmetic problems in the next release.
Serial support - Serial support is not currently available on any PCI systems. This means that PPP and other services which use the serial ports will not work on PCI systems. The solution for this problem is almost complete and should be available in the next update. Speeds of 115,200 and 230,000 bits per second will be supported at that time.
Console messages when using pdisk - In calculating disk size, pdisk reads beyond the end of the physical media. The error returned causes the Linux server to produce "trace" output to the console. While cosmetically displeasing, this is harmless and can be safely ignored. We expect to resolve this in a future update of the Linux server.
ADB probing hang - The system may hang during booting while probing for the mouse and/or keyboard. The error is of the form: mouse0: at motherboard5. We believe we have fixed this problem with DR2.1. If this problem recurs, please let us know!
Performance - Although performance under PCI is decent, no tuning has been done at this point. There is a lot of room for improvement.
Netatalk - We have received reports that netatalk may not work with the DR2.1 kernel and server. We are looking into this problem. Be sure to check the MkLinux Web site for updates.
Floppy and Audio support - as with the previous releases, floppy and audio support are still not yet available.
Possible conflict between MkLinux Booter and NuBus-based Power Macintosh systems - Users of NuBus-based Power Macintoshes (6100, 7100, 8100 series) may experience problems with the DR2.1 MkLinux Booter System Extension. While this is rare, it has been reported. If you have a NuBus-based Power Macintosh, and you experience a Bus Error with a "Bomb Box" when booting MkLinux, you should replace the MkLinux Booter System Extension with the previous version. The previous version of the MkLinux Booter is included on the CD in the folder "MkLinuxFiles:Archives". Installation instructions can be found in the Readme file, "How to Install MkLinux". Before installing, be sure to check our Web site to determine if a more recent solution to this problem has been found.
Peculiarities
• SCSI Devices, Partitions, and File systems
The disk devices on the SCSI bus correspond to MkLinux devices named "/dev/sd[a-g]{1-15}". Each disk is designated by a letter, tied to its SCSI ID number ("a" for 0, "b" for 1, ..., "g" for 6). Each partition on the device is designated by a number ranging from one to 15. For example, /dev/sde6 corresponds to partition six of the disk with SCSI ID four.
MkLinux counts partition numbers beginning at one. Some Macintosh partitioning utilities, including Apple HD SC Setup, begin counting at zero. A partition which the "Apple HD SC Setup Details" command shows as "Partition 3" is accessed under MkLinux as partition four.
The MkLinux disklabel utility summarizes disk partition information, but it can only be run by root:
disklabel /dev/sda
By default, MkLinux uses (standard Linux) EXT2 file systems. As a temporary measure, several commands are included which allow and enhance accessing HFS volumes (MacOS file systems). A single volume can be "mounted", allowing access to files on that volume. Any MacOS volume on your SCSI chain can be accessed in this manner. The following commands are available:
hmount
hmount "mounts" an HFS filesystem until another HFS filesystem is mounted (no unmount is required). To mount the fourth partition of the disk at SCSI ID 1, use:
hmount /dev/sda4
hdir
hdir lists a directory on a mounted HFS volume.
hcd
hcd is a "change directory" command. To set the current directory to the Apps folder on the MacOS volume MyHardDisk, use:
hcd 'MyHardDisk:Apps:'
hcopy
hcopy copies files from a named MacOS folder to a named MkLinux directory. Options are available to specify how files are to be treated on copying. To copy the file Readme from the top level of the MacOS volume MyHardDisk to the MkLinux /tmp directory, specifying the file as text (CR-LF translation is done; the resulting file acquires the suffix .txt), use:
hcopy -t 'MyHardDisk:Readme' /tmp
These commands are commonly used to add RPM binary packages to a system:
On your first login as root, the system will run setnet, a networking configuration shell script (see the "Getting Started" file for details). setnet will set your hostname, adjust your (PPP- and/or LAN-based) configuration, then log you out (to make sure all of the appropriate parameters have been set for your session).
Note: If you want to be able to access your MkLinux system by incoming FTP, all user accounts will be required to have passwords set. In addition, in order for root to have FTP access, you must remove the root entry from the file /etc/ftpusers. (This file lists users who are denied FTP access).
• "Signed" vs "Unsigned" characters
When compiling new applications under MkLinux, developers should be aware of the "signedness" of character variables. Under Linux/Intel, characters are signed. MkLinux (i.e., gcc for PowerPC) follows the UNIX System V Release 4/PPC philosophy of using unsigned characters. If one or more of the following messages appear from gcc, you will need to specify "-fsigned-char" on the gcc command line or modify the application source code:
file.c: 1234: warning: comparison is always 1 due to limited range of data type
file.c: 1234: warning: comparison is always 0 due to limited range of data type
• Single User mode
It is possible to boot MkLinux into single-user mode. Press the "S" key during the boot process (while the MkLinux splash screen is visible). You can also configure the system to boot into single user mode every time. Select the "Custom" item in the MkLinux Control Panel, then add the following line to lilo.conf:
mach_options=-s
• X11 Window System
A 3-button mouse can be emulated by using the keyboard. Option-2 and Option-3 emulate the middle and right buttons. You may, however, find that it is easier to locate a 3-button mouse! MkLinux supports 3-button mice and trackballs which conform to Apple's ADB specification.
Deficiencies
• ADB devices
The standard Apple mouse and keyboards are supported, as are 3-button mice conforming to Apple's ADB specification, and French and German keyboards. Other ADB devices, such as trackballs, may not work. If you have one of these devices connected, and your cursor does not track under X, disconnect the device in favor of a simple mouse or keyboard.
• Compiling SRPMs (Source RPM archives)
The libc package needs special attention. Simply doing a complete rebuild of this package will result in the removal of the symbolic links for /usr/include/linux and /usr/include/asm. To work around this problem, extract the source package
rpm --install libc-5.2.18-5*.src.rpm
and modify the SPECS script, removing the two commands starting at line 53:
ln -s /usr/include/linux .
ln -s /usr/include/asm .
You may then rebuild the libc package using:
rpm -ba libc-5.2.18.spec
• Floppy disks
There is no support for access to floppy disks in this release.
• PPP setup
We have provided a simple PPP setup script (setnet_ppp) which runs at first login or which can be run at a later date. Note that this script is not meant to cover PPP setup for all cases. Modems, especially, vary widely. You may need to tweak the generated "chat script" (located in /etc/ppp/ppprc.cuaX, where X is the port where your modem is connected). Be sure to read the chat man page (man chat) as well as the PPP Howto and PPP FAQ documents (see www.mklinux.apple.com for pointers). You should also discuss appropriate PPP setup with your PPP connection provider.
PPP support may not work on PCI-based systems. Check the Web site for announcements of an update which will correct this deficiency.
• SCSI devices
For systems that have two SCSI busses (e.g., Power Macintosh 8100s), the two SCSI ID maps are logically merged into one. Devices sharing the same ID, but sitting on separate busses, are not supported. Only the device on the external bus will be accessible in such a case. Shadow drives are not supported.
SCSI hard disks and CD-ROMs are supported. A few "personal" storage devices, such as Iomega's Jaz drive, are also known to work. If in doubt, try it out! Also, check our Web pages for information and hints.
• System support
PCI bus machines (7200, 7500, 7600, 8500, 9500) are now supported. However, this support is not in final release and may contain bugs (see above). Powerbook (5300 and 2300) and most Performa models are not yet supported. No support is planned for 68K-based Macintosh models or CPU-upgraded 68K models.
• Utilities
The hostname command does not modify /etc/sysconfig/network (the file where the hostname is supposed to be stored).
• Video support
Only the Power Macintosh on-board video, HPV, and A/V cards are currently supported; NuBus video cards are still not specifically supported in this release (you can boot, and use the console, but not the X Window System). Note that only the graphics capabilities of the A/V card are supported at this time. The ATI video cards which are used on 9500 systems are not yet supported under X11.
When logging in via telnet, you must set the number of rows for your terminal window, such as:
stty rows 48
export LINES=48 # csh: setenv LINES 48
• X Window System
The X Window System can take a few minutes to launch; please be patient.
Some system console messages go to the raw screen, rather than to the "Console" window. If the X session gets corrupted by a console message, use xrefresh to clean up the screen. (Do not run screenrestore; this command is used by X to clean up the system colormaps when it is exiting.)
The manual pages for most of the X11 command set (e.g. xterm) are missing.
The ATI video cards which are used on 9500 systems are not yet supported under X11.
16 bit pixel depth support is not yet available.
Acknowledgements
• To Gary Thomas and the rest of the Linux PPC Organization for putting together the RPM packages for the
PowerPC platforms.
• To Red Hat for RPM, their wonderful Linux package manager.
• To the NetBSD and MacBSD camps for braving new worlds on the 68K-based Macintoshes and for the
original 68K interrupt and console code, without which it would have taken longer to bring up MkLinux.
• To Santa Clara University for also braving new worlds on the Power Macs and for their first attempt to
bring up Mach.
• To Rick Sulak and Simon Douglas for providing 11th hour ATI card support and ensuring that X11 (as well
as the console :-) indeed work on the 9500!
• To our Developers' Corner: Christopher Penney (X11R6.3), Randy Gobbel (3-button mice), Michel
Pollet (Netatalk, French keyboard, and faster color console), Andreas Pfaller (German keyboard), and
everyone else who contributed code (even if it isn't in the release yet!).
• To all of our stalwart developers, testers, and users. Many of the fixes in DR2.1 are thanks to you!
Special thanks to those of you who downloaded and tested the kernel and server updates on and after
970129, sending us comments, bug reports, and "It Works" messages. DR2.1 wouldn't have been
the same release without you!
• To all the staff at Apple, OSF, and PTF who pulled this project together, sometimes at weird hours!
• And, of course, to the many developers of the BSD, GNU, Linux, Mach, X, and other code that forms the