PPC Macs as LTSP Clients Version 0.1 This is a writeup of how to get started using Power Macintoshes as LTSP clients. My system uses a Power Mac 6100 and an Intel server running Linux Mandrake 8.1. Obtaining and reading the references, especially 1-3, is important. I assume a familiarity with the Mac in general, and a familiarity with how the LTSP server works. Skip Gaede sgaede@attbi.com 20-Mar-2002 References: 1) LTSP Document 2) Nubus-Pmac web site: http://nubus-pmac.sourceforge.net 3) HOWTO install Linux on Nubus 6100 http://www.sonic.net/~mroeder/beowoof/installingLinux.html 4) HOWTO Cross-Compile Linux Kernel http://lists.linuxppc.org/linuxppc-nubus/200103/msg00035.html 5) Devfs FAQ http://www.atnf.csiro.au/~rgooch/linux/docs/devfs.html 6) Root over NFS clients & Server HOWTO http://www.linuxdoc.org 7) YellowDog Linux: http://www.yellowdoglinux.com What's Supported with this kernel: The kernel I compiled supports: Apple Power Macintosh 6100,7100,8100 Apple PowerBook 1400,2300,5300 Apple Performa 5200,6200,6300 (See the Nubus-pmac web site and YDL for more details) Limitations: The kernel used for Nubus PMacs is considerably hacked from the stock kernel.If you have a PCI-based PowerMac you might be able to use the YDL 2.1 Kernel and XFree86 4.x. I am using the MkLinux Boot code. The 6100s use the Xpmac frame buffer driver for X 3.3.6. This driver totally ignores the XF86Config file. The fix for the backspace and delete keys applies to the script /etc/X11/xinit/fixkeyboard in Mandrake 8.1. Basic Concept: The client starts to boot the MacOS (7.5.3), and loads the MkLinux Boot Extension. It then finds out we are booting Linux and loads the image "Mach Kernel" which contains the Linux kernel and an attached InitRD. The startup script obtains a DHCP address and where to find the root directory, which is then mounted RO using NFS. A Pivot_Root call is then made to switch over to the NFS mounted filesystem, and the SysVinit process is executed. Based on configuration parameters in the /etc/lts.conf file, the runlevel is established, the video driver is selected, and the swap partition on the local hard drive is prepared and enabled. A small RAMDISK is setup for apps that need to write configuration files, and the client is logged into the remote server. Changes: If you're not using a Nubus PMac, you'll need to recompile the kernel. If you have different Video, you will need only to modify the lts.conf file. Kernel build options not in the standard build: 1) Support for devfs 2) Packet and Socket filtering (for dhclient application) 3) Input layer support for YDL 2.x software. Things you will need: Client: MkLinux Boot code Stuffit Expander MacOS 7.5.3 or better. (I used a virtual disk shared from a Mac used as a repository for the client software. The OS and a Network Access floppy can be d/l from Apple.) Linux kernel with InitRD. Server: DHCP daemon LTSP Kit for i386 (to setup NFS,etc.) Ppc tarball (about 30 MB) Netatalk code for downloading from Linux server. Things you may need include: BusyBox 0.6.1 LTSP Utilities source code LTSP InitRd kit YDL 1.2 Install CD (or Cable Modem connection for FTP) Kernel sources Getting started: Get either your server or a Mac setup as a repository for the MacOS install volume and the various software you'll need on the development client. I used a Mac with 7.5.3 OS, Netscape 4.0 and Stuffit Expander 5.5. Files on my server were transferred to the Mac using Netscape / FTP, and were unpacked with Stuffit. They were placed in a shared directory tree for the clients. To get the first Mac running Linux, I followed the reference on Installing Linux PPC on a Power Macintosh 6100. Use custom partitioning, and allocate 1) A Macintosh partition, size = 25000 (sda3) 2) A swap partition, size = 100000 (sda4) 3) Root+Usr partition, size= (sda5) Install the MacOS: I installed 1) the minimum kernel 2) Appleshare 3) OpenTransport 4) CD support 5) Chooser 6) Startup disk 7) Memory widget in Control Panel 8) Date/Time applet in Control Panel If you are doing a Network Install, you can install the MkLinux boot code (and the YDL Installer kernel if you plan on installing YDL.) Reboot to the Mac OS and turn off memory management. Edit the Lilo.conf file from the MkLinux Control Panel widget, as described in Michael Roeder's article. Install Linux: The only omission from Roeder's article was the fact that the install of YDL 1.2.1 neglects to create a /etc/fstab. I created one (for /proc and / by going to the second terminal while loading the rpms and doing cat >/mnt/etc/fstab <