Summary
This
blog documents the installation of Debian Linux on an Eee PC
1015-PEM-PU
Netbook computer. It could serve as a how-to for anyone else
thinking of purchasing an Eee PC and installing Linux, and will also
serve as a evaluation and review of the Eee PC itself.
The
Eee PC
The Eee
PC is probably the stupidest name anyone could ever give to a
computer. I don't even know how to pronounce "Eee" (is it like
the sound you make when you see a mouse?).
Be that as it may, the Eee PC has the potential to be a fantastic computer. Asus, the long-time
motherboard maker, really set the world on fire when they introduced
the "netbook' concept a few years ago. By shrinking the display
and utilizing the power-saving ability of Intel's Atom processor
line, they lowered the cost of a usable notebook computer to less
than $300. Originally offered with Linux (to avoid the "Microsoft
tax" on computers), most now come with Windows 7 Starter Edition, a
stripped down version of Windows.
[BTW,
how do you pronounce "Asus"? Is it "Aye-SOOSE", "Aye-SUSS",
or "ASSes" I prefer the first, but I've got no data to back up
my preference.]
Early
Netbooks often had solid state flash drives. These were small, very
stingy with power, and mechanically robust to provide good
durability. More recently, netbooks tend to come with traditional
hard drives. My Asus has a 250 GByte conventional hard drive.
Asus is
the "premier" netbook brand, but Acer and Dell have also produced
very good netbooks.
I
purchased the model 1015-PEM-PU. This has the following specs:
Atom
Dual-core N550 CPU @1.5 GHz
1024
x 600 display (very crisp!)
250
GByte hard drive
1
GByte RAM (that I expanded to 2 GBytes)
63
Watt-hour battery that is claimed to offer 13 hours run time. (I
get about 7 hours in real-world usage)
Mat
black finished exterior (Blue and Red also available)
$380
from New Egg (but free shipping)
Windows
7 Starter (which I removed in favor of Debian Linux)
I chose
this model mostly because of the dual-core processor and the large
hard drive. I had been very concerned that the atom processor just
wouldn't have enough "umpf" to be useful, so elected to trade
the 1.6 GHz single-core for the slightly
more expensive 1.5 GHz dual
core. (I'll speak more about performance later.) I also chose
the Asus over the Dell or Acer because there is a well-established
group installing Debian on the
Eee. Also,
I've read some casual comments
that
the quality of Acer & Dells is
somewhat inferior to the Asus.
Not having truly used either competitor, I don't know if those
comments
were well fonded or not.
Operating
System Selection
Being a
Linux guy, there was almost no way I was going to leave Windows
running this computer. The only potential problem I foresaw with
Linux was Wireless connectivity, which has often been a problem for
me.
On my
Main desktop system, I run Gentoo. I love it's geekiness, but I
shuddered at compiling all the software on the little 2-lung Atom.
Also, Gentoo always requires a lot more work to get running than
pre-packaged distributions. Again, the wireless had me worried. The
actual wireless chip used in the netbook is critical; some are well
supported in Linux, and some are not supported at all.
Unfortunately, Asus does not publish which chips are in which models,
and I suspect they feel free to change the chips whenever they like.
I therefore wanted a prepackaged distribution that would increase the
likelihood of success with wireless. (BTW, my Asus has the BCM4313
chip, which is supported by the more recent Linux kernels.)
My
servers all run Debian, so I am very familiar with configuration
settings. That gave Debian a big advantage. I've tried Ubuntu,
but don't like the way it forces you into doing things their way
(and why the heck did they move the "close" button from the right
corner - where God intended it - to the left corner? Yech!)
Debian, was therefore the natural choice. Also, there is a very
active Eee PC Debian group (http://wiki.debian.org/DebianEeePC)
with a wiki dedicated to
loading Debian on the Eee
PC. According to this group, you have to load the "Squeeze"
version of Debian, which is currently in its second beta release.
Loading the current stable release ("Lenny") does not provide the
proper wireless drivers. I am very familiar and comfortable with
Debian's conservative approach to
releasing only when ready, so
their "Beta 2" is very
similar in my mind to most distribution's
x.1 versions.
Squeeze
uses the Gnome desktop by default. I prefer KDE, but thought I'd
give Gnome
a try. I actually found the organization of the Gnome
menus better (they made more sense and I could find things easier),
but found the Gnome wireless
tools somewhat confusing. I therefore loaded KDE over Gnome
and now run my old friend KDE exclusively. Squeeze loads the 4.4.x
version of KDE, which is still a little goofy in my humble opinion.
The nicest improvement over KDE 3.x is the inclusion of the compiz
eye candy, which I love!
I
therefore downloaded Squeeze beta 2.
Making
a Linux Bootable Thumb Drive
In order
to backup the Asus hard drive, and to test Linux compatibility, I had
to boot a "live" Linux distribution. The granddaddy of all Live
distributions is Knoppix, currently at version 6.4. Knoppix has a
reputation (well deserved in my opinion) for finding and enabling
all sorts of hardware. If I could get the system and wireless to
work with Knoppix, I knew I could get it to work with Debian.
Knoppix
offers several flavors of live distributions. I chose the basic one
and downloaded the iso file from one of their mirrors. But then I
hit a snag. The Asus does not have a CD-ROM drive, but it can boot
from the USB port. I don't have a USB CD-ROM, so I had to make a
bootable version of Linux. How to make a bootable thumb drive?
Making a
bootable thumb drive seems like one of those things that should be
very simple to do. Unfortunate, it seemed the only simple way to do
it was to use a Windows utility (Yipes!) to make the thumb drive
bootable and install the iso file so it would load properly. Later,
I found the program Unetbootin on sourceforge, that has both
Windows and Linux versions. The Linux version worked like a charm
(although my first attempt failed for some reason I don't
understand.)
I
eventually used this program to make bootable versions of both
Knoppix and Debian Squeeze.
Knoppix
loaded very well once the thumb drive was set up properly, and easily
detected and used wireless. I was in business!
First
Boot & Backing Up the Original Disk
My plan
had been to backup the original Asus hard drive to a USB disk so that
I could always revert to Windows if I found Linux failed to work as I
had hoped. My plan therefore was to boot to a live version of Linux
on a USB flash drive, then copy the entire Asus hard drive before it
had even booted to windows once. This would leave me with a pristine
backup of the original machine.
Trouble
began when I tried to boot to a Linux USB thumb drive. Instead of
showing a BIOS initialization screen, the Asus immediately (and I
mean immediately)
jumped into a Windows 7 initialization screen, and began asking me my
location, name, etc. I tried to stop this process, but somehow only
succeeded in corrupting the Windows 7 install. Later, I booted
through the BIOS and hit "F9" to reload the windows install
software from one of the hidden partitions on the hard drive. The
second time Windows installed (which takes about 20 minutes),
everything worked fine.
I
eventually was able to boot to Knoppix on USB thumb drive, then plug
in a USB hard drive, and copy the disk. I mounted the USB disk on
/mnt/sdb1, then used this command from a Knoppix text window:
dd
if=/dev/sda of=/mnt/sdb1/AsusDisk-Original-2010-12-27.img
This
copied the entire Asus hard disk (all 4 partitions) to a single file
on the USB disk. My USB disk was rather slow, so this took about an
hour (ugh!).
Making
Debian Squeeze Bootable Thumb Drive
In order
to install Debian Squeeze, I had to make a bootable thumb drive with
Debian. Once again Unetbootin came to the rescue and easily made a
bootable thumb drive with Debian Squeeze. I encountered only 1 small
problem. Since I like to use "expert install" for Debian, and
wanted the KDE desktop instead of the default gnome, I had to go 2
menus deep into the Debian installation disk boot menu.
Unfortunately, Unetbootin maps only the first level of menus. This
meant I had to install the default Gnome, then install KDE
separately.
The
Debian disk I used was the "net install" version, so I plugged a
network cable into the Eee PC for the installation. The wired
internet connection worked flawlessly. Setting up a wireless
connection still took some work, as I will describe in the next
section.
For
software, I allowed Debian to install the normal software (desktop,
portable, and system)
I
repartitioned the 250 GByte hard drive with reckless abandon. I kept
the small 4th partition, which I think is used by the Asus
for something or other. The rest I made a large single partition
(ext4 file system) and a 1 GByte swap partition.
Wireless
on the Eee PC with Debian
The Eee
1015-PEM reports this hardware:
00:00.0
Host bridge: Intel Corporation N10 Family DMI Bridge (rev 02)
00:02.0
VGA compatible controller: Intel Corporation N10 Family Integrated
Graphics Controller (rev 02)
00:02.1
Display controller: Intel Corporation N10 Family Integrated Graphics
Controller (rev 02)
00:1b.0
Audio device: Intel Corporation N10/ICH 7 Family High Definition
Audio Controller (rev 02)
00:1c.0
PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1
(rev 02)
00:1c.1
PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 2
(rev 02)
00:1c.3
PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 4
(rev 02)
00:1d.0
USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI
Controller #1 (rev 02)
00:1d.1
USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI
Controller #2 (rev 02)
00:1d.2
USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI
Controller #3 (rev 02)
00:1d.3
USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI
Controller #4 (rev 02)
00:1d.7
USB Controller: Intel Corporation N10/ICH 7 Family USB2 EHCI
Controller (rev 02)
00:1e.0
PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0
ISA bridge: Intel Corporation NM10 Family LPC Controller (rev 02)
00:1f.2
SATA controller: Intel Corporation N10/ICH7 Family SATA AHCI
Controller (rev 02)
01:00.0
Ethernet controller: Atheros Communications AR8132 Fast Ethernet (rev
c0)
02:00.0
Network controller: Broadcom Corporation BCM4313 802.11b/g/n Wireless
LAN Controller (rev 01)
Wireless
is handled by the Broadcom BCM4313 chip. It needs to download
firmware and use the "brcm" driver (not the B43 driver). In
Debian, you need to load the "firmware-brcm80211" package. You
will also need the "firmware-b43-installer" and the
"b43-fwcutter" packages.
Once
these were loaded (which was not done by default), wireless was
essentially painless to get working.
Other
System Software Setups
Contrary
to all the scare stories on the Web, I prefer to run as root in
Linux. The fun I have from Linux is not using it, but
re-engineering it. I spend 90% of my time fiddling with settings and
loading and trying various programs. Once it's setup, I'm bored.
Consequently, I refuse to constantly sudo into programs when I could
just stay as root.
The
scaremongers make 2 reasonably good points about the dangers of
running as root: 1) you can mess up the system; and 2) You might
open your system to bad people and in turn allow them to harm others.
Well, I enjoy messing up my system, because then I have to fix it.
As for the chance of opening up my system to bad people.... well,
lets just say I find this a rather unlikely probability.
I
made 2 changes so I would boot directly to KDE as root:
Firstly,
I rename "/usr/sbin/gdm" to "/usr/sbin/gdm-saved" and renamed
"/usr/bin/kdm" to "/usr/bin/kdm-saved". These 2 changes
prevent either gnome or KDE from starting at boot and demanding a
non-root login. Secondly, I changed rc.local so that the system
would automatically start KDE as root. I added the lines:
su
-l root -c startx
Now,
when I power up, the Eee jumps immediately into KDE with a root
session. Yes, if I lose my computer, I'm hosed. Such is life.
I
hate touchpads. I find them difficult to use, and they are in
absolutely the wrong place when typing, since my "dangling thumb"
invariably taps the pad and moves the cursor while I'm typing.
The
program tpconfig helps. Run "tpconfig -t 0" once, and it reduces
the sensitivity of the pad. There are programs which supposedly shut
off the touchpad while typing, but they are based on the synaptics
pad, which apparently is not what is in the Eee. Apparently, there
are Ubuntu programs that fix this, but I have not (yet?) gotten them
working.
Eee
PC Review
I
wanted a netbook for 3 reasons:
They're
cool and geeky
They
are very portable
The
battery life is excellent
However,
I had 3 major fears about the Eee PC.
It
would be too slow to be useful
The
keyboard would be too confining to be usable
The
screen would be too small
The
Eee has satisfied my desires, and not disappointed (too much) with
its limitations.
I
have been delighted with the speed and responsiveness of the Eee. I
suspect the dual-core CPU plays a part here. I have an old 2.5 GHz
Pentium IV desktop that is a dog compared to the Eee. Even my 3 GHz
Quad core AMD desktop doesn't seem too much faster than the Eee.
The
keyboard on the Eee stinks, but it is not much worse than any other
portable keyboard. I love the old "clicky" IBM keyboard (I have
a clicky Unicomp that I like very much) with lots of key travel and
good mechanical/audible feedback. The worst part of the Eee keyboard
is the touchpad, not the keyboard. If I could keep from tapping the
touchpad by mistake, I'd be a lot happier.
Battery
life is excellent. I recently left the Eee on with the lid closed
all day at work. The WiFi remained active, and the CPU governor was
set to "on demand" mode. I powered on around 7:00 AM, and played
with it a little at lunch. By 4:00 PM, it was down in the 10% range.
Had I tried to reduce power usage by dimming the display or setting
power-saving mode, I'm sure I could have squeezed another hour out of
the battery. By contrast, my 1.5 year old company-issued Dell
laptop lasts about 3 hours on battery power.
Adding
new wireless connections has so far proved easy and painless. The
unit is very lightweight, and physically small, so portability is
just as I expected.
The
screen has a poor aspect ratio (1024 pixels wide but only 600 pixels
high). I had worried that this was too short. My main desktop
computer has the display turned 90 degrees, so the long direction is
vertical. [Vertical screen make much more sense. Who reads books in
landscape mode? Printed materials are naturally easier to read in a
portrait mode. The only things that are superior in landscape mode
are wide-screen movies and spreadsheets!] I compensated for the
short screen by putting the KDE menu up the right side of the screen
instead of along the bottom as congress has mandated. Somewhat
surprisingly to me, I have not felt confined by the short screen.
The screen itself is razor sharp, so you can make the fonts smaller
than would otherwise be possible.
All
in all, I am very happy with the Eee.
Other
Quirks, Oddities, & Annoyances
There
are a couple of quirks and oddities with the Eee, many of which are
driven by Linux.
Due
to Debian Linux, the WiFi on-off switch does not work. WiFi is on
all the time.
The
screen does not open as far as I'd like. When looking down on the
Eee, it would be nice to bend the screen back farther so it would
face me more directly.
The
darn Windows 7 sticker was stuck on at an angle. If they have to
add their stupid advertising, the least they could do was put the
sticker on squarely! Luckily, a razor scraper allowed me to peel
off the sticker without damaging the plastic finish.
The
mat finish on the outside is very nice a resisting fingerprints.
The
power plug is a little on the small and weak side. I'd like it to
be a little beefier.
It
was aggravating to have to remove the 1 GByte RAM chip in order to
upgrade to 2 GBytes. Anybody want to buy a 1 GByte DIMM?
Skype
for Linux won't run on the AMD64 Debian kernel. It has to be in
32-bit mode.
KDE
can't activate sleep mode. A separate script is needed for this.
Sleep
mode kills WiFi connections. A cold reboot is needed to reestablish
connection (or at least, I haven't found the fix yet).
Linux
sees the Atom as a quad core processor. There are 2 cores, and each
core can run 2 threads. It's kinda neat to see the CPU meter
chugging away with 4 CPUs!