My Triple-Boot Laptop
I bought a new laptop in spring 2006 and decided to make a serious attempt to switch to Linux, or at least make it my primary operating system. I already had some basic experience, having used Linux servers at school for a few years, but I had no experience administering my own machine. My goals for the system were simple. First and foremost, it had to let me accomplish all my work-related tasks: computational programming, image manipulation and producing academic papers and presentations. Second, it had to fulfill my entertainment needs: playing music and video of various types (including streaming media), playing and backing up DVDs, playing games and making phone calls over the Internet. In addition, I had the more general, underlying goal of improving my understanding of the operation of my computer and reducing my reliance on proprietary software.
As it turns out, my choice of hardware had a big impact on the result. My laptop is a Compaq Presario V2630CA, with the following specifications:
1.8GHz AMD Turion 64 processor
512MB of DDR RAM
ATI RADEON XPRESS 200M
80GB hard drive
DVD R/RW and CD-RW combo drive with double-layer support
Integrated Realtek Ethernet card
Integrated Broadcom BCM4318 wireless card
After much trial and error, my current laptop is a triple-boot system, featuring Windows XP, Ubuntu 7.04 (Feisty Fawn) and Arch Linux 2007.08 (don't panic).
The first decision to make was which Linux distribution to install. In the end, I chose Ubuntu. I had heard some pretty good things about it, particularly with respect to its package manager and hardware recognition. Setting up the dual-boot system was pretty easy. The computer came with Windows pre-installed, so all I needed to do was shrink the Windows partition and create a Linux partition structure. I used GParted, the GNOME partition editor, which is very easy to use (Figure 1) and can non-destructively resize partitions formatted with any common filesystem, including NTFS, the proprietary filesystem used by Windows XP and Vista. You shouldn't expect any data loss, but nevertheless, it's a good idea to back up the partition before resizing it. You can burn a bootable GParted CD or run it from the Ubuntu Live CD/DVD.
Next, I created root and swap partitions in the remaining space—the minimum needed by Linux systems—and installed Ubuntu. I later deleted the recovery partition that came with the computer and replaced it with a small shared partition formatted with the FAT32 filesystem, an older DOS filesystem to which both Windows and Linux can write. When I next repartitioned my hard drive to install a third operating system (Arch), I replaced this with a home partition shared by both Linux distributions.
The Ubuntu install was pretty painless, and almost all of my hardware worked right away. The one exception was my wireless card. I soon discovered that it doesn't have a reliable open-source driver and is one of the least compatible with Linux. Ubuntu comes with a native kernel module for the card (bcm43xx), but it worked only sporadically and tended to cause my system to freeze up completely. I tried both the open-source NDISwrapper and Linuxant's proprietary DriverLoader, both of which operate as wrappers for the Windows driver. For $20, you can get a lifetime license for DriverLoader. Both require use of Windows driver files, bcmwl5.inf and bcmwl5.sys, which can be copied directly from your Windows partition (if you have one) or downloaded from the Web.
To install DriverLoader, simply go to Linuxant's Web site and download the installer. NDISwrapper is fully open source and comes pre-installed on Ubuntu. To load the Windows driver, simply use:
ndiswrapper -i bcmwl5.inf
I discovered that NDISwrapper works better in low-signal environments with unencrypted or WEP-encrypted networks, while DriverLoader is more reliable for connecting to WPA2 networks. If you use the GNOME desktop, NetworkManager is an excellent tool for connecting to encrypted or unencrypted wireless networks and making VPN connections (Figure 2). Simply install it with:
sudo apt-get install network-manager-gnome
Then, start it with:
I found it to be more reliable than KDE's Wireless Assistant and less of a hassle than using scripts, as I travel a lot and often need to connect to new wireless networks.
One of the great things about Ubuntu is that once you install it, you're immediately up and running with most of the stuff you'll need for day-to-day operation, and you're notified automatically when software updates become available. You can use Sun Microsystems' OpenOffice.org as your office suite, the GNU Image Manipulation Program (GIMP) for image manipulation, Totem to watch videos, Novell's Evolution or Mozilla Thunderbird for e-mail, Mozilla Firefox for Web browsing and so on. If you're running the 32-bit version of Ubuntu, it's also easy to install plugins for on-line streaming video, such as Flash and Windows Media. I'd recommend installing MPlayer and its Firefox plugin, which plays most video formats; Flash requires a separate plugin. At the time that I was running 64-bit Ubuntu, I was able to use Flash only by creating a 32-bit chroot environment. Once I created the shared FAT32 partition, it was fairly simple to share the data for my e-mail client and Web browser, Mozilla's Thunderbird and Firefox, between Linux and Windows.
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)
- Vagrant Simplified
- Libreboot on an X60, Part I: the Setup
- System Status as SMS Text Messages
- Dealing with Boundary Issues
- Bluetooth Hacks
- Non-Linux FOSS: Code Your Way To Victory!