Running Linux on a Laptop
A laptop which runs Linux: most Linux enthusiasts think this is a great idea, but not surprisingly, some people who don't use Linux wonder why you would want to run a flavor of UNIX on a laptop. The answer is simple. If Linux is the operating system you use, the one on which all the applications and software you employ on a daily basis run, then you want it for your portable machine as well.
This article is intended for those who are considering getting a laptop on which to run Linux. It is a quick summary of what you should be thinking about when looking for a laptop for Linux, and a brief outline of what you need to get Linux configured and running on a laptop.
For more information, the reader is directed to the web pages in the Resources section at the end of this article. They will be invaluable in researching and later configuring your laptop for Linux.
The first thing to ask yourself is, how do you want to use the laptop? Is it just for fun? Is it for transferring files between two locations? Is it to be used for word processing, programming or graphic manipulation? Do you need only a simple terminal with which to log in to other machines? Just as with a desktop machine, considerations like these will affect the decision regarding which kind of laptop you should get.
Other questions to consider are: Do you want a CD-ROM drive? Do you want sound, and if so, what quality? Do you want a built-in modem? A built-in Ethernet adapter or PCMCIA, a PCMCIA modem, or neither? Do you want to run X? If so, what video mode do you need (640x480 is the low end, 800x600 is common, and 1024x728 is approaching the high-end level of the market)? Do you want color, and if so, what bit depth (8, 16, 32 bits)?
Finally, you need to make sure the features you require in the laptop you are considering are supported with Linux. This is far less problematic than it was in the past. When I first installed Linux on a laptop (a Twinhead SubNote with only 4MB of memory), I was taking a gamble that the hardware I needed would be supported; fortunately, it was.
These days, laptop hardware is far less proprietary and you have a much better chance of just buying a laptop and getting it to work. Buying a used laptop with a PCMCIA slot for an Ethernet card is probably sufficient if you just want a machine to use as a terminal without X. If you are planning on doing more with it, you will need to verify that your hardware is supported by Linux. (See Resources.)
Since laptop LCD (liquid crystal display) screens have fixed pixel video modes, they usually emulate lower video modes by duplicating the contents of rows and columns at increments of a set number of rows and columns, respectively. This means that if you get a laptop with 800x600 resolution and you plan to use it just for virtual consoles, you will find that when it is emulating the 640x480 standard VGA mode, the characters will be blocky and ugly. If fidelity is important for virtual consoles (especially if that is all you plan to use), you will want to get either a laptop with 640x480 or one with a considerably higher video mode (1024x768). For these, the virtual consoles will look less blocky and will be easier to read. Some high-end laptops (such as the Sony Vaio PCG-505FX) have configuration settings that don't do this “zooming”, which makes everything easy to read, albeit smaller.
Obviously, you need a boot disk appropriate to your laptop's hardware, just like any other Linux installation. Laptops generally use IDE, so normally you don't have to worry about SCSI support unless you have special needs (and have a SCSI PCMCIA card).
Many laptops these days come with CD-ROM drives, making installation easy. The CD-ROM drives are generally IDE interface-compatible, so a standard IDE boot disk will usually suffice. For slightly-incompatible drives, you will need to enter special parameters into the kernel.
Some laptops, such as my Sony Vaio PCG-505FX, have CD-ROM drives available only through PCMCIA interfaces. Surprisingly, these do work, although you might have to send parameters to the kernel at boot time. For instance, my Sony drive works fine only if I send the kernel parameter ide2=0x180,0x386 on boot. I could also put an append statement in my lilo.conf file.
A large number of PCMCIA devices are supported by Linux: modem cards, network cards, SCSI cards, combination cards and so on.
PCMCIA isn't supported in the kernel, so you will need to use a PCMCIA root disk which starts the PCMCIA daemon, cardmgr. Many PCMCIA devices are automatically supported; just insert the card, start the machine with the PCMCIA root disk and away you go. For devices which aren't immediately supported, you will have to do some tweaking of the configuration files (see Resources).
The Brute-Force Method
For older laptops, you might have no option other than the brute-force method. My Twinhead SubNote, for instance, didn't have a CD-ROM drive (almost no laptops had CD-ROM drives back then), and I didn't bother buying the optional floppy drive for it. I was left with one option: buy a 2.5-inch drive adapter for a normal IDE controller, pop open the laptop, take out the drive, plug it into another desktop machine, then install Linux. It is crude, but effective.
Special Reports: DevOps
Have projects in development that need help? Have a great development operation in place that can ALWAYS be better? Regardless of where you are in your DevOps process, Linux Journal can help!
With deep focus on Collaborative Development, Continuous Testing and Release & Deployment, we offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, advice & help from the experts, plus a host of other books, videos, podcasts and more. All free with a quick, one-time registration. Start browsing now...
- The Ubuntu Conspiracy
- A First Look at IBM's New Linux Servers
- Vigilante Malware
- Disney's Linux Light Bulbs (Not a "Luxo Jr." Reboot)
- Bluetooth Hacks
- Vagrant Simplified
- System Status as SMS Text Messages
- Libreboot on an X60, Part I: the Setup
- Dealing with Boundary Issues
- Linux and the Internet of Things