Linux on the Laptop

With the dropping costs of powerful laptop computers, it's likely you've thought about replacing Windows with Linux and bringing more network services to these small computers. Sometimes for Linux install fests in user groups, a laptop with a LAN card and a CD-ROM becomes very handy. You can run an NFS server or an SMB server or an FTP server (and nearly any other Unix service) right from your notebook computer. Very handy indeed!

Installation

Installing on the laptop is sometimes tricky, but it just depends on whether you have supported hardware. Be advised that XFree86 sometimes doesn't support all of the newest video chipsets coming out on the laptops nowadays. At least with accelerated servers anyway. You can probably run a regular SVGA server with 16 colors without a problem, but an accelerated server would give you much more eye candy. I've heard about some problems with the latest NeoMagic chipsets and XFree86 for example.

If you don't have a CD-ROM (my PCMCIA CD-ROM was not supported, for example), there are still other installation methods possible. Most distributions support NFS or FTP installations if you don't have a local CD-ROM. Fortunately, this network method worked out great for me.

One caveat would be to ensure you have the latest kernel source, which you can compile on your desktop computer for your laptop computer. If you're using boot disks from a Linux distribution CD-ROM, you can either use those disk images or create your own new ones following the instructions for doing so that come with your distribution. Sometimes these disk images are available from your Linux distro's homepage or ftp site as well. You want the latest production kernel source because normally they contain support for the latest hardware.

I'd also recommend that you compile the latest PCMCIA package from source too.

In my humble opinion, the one piece of hardware you want to make sure is Linux compatable is the LAN card. Don't get any network adapter that you aren't sure is Linux compatable. Check the Hardware Compatability HOWTO and the PCMCIA HOWTO and be sure you're adapter is listed there before you buy it.

One of the easier distributions to install on a laptop is Debian Linux. It's the non-commercial distribution of Linux, but it's probably also the most bug-tested and stable. There are probably more packages designed for that distribution than any other. It's easy to install because you can install the base system from about 7 floppy diskettes. That's pretty spiffy. I'd recommend Slackware too, but in this day and age, there still isn't a native package manager for it that competes with dpkg or rpm. (Slack has its own package manager, but it doesn't really deal with dependency checking like rpm or dpkg do.)

Laptop Projects and Applications

Once you have Linux running on your laptop, there are lots of fun things you can do with it.

First of all, you can tweak your deskspace to your heart's content. And who among us doesn't like to waste time on that! There's always another theme or audio collection that's worth playing with. (Yes, modern Linux window managers have themes too!)

But, after you get done with all the cosmetic stuff, you can try something more befitting a Linux geek, like setting up your various servers. First you have to configure primary ethernet interface, and then you can start experimenting with network services in your local network. Once you see that kernel message that says the PCMCIA package has detected your LAN card and that eth0 has started, you're in business.

NFS. Network File Systems are fun to work with. Before you play with this, however, be advised that running NFS opens a potential security hazard on your local network. If you are sharing NFS space between your laptop and gateway machine, you need to be extremely careful about how you set this up. At a minimum, read the NFS HOWTO as it touches on applicable security information.

But, on the positive side, once you set this up you can share resources easily between laptop and desktop computers, and is a fun skill and useful (aka ``marketable'') ability to put on your resume. It is the standard file sharing protocol for Unix.

Basic security precautions include not exporting shares that contain setuid binaries, as far as possible don't allow non-local users access to a machine exporting or sharing a network file system, mount exported file systems read only if you can, use the root_squash and nosuid options with nfsd, use wrappers to protect the portmapper and only export to specific IP numbers (never localhost or 127.0.0.1), and protect your nfs and portmapper ports with firewalling rules.

SAMBA. The chances are that you use Windows on one or more of your machines (as little as possible, however). Although there are NFS implementations for Windows, SAMBA is a nifty way to share resources with Windows machines. Once you configure your SAMBA server on your Linux laptop, you'll see your laptop's icon in your Windows ``network neighborhood'' directory and be able to share files easily between Windows and Linux machines, in addition to sharing printers and other resources.

SSH. Secure shell is a replacement for ftp and telnet services which relies on encrypted streams of text rather than cleartext streams. In this day and age, security information is widespread and readily available to even mischievous teenagers who want to impress their friends, and ``sniffing passwords'' off your gateway computer might strike them as being fun. So using secure clients like those in the secure shell suite of tools makes this much harder to do. It's also an increasingly standard service in Unix circles, and increases your marketability.

MTA Configuration. Your Mail Transport Agent, such as Sendmail or Qmail, can be configured to automatically deliver certain mail to your laptop computer over your LAN. If you normally keep your gateway computer connected to your laptop and both are running around the clock, as Unix is designed to do, then this might come in handy for you. You'll probably want to configure your MTA to queue mail to a buffer and flush the queue at a convenient time when you know your laptop will be connected to the LAN. Naturally, the laptop will not always be physically connected. If your laptop is infrequently connected, you might want to collect mail via a pop client from your laptop such as fetchmail or the like.

Remote X Windows. Yet another project could be serving X to client machines. There is yet another security risk, but it could be a fun project for you, and you could learn quite a bit from it. If you're running Linux from the laptop and your desktop is running Windows, you could run X applications from the laptop that appear on your Windows machine. Thus, you could run ``Unix in a Box'' on your Windows machine. There are free X clients for Windows as well as good commercial clients, such as Humbingbird from Exceed.

Conclusion

Running Linux on a laptop is a gas, especially with the fast new generation of laptops, though even laptops like my old 486 will run the servers mentioned above just fine. When you have at least two computers with one running Linux, you now have enough resources to explore powerful Unix networking capabilities.



David S. Jackson
Last Edited: Sun Nov 29 1998 16:48:19 EST