ASUS Eee PC

From Prolixium Wiki
Jump to navigation Jump to search

The Eee PC is a really tiny computer that can run Windows XP or Linux, and is fairly inexpensive. Mark Kamichoff purchased the Target version, which is essentially the Eee PC 900 without a webcam or Bluetooth.

Installation of Debian GNU/Linux

The default Xandros installation seems fine, but it lacks the flexibility offered by a mainstream distribution such as Debian GNU/Linux. Unfortunately, Debian won't work out-of-the-box on the Eee, and needs some assistance (not hacks).

There's a Debian Eee PC project that uses a custom DI image for the Eee. This may work fine ... but why do it when you can get a vanilla Debian install working fine with 4x the effort?

Network support

The Eee has the following network cards:

01:00.0 Ethernet controller: Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01)
03:00.0 Ethernet controller: Attansic Technology Corp. L2 100 Mbit Ethernet Adapter (rev a0)

Unfortunately, neither of these are present in the Debian Lenny 2 beta or weekly snapshot installers. The Lenny installers boot with 2.6.24-486 - but not even the latest kernel (2.6.26-1-686, 2.6.26-9 - I think) has these built-in. So using a netinstall was out of the question.

Install via USB

There's a couple (probably more efficient) ways of doing this. The way that seemed to work is the following:

First, get yourself two USB flash drives. Two 1GB ones will work. Grab the boot.img.gz from here, and write it to the first drive:

# gunzip boot.img.gz
# dd if=boot.img of=/dev/sdX

Where /dev/sdX is the device node that the drive has been assigned. Then, grab debian-testing-i386-netinst.iso from here, and copy it onto the FAT filesystem that was written during the previous step and according to some custom essay made:

# mount -t vfat /dev/sdX /mnt
# cp debian-testing-i386-netinst.iso /mnt
# umount /mnt

Now, grab debian-testing-i386-CD-1.iso from here, and copy it to the second USB drive.

Connect BOTH USB drives to the Eee, and boot it from the first USB drive. The installer will appear to work properly until it fails to find any NICs. When it says this, you should be able to navigate back to the main menu and load another ISO to continue the installer. Select debian-testing-i386-CD-1.iso from the second USB drive, and continue the install. It should work fine, up until the reboot.

When the system reboots, you might get a GRUB error 15. The reason for this is that the installer ran the grub-install script, and setup the grub devices assuming that all the USB drives exist as fixed disks. Unfortunately, this happens because in the current Debian kernels (maybe it's more of an initrd problem), the USB storage devices are loaded before the SSD, so the SSD's device is subject to the number of USB drives that are plugged in when the system is booting. This is bad, but there are a few ways to get around it - the best option is UUIDs.

Anyway, reboot the Eee from USB, again, and you're going to have to mount the SSD and edit /boot/grub/device.map to contain the following:

(hd0)     /dev/sdb

Then, depending on your partitioning (if you have /boot as a separate partition, or not), you'll have to edit kopt= in /boot/grub/menu.lst, and re-run grub-install and then update-grub. The details of this are out of scope for this document...

This should get you a booting Eee PC. The GRUB menu might boot slowly, for some reason. For some reason there is only one option is to buy essays which are custom made.

Building modules

Thankfully, the two modules that are needed for networking are available via module-assistant. Just grab the module-assistant package, and build the madwifi and atl2 modules, and networking should be good-to-go.

Issues

There seem to be two quirks with the Eee, when running Debian:

  • CPU frequency scaling (cpufreq). p4-clockmod.ko loads, but the CPU clock won't budge, regardless of what governor is loaded.
  • There seems to be a small lag every couple of seconds. This can be observed during motion of the mouse, typing, and watching any kind of video.

Sleeping

The Eee sleeps well! Just do the following to sleep it:

# ifdown ath0
# rmmod ath_pci
# echo mem > /sys/power/state

There are some ACPI sleep problems with the MadWifi drivers, so it's good to remove the module before sleeping. To wake up, just press the Fn key, and viola. Make sure to modprobe the ath_pci after it's woken up.

See also

External links