Here's how I put Linux on my Gateway Solo 5300. I purchased this model, in September 2000: Gateway Solo 5300 XL 650 MHz Pentium III w/Speedstep 128M RAM 10G hard drive Integrated Ethernet & Modem Windows 98se (bleah) First, a couple of warnings: 1) The 5300 comes with three CDs which supposedly allow you to restore the laptop to its initial state - that is, if you completely screw it up, you can reinstall all the software that it shipped with by running these CDs. THEY DON'T WORK. You can eventually get a semi-functioning Windows 98 reinstalled, but it won't have any audio drivers, and the desktop won't look quite the same. 2) Gateway tech support DOES NOT support Linux. They barely even support Microsoft. In fact, all their email tech support does is grep through their internal FAQ for the best match to your email, and send you an automated reply. No humans ever read their tech support email. Don't expect any help from them on any of this. I bought a Gateway laptop because the model with the features I wanted (integrated ethernet, touchpad) was slightly cheaper than the alternatives, plus I could go to one of their stores and fiddle with a floor model first. Consider yourself warned. If you want to install Linux with no hope of going back, follow the rest of these instructions. SETTING UP APM SAVE-TO-DISK PARTITION. Make a DOS boot disk, if you don't have an old one lying around. It doesn't have to come from the pre-installed version. You just need to boot into DOS in order to set up the APM save-to-disk partition. Find the phdisk utility (on the Gateway distribution CD 1, path \5300\SAVEDISK\PHDISK.EXE), copy it to the DOS boot floppy. We'll need it in a minute. My notebook came with two BIOS setting utilities - one Phoenix BIOS page (hit F2 during boot), and one "Intel Boot Agent" thing (hit Control-S during boot). I set the BIOS parameters like this: Phoenix: Main: Primary Master: 10GB Secondary Master: CDROM (type = auto) Advanced: Installed OS: Win95/98 APM (I think this is really asking APM type, not OS) LDA Mode: DOS (doesn't seem to matter to Linux) Power: Suspend Mode: Save to Disk Power Button: On/Off PM on AC: enabled everything else: off Intel Boot Agent: Boot Protocol: PXE (not sure what this is, doesn't seem to matter) PnP: Enabled Power Management: APM Boot to DOS using the floppy. You should see a red error message during boot, saying that save-to-disk won't work. Run phdisk /create /partition This will create a /dev/hda4 partition slightly larger than your installed RAM, so be sure you've got room in your partition table for it. Repartition if you don't, thereby trashing any preinstalled Microsoft OS. Reboot into DOS again. The red error message should not appear this time, indicating that the BIOS is ready for APM. At this point, you should be able to save-to-disk by hitting Fn-Standby. Revive by hitting the power button. If this works, just to be safe you can remove the last vestiges of Microsoft by saying phdisk /delete /partition phdisk /create /partition INSTALLING LINUX Now install the Debian "potato" distribution from the CDs you ordered from http://www.cheapbytes.com, pretty much using default answers for everything. I partitioned as follows: /hda1 - /boot (16M) /hda2 - (128M) /hda3 - / (all the rest) /hda4 - hibernation, untouched since creating it with phdisk. If you have the integrated ethernet port, you can use net/eepro100 as the driver (switch to another console, cat /proc/pci to be sure). The mouse (Synaptics touchpad) lives on /dev/psaux, and is type "ps/2". The automated X setup (via anXious) won't work, but select the XF86_SVGA server anyway, if you're asked. CONFIGURING X I visited http://www.s3.com, followed links to drivers, downloaded the Linux package for the S3-Savage X server. Unfortunately S3 has changed their name and stopped making graphics chips. If you can't find legacy support, I have a copy of the S3 X server tarball (just browse up one level from this file). Unpack and install it to get a functioning XV86_SVGA. You'll have to either make it setuid or use a setuid wrapper to get past the permissions when running startx, though. You'll have the usual trouble with xf86config, etc., but I've appended my functional /etc/X11/XF86Config file to the end of this file. If your 5300 is using the same chipset and LCD display as mine, copying this should be okay. CONVINCING THE KERNEL TO USE APM You'll have to rebuild the kernel to get APM working. Use dselect to install the 2.2.17 kernel source package, and all the other stuff it needs (headers, ncurses, etc). Unpack the source with tar Ixf /usr/src/kernel-source-2.2.17.tar.bz2 Make a copy of /boot/vmlinuz-2.2.17, edit lilo to add the copy to the list of choices. You'll also want to rename /usr/module/2.2.17, since you'll be installing the same kernel version on top of it. If you need to boot to the original kernel, you can restore the module directory afterwards and run "depmod -a" to reload the modules and stop any error messages. Okay. cd to the kernel source directory, and do this: make menuconfig fakeroot make-kpkg --revision=local1 kernel-image dpkg -i ../kernel-image-2.2.17_local1_i386.deb lilo Don't forget the lilo step! You should always run lilo after each touch of the kernel, even if it's just a recompile with the same options! You should be able to reboot and have a functioning APM, with save-to-disk enabled. Try "cat /proc/apm" to see if the kernel thinks it's APM-aware. Then hit Fn-Standby to shutdown and save. Here are the relevant APM kernel settings. You should see these in .config after running make menuconfig. CONFIG_APM=y # CONFIG_APM_DISABLE_BY_DEFAULT is not set # CONFIG_APM_IGNORE_USER_SUSPEND is not set # CONFIG_APM_DO_ENABLE is not set CONFIG_APM_CPU_IDLE=y # CONFIG_APM_DISPLAY_BLANK is not set CONFIG_APM_IGNORE_SUSPEND_BOUNCE=y CONFIG_APM_RTC_IS_GMT=y CONFIG_APM_ALLOW_INTS=y # CONFIG_APM_REAL_MODE_POWER_OFF is not set It only takes my laptop about 10 seconds to get everything up and working again after a save-to-disk. I've found that the X server takes a while to start responding well after a restore, so I've gotten in the habit of just hitting Alt-Control-F1 before powering down and then Alt-F7 when I resume. The keyboard repeat rates also seem to be lost when you save-to-disk and restore too, but maybe I'm just not patient enough. Changing them once with "xset r rate ..." seems to fix it. NETWORKING The integrated ethernet works great. All I had to do was edit /etc/network/interfaces to provide an entry for eth0, and use the "ifup" and "ifdown" programs. If you could figure it out, you could use the undocumented scheme capability to switch between DHCP and static IP, but I found it easier to just use two different interfaces files and point to them explicitly depending on whether I'm at home or at work. For travel, the integrated modem is useless, since it doesn't seem to exist (it's apparently a winmodem). However, the serial port is on /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4, according to setserial. I had an old external modem that works fine for ppp, provided I don't mind dragging it around. SOUND The audio chipset is an Allegro ESS Maestro3 (199A). There didn't seem to be any working public domain drivers when I first got my laptop, so I downloaded the OSS demo package from http://www.opensound.com. It installed pretty easily - I just had to create a few links so /usr/src/linux, /usr/include/linux, etc. pointed to my source directory, as described in their help page. I went back into the BIOS settings and turned off PnP in the Intel Boot Agent. I also set the Installed OS to "other" to disable APM in the Phoenix BIOS, but left APM enabled in the Intel Boot Agent. I can still save to disk with no problem and /proc/apm still changes as the battery discharges, so I'm not sure what I'm really disabling - maybe nothing. You have to unload all kernel sound modules before saving to disk, though. If you're running xmms, you'll have to quit it before you can unload the modules. The "soundon" and "soundoff" programs are usually all you need to bring the drivers up and down. If you don't want to spend $30 on the OSS driver license (I didn't), ALSA (www.alsa-project.org) supports the Maestro3 driver in release 0.5.10 and later. I had to edit alsa-driver-0.5.10/cards/card-maestro3.c to add device ID 0x199a to the list in snd_m3_ids[]. That typo has been fixed in the ALSA source tree, so be sure to get the updated version from CVS if 0.5.10 is the latest available. Then you can just say ./configure --with-debug=full --with-sequencer=yes make install I had to add a few lines to /etc/modules.conf (under Debian, you should edit /etc/modutils/aliases and run update-modules), as described in the ALSA howto pages. You'll have to run alsamixer to unmute everything, then use "alsactl store" to save those settings. You can use update-rc.d on /etc/init.d/alsasound to enable the sound drivers at boot time. As with the OSS drivers, I found that I have to unload and reload the drivers after a suspend-to-disk, and that it doesn't work with APM enabled in the Phoenix BIOS (the Maestro card doesn't seem to get an IRQ assigned). I may be able to fix that by fiddling with the BIOS settings, but it's working fine now and I haven't bothered to play around with it. Note: The 2.4 kernel provides support for the Maestro3, so if you follow that upgrade path, most of these configuration steps become unnecessary. MISCELLANEOUS There were two other minor annoyances. First, xterms don't recognize the Meta key, even with the "eightBitInput: false" resource. I suspect this is a problem with the S3 X server, since xterms work just fine with the same Debian distribution on a desktop PC that I have. However, Eterms recognize the Meta key with no trouble, so that's okay (and prettier). Second, very occasionally the whole computer will lock up completely when I'm running xscreensaver. Saying "xset s 0; xset s noblank" seems to help, but doesn't completely prevent it. On the other hand, if I use xlockmore instead of xscreensaver it doesn't happen at all. I don't know enough about X internals to hazard a guess at why this is. Again, I suspect the S3 X server. As you can see, getting everything configured just right wasn't completely painless, but now that it's done I'm pretty happy with the results. Good luck. Bill Richardson wfrichar@yahoo.com Dec 12, 2000.