Installing Arch Linux on the Asus EEE PC

From ArchWiki

Jump to: navigation, search
Image:Tango-document-new.png This article is a stub.
It may be confusing, not contain enough information, or be a placeholder for an article to come. People are invited to expand it to full article status and remove this box.
i18n
Русский


WARNING: THIS ARTICLE IS INCOMPLETE! Visit the Arch forum thread link below to get information on installing Arch Linux on the Asus EEE PC.

Most of this information is from the Arch Forum. You can also find a lot of helpful information from the EEEUser Forum. There is also a nice Arch Linux installation guide on the EeeUser Wiki.

Users of 901/1000 series Eee PCs should follow the work in progress guide. User of S101 could also check work in progress guide

Contents

Before You Begin

Avoiding Pitfalls

The install is pretty normal, except that you'll need to avoid the pitfalls of our alternative Linux install:

  1. Never choose to use a journaling file system on the SSD partitions
  2. Never use a swap partition on the SSD
  3. Edit your new installation fstab to mount the SSD partitions "noatime"
  4. Never log messages or error log to the SSD

The rules ensure that we won't reach the maximum limit of writes on our SSD faster than we should, although this is being contested (see this link and this other link).

Some other minor modifications can be made to decrease number of non-mandatory writes by applications: deactivate ~/.viminfo in vi, deactivate less history file (~/.lesshst), and so on.

Choosing Your Installation Media

The EEE PC does not have an optical drive installed on the machine. This means you will need to install Arch Linux through one of the alternative methods:

  1. External USB CD-ROM drive
  2. USB pen drive (Recommended)
  3. Network (PXE)

Installing Arch Linux

Note: Please refer to The Beginners Guide for detailed instructions, if needed. Ideally, your CD/USB should boot up just fine on Eee PC without any need for additional options.

Booting Arch the installation CD/USB

The stock kernel on Arch installation media since 2008.06 and newer support Eee's ethernet network card (or at least it should, mine didn't, to be on the safe side, get toofishes' kernel – see below, before you get on with it). So there's no need to install any additional modules before or during the installation process to have a working network connection (unless you want to use wireless network card).

Mount the installation media

Non-FTP install only:

The installer should mount USB source media automatically. If it fails you can manually mount the source media on the stick to the /src directory with the following command:

# mount /dev/sd[x] /src

Start the Installation

Just run:

# /arch/setup

To start the installation just like normal.

Prepare Hard Drive

The default Eee PC drive is split up into four partitions (here is some information about the partitioning):

  • It is easiest to wipe the existing partitions and use one or two partitions for your install. One partition would be just '/', and two partitions would be '/boot' and '/'.
  • Choose "NONE" for swap in case your eee has a SSD (see #2 in Avoiding Pitfalls)
  • Select "ext2" as your filesystem in case your eee has a SSD (see #1 in Avoiding Pitfalls). If your model has a standard HD choose "ext3".

Select Packages

Choose the proper source of package, this should be done automatically if you are installing from USB.

In addition to the BASE category, you also need all of the packages in the DEVEL category if you are planning on compiling stuffs on your Eee.

If you intended to use wireless, then you'll also need the wireless_tools package from SUPPORT category.

If you have an old arch and intend to use wired lan, then you'll need the atl2 package (wired lan works out of the box on the newer kernels)

Install Customized Kernel or Keep stock Kernel

Finish the installation using the beginner's guide and reboot into your fresh install.

At this point you can either continue and install a third party kernel that has been customized for the eee, or skip the next section and use the stock kernel. Note that the latest kernel supports most features straight out of the box, and so using the stock kernel should cause no major issues with modules.

While the customized kernel makes things easier because you don't need to recompile unsupported modules after every major kernel update or reinstall them after every minor one; the stock kernel will always be up to date, have the latest patches and be fully compatible with arch's base system (that's not to say that kernel-eee won't).

If you want to use the stock kernel (recommended) then just run a standard install and skip down to the Xorg setup section of this article.

Note: You may have trouble with the stock kernel, especially if you are installing Arch onto an SD card.

Install Customized Kernel and All the Necessary Modules

After you have installed all the packages you want from your installation media of choice, the next step is to install the kernel that was customized for Eee and all the necessary modules.

Since toofishes' kernel-eee is currently the most up to date one and contains all the necessary modules and patches for Eee (while the stock kernel lacks most of them), it is recommended that you use kernel-eee from toofishes' repository.

Eee repository from toofishes

toofishes created a repository for the Eee. You can find some basic packages like Pentium-M-optimized kernel and needed modules. Add

[eee]
Server = http://code.toofishes.net/packages/eee

to your /etc/pacman.conf to use the repository.

Package List

Currently, toofishes' repository contains the following packages:

  • kernel-eee – customized kernel for Eee – it also contains the wireless, to load it, type modprobe ath5k or/and add it to MODULES line in rc.conf or/and use MOD_AUTOLOAD.
  • luvcview – webcam program for testing webcam driver
Installation Instruction

Simply use pacman to install the package you need. Install the packages with this command:

# pacman -Sy kernel-eee

Then, add the following to /boot/grub/menu.lst; note that no initrd is needed:

# (2) Arch Linux
title  Arch Linux EEE kernel
root   (hd0,0)
kernel /boot/vmlinuzeee root=/dev/sda1 ro

Restart and select Arch Linux EEE kernel from the grub boot menu.

Using stock kernel

If you used the custom kernel above, skip this section.

The stock kernel now supports wifi and acpi as standard (confirmed on the 701)

Small BIOS notice

Your wireless card might not turn on by default, if you want it to power up on boot, go to BIOS, the device tab, and make sure Wireless is enabled. Maybe you can try "echo 1 > /sys/class/rfkill/rfkill0/state" too.

Add the Final Touch

After you have install kernel-eee and all the related packages as noted above, make these edits to /etc/fstab:

  • Add "noatime" and "nodiratime" to the options of your mounts (see #3 in Avoiding Pitfalls)
  • OPTIONAL: Add a new line: "tmpfs /var/log tmpfs size=1M 0 0" (WARNING: this will delete all your logs! See #4 in Avoiding Pitfalls. To save your startup/shutdown logs, look at the pitfalls link above).

Getting Everything Working

By now, you should have Arch installed. The following is the guide on how to get the rest of your system working.

Xorg

You have two choices for video on the Eee – the newer xf86-video-intel driver, or the older xf86-video-i810 driver paired with 915resolution. The Intel driver is the focus upstream and is being actively developed so it is your best choice. (Note that as of 24th Feb 2009 only the xf86-video-intel driver is available through the standard repositories.)

For just a basic X Server you need to install the xorg package:

# pacman -Sy xorg

To install the Intel graphics drivers:

# pacman -Sy xf86-video-intel

You may also wish to install the Synaptics drivers for the touchpad (not needed for EEE PC 900):

# pacman -Sy xf86-input-synaptics


If you choose to use the older i810 video, you will have to install xf86-video-i810 and 915resolution as well. Note that the i810 driver and the intel driver cannot both be installed at the same time.

If you are not able to use the keyboard or the mouse you may also need to install the following packages, especially if you are getting errors like "(EE) Failed to load module "Keyboard" (module does not exist, 0)".

# pacman -Sy xf86-input-keyboard xf86-input-mouse

Then either drop the following Xorg configuration into your /etc/X11/xorg.conf file OR use an automated Xorg configuration System.

(I found the best way to get a good working xorg.conf is to use the hwd utility with -xa switches. (if you use the xf86-video-intel, and you probably should, you need to make sure that change is reflected in your xorg.conf) To use hwd, get install it through pacman -Sy hwd then run hwd -xa and accept the configuration that it offers. Note that you can edit this configuration should you so wish.)

Example Xorg configuration:

Section "ServerLayout"
    Identifier     "Arch Linux"
    Screen      0  "Screen0"
    InputDevice    "keyboard"
    InputDevice    "mouse"
    InputDevice    "synaptics"
EndSection

Section "Files"
    ModulePath   "/usr/lib/xorg/modules"
    FontPath     "/usr/share/fonts/misc"
    FontPath     "/usr/share/fonts/100dpi:unscaled"
    FontPath     "/usr/share/fonts/75dpi:unscaled"
    FontPath     "/usr/share/fonts/TTF"
    FontPath     "/usr/share/fonts/Type1"
EndSection

Section "Module"
    Load  "glx"
    Load  "dri"
    Load  "extmod"
    Load  "synaptics"
EndSection

Section "ServerFlags"
    Option        "AllowMouseOpenFail"
    Option        "BlankTime" "5"
    Option        "AIGLX"   "false"
    Option        "AutoAddDevices" "false"
EndSection

Section "InputDevice"
    Identifier  "keyboard"
    Driver      "kbd"
    Option        "CoreKeyboard"
    Option        "XkbRules" "xorg"
    Option      "XkbLayout" "us"
    Option      "XkbVariant" ""
EndSection

Section "InputDevice"
    Identifier  "mouse"
    Driver      "mouse"
    Option        "Device" "/dev/input/mice"
    Option        "Protocol" "IMPS/2"
    Option        "Emulate3Buttons" "yes"
    Option        "ZAxisMapping" "4 5"
    Option        "CorePointer"
EndSection

Section "InputDevice"
    Identifier  "synaptics"
    Driver      "synaptics"
    Option      "Device"           "/dev/psaux"
    Option      "Protocol"         "auto-dev"
    Option      "LeftEdge"         "60"
    Option      "RightEdge"        "1070"
    Option      "TopEdge"          "90"
    Option      "BottomEdge"       "680"
    Option      "PalmDetect"       "0"
    Option      "SHMConfig"        "true"
    Option      "SendCoreEvents"   "yes"    
    Option      "HorizEdgeScroll"  "1"
    Option      "VertEdgeScroll"   "1"  
    Option      "RBCornerButton"   "0"
    Option      "RTCornerButton"   "0"
    Option      "MaxSpeed"         "0.9"

  # You will also need the following 3 lines if you're using Xorg 1.5RC6 or newer
    Option      "TapButton1"       "1"
    Option      "TapButton2"       "2"
    Option      "TapButton3"       "3"
EndSection

Section "Monitor"
    Identifier   "Monitor0"
    VendorName   "ASUS"
    ModelName    "eeePC P701"
    Modeline     "800x480"  29.58  800 816 896 992  480 481 484 497  -HSync +Vsync # 60 Hz
EndSection

Section "Device"
    Identifier  "Card0"
    Driver      "intel"
    VendorName  "Intel Corporation"
    BoardName   "Mobile 915GM/GMS/910GML Express Graphics Controller"
    BusID       "PCI:0:2:0"
    Option      "AccelMethod" "EXA"
    Option      "MigrationHeuristic" "greedy"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device     "Card0"
    Monitor    "Monitor0"
    DefaultDepth     24
    SubSection "Display"
        Viewport   0 0
        Depth     8
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     15
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     16
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     24
    EndSubSection
EndSection

Section "DRI"
    Mode         0666
EndSection

The synaptics stuff can be removed if you have a EEE PC 900. The Option "AutoAddDevices" line is important if you need a non-default XkbLayout, because if you don't have it, xorg will find 3 keyboards (at least with the 900 model). The Modeline has obviously to be removed or modified if you dont have a model with this resolution.

If you want to set up the i810 driver instead, you will also have to configure 915resolution and add it to your daemons line. This is not needed for the intel driver. Edit the /etc/conf.d/915resolution to look like this:

# Enter the VBIOS mode to patch
MODE="41"

# Enter the desired resolution
RESOLUTION="800 480"

Now put the 915resolution daemon into your /etc/rc.conf file:

DAEMONS=(... 915resolution ...)

Sound, Webcam & Microphone

Sound

Some people have reported sound working right out of the box with no troubles. However, others might need to add to /etc/modprobe.conf the following line for the EeePC 701

options snd-hda-intel model=3stack-dig

or the following one for the EeePC 900 model

options snd-hda-intel model=auto

If your internal microphone doesn't work, you probably have to turn the capture feature on. Simply fire up alsamixer, find your Capture control, and press spacebar to enable it.

Webcam

You can enable your built-in webcam by adding the following line to your /etc/rc.local file.

echo 1 > /sys/devices/platform/eeepc/camera

If you want the webcam application that the default Xandos installation uses, install ucview from the AUR.

The webcam also works fine with the latest version of Skype.

If you already have mplayer installed you can launch:

$ mplayer -fps 15 tv://

I have yet to get it working with vlc or any other software such as xawtv. If you know how, please update this.

  • NOTE: For anyone who has accidentally disabled Auto Exposure for their webcam in luvcview (making the image dark), and can't enable it again, do the following:

Install libwebcam from the AUR.

Issue the following command:

$ uvcdynctrl --set "Exposure, Auto" 4
Note: Be sure the "OS Installation" option is set to "finished" in the BIOS' "Advanced" tab or your camera may not work in some applications (like Skype).

Microphone

Solution for problems with the internal microphone.

1. First of all set in alsamixer "Input Source" to "i-Mic"

2. Increase "Capture" and "i-Mic Boost" to your needs

3. Edit /etc/asound.state the following, change the 2 "false" to "true" like showing:

....snap.....
control.11 {
               comment.access 'read write'
               comment.type BOOLEAN
               comment.count 2
               iface MIXER
               name 'Capture Switch'
               value.0 true
               value.1 true
       }
....snap....

4. After editing run following as root

# alsactl restore

5. Now your internal microphone should be working.

Getting Hot Keys, Graphic Indicators and Shutdown with the Power Button Working

If you want to have working hot keys (wifi, brightness, volume etc), an OSD, and be able to assign actions to things like the powerbutton and closing the lid, then you should install ighea's acpi-eee package.

ighea's acpi-eee

Get the latest package from here.

The package can be easily installed with:

# pacman -U acpi-eee-10.0-1-i686.pkg.tar.gz

See messages during installation for more details and don't forget to edit /etc/acpi/eee.conf to suit your tastes.

  • For those who use the wireless on/off acpi command; the NETWORK_UP_COMMAND="" setting in /etc/acpi/eee.conf, when applicable, should at least release the network. For example, using netcfg2, NETWORK_UP_COMMAND="netcfg2 -a" will release the connections from before disabling wireless, allowing new ones to be made without netcfg thinking that it's already connected. It is also possible to reconnect to your previous network, however, the network tool you use needs to have a somewhat lengthy timeout as it takes 15-20 seconds for your wireless device to reappear.
Note: Make sure asusosd is enabled on startup if you want to have the Graphic Indicators from Xandros. To run asusosd simply type asusosd & at a command prompt.

dkite's acpid_eee

OUT OF DATE

While everyone should be using ighea's acpi and dkite's acpi no longer functions properly; for development purposes and historical reasons, dkite's out of date acpi package is available on his website.

Additional Tips & Tweaks

kernel26eee tweaks

Toofishes' kernel, also known as kernel26eee, can be recompiled to include custom features. You can download toofishes' kernel PKGBUILD and all the nesseary files from his gitweb by installing the git package and using the following command:

$ git clone http://code.toofishes.net/cgit/dan/eee.git

There are two ways to tweak the kernel. The first is simply to edit the kernelconfig file with your favorite editor and the second is to insert a make menuconfig line into the PKGBUILD before the kernel's compilation.

Using Wine with toofishes' kernel

Normally, Wine won't work with toofishes' kernel because it is compiled with VMSPLIT_2G_OPT option. In order to use Wine with toofishes' kernel, you have to recompile his kernel with VMSPLIT_3G option.

Download the kernel PKGBUILD and all the necessary files from toofishes' gitweb using the above instructions, then change the following lines in the kernelconfig file from this:

 ...
 230 CONFIG_NOHIGHMEM=y
 231 # CONFIG_HIGHMEM4G is not set
 232 # CONFIG_HIGHMEM64G is not set
 233 # CONFIG_VMSPLIT_3G is not set
 234 # CONFIG_VMSPLIT_3G_OPT is not set
 235 # CONFIG_VMSPLIT_2G is not set
 236 CONFIG_VMSPLIT_2G_OPT=y
 237 # CONFIG_VMSPLIT_1G is not set
 ...

to this:

 ...
 230 CONFIG_NOHIGHMEM=y
 231 # CONFIG_HIGHMEM4G is not set
 232 # CONFIG_HIGHMEM64G is not set
 233 CONFIG_VMSPLIT_3G=y
 234 # CONFIG_VMSPLIT_3G_OPT is not set
 235 # CONFIG_VMSPLIT_2G is not set
 236 # CONFIG_VMSPLIT_2G_OPT is not set
 237 # CONFIG_VMSPLIT_1G is not set
 ...

Compile and install the kernel and Wine should now work.

Power down with the power button

Note: If you are using ighea's acpi-eee or dkite's acpid_eee package then you should already be able to shutdown by pressing the power button and should not need to do this.

The two alternatives here are described in Allow users to shutdown.

If you don't already or don't plan to use sudo, it may be simpler to use the setuid /sbin/halt method, otherwise using sudo is preferred.

Below are all the steps required for the sudo method. If you want to use the setuid method, read the article linked above and perform the 'power' file step here, while omitting the 'sudo' in it.

# pacman -S sudo

As root, do the following:

# visudo

Add the following line to the file:

USER HOST = NOPASSWD: /sbin/poweroff

Where USER is the user you want to be able to power down with and HOST is your hostname (from /etc/rc.conf).

Now, create a file called /etc/acpi/events/power, containing:

# /etc/acpi/events/power
# This is called when the user presses the power button

event=button/power (PWR.||PBTN)
action=sudo /sbin/poweroff

Make sure that you execute:

# /etc/rc.d/acpid start

And/or add acpid to the daemons list in /etc/rc.conf:

DAEMONS=(hal, acpid ...)

Use cpufreq for power saving

Note: toofishes dropped CPU scaling from his latest kernel builds, due to the fact, confirmed by other users, that there were no effective power savings with p4-clockmod's module, and it introduced "unacceptable latency", even with relatively low percentage up thresholds.

Install cpufrequtitls:

# pacman -S cpufrequtils

For scaling down the processor you have to load the p4_clockmod module. Insert it into your /etc/rc.conf MODULES array for loading it at startup.

MODULES=(... p4_clockmod ...)

Add 'cpufreq' to the DAEMONS array in /etc/rc.conf to have it start on startup.

DAEMONS=(... cpufreq ...)

Add the following into /etc/conf.d/cpufreq:

governor="ondemand"
min_freq="113MHz"
max_freq="900MHz"

With enabled cpufreq it scales the processor between 113MHz up to max. frequency. That should save a lot on battery power. The stated 900MHz will be never reached by the eeePC, the p4_clockmod reports a wrong frequency here. But scaling works, you can feel it in the performance of eeePC that he slow down the processor.

Note: The merits of p4-clockmod are debatable. Particularly on the EEEPC 701, battery time isn't extended due to its usage, and some users have even reported less battery duration. More hints to the reasons why can be read in this fine blog entry.

More responsive system with ondemand governor

The default up_threshold (where it will bump to a faster speed) for the CPU governor is 80, which means it will increase the CPU speed when utilization is above 80%. This can make X applications have a bit of lag.

Try changing this value:

$ sudo bash -c  "echo 40 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold"

With 40 it still leaves the majority of CPU cycles at the lowest available clock speed but increases responsiveness. You can add this line to one of your startup scripts (such as /etc/rc.local) if you wish to keep it, for example:

#!/bin/bash
#
# /etc/rc.local: Local multi-user startup script.
#

echo 40 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold

Also, following line is also reported to help makes system more responsive. You can use it by adding it to your /etc/rc.local:

echo 2000000 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate

Speeding up udev for faster boot

You can also disable the autoload by editing your rc.conf:

...
MOD_AUTOLOAD="no"
...
MODULES=(pciehp ath5k)

Update your BIOS without Xandros

Warning: You can break your system, do not update if you are not sure of what you are doing!

First, you need to download the .rom file.

You also need an USB stick formatted in FAT32. To format the USBStick, use the cfdisk tool:

# cfdisk /dev/sdc     # could be something else than "c"

Choose [delete], [type]: "fat32" (code 0B), [write] and then exit with [quit].

NOTE to EEE PC 900 owners and possibly others: Using this method will require a flash drive formatted with a FAT16 file-system. If the BIOS update process hangs up at "Reading file 900.ROM" for more than a few minutes then it should be safe to power down your EEE PC and reformat your flashdrive's file-system to the correct one. You can force FAT16 creation with the following command:

# mkdosfs -F 16 /dev/device-path

Now just copy the .rom on the USBStick :

$ cp /somewhere/blabla/.../thecurrentnameofthefile.ROM /path/to/mounted/usb_stick/701.rom

The name of the copy must be xxxx.rom where xxxx is the model of your eee PC. (i.e. 900 users it's 900.rom)

Next step, reboot the eeepc with the USB stick pluged-in, and press Alt+F2. It will launch the built-in tool. Everything should be Ok, you can make a coffee during the update. When it asks you to push the power-button it has finished.

At the next boot, you'll be invited to configure the BIOS. Check if the everything is enabled (my webcam and wireless were disabled after the update) and if it displays the good version in the main screen. It's done!

More usable font sizes

The_glu's method

I found an easy solution that works on a 901:

Edit /etc/X11/xinit/xserverrc and add "-dpi 134":

exec /usr/bin/X -nolisten tcp -dpi 134

Restart X and fonts should have the correct size. Notice it's won't works if you have Xft*dpi: in your .XDefaults.

You don't need to edit your config file to set a smaller font size, I you did you should set font-size to 10 or you will have to small fonts...

Old method

On a default installation with Xfce 4 my font sizes were too big, here is what I did to sort them out.

First, I set the DPI by adding the following to ~/.Xdefaults:

 Xft*dpi: 134

This then caused the fonts to be even bigger, so I set them all to be font-size 6 by adding the following into ~/.gtkrc-2.0 (note that this will be overwritten if you use any tools to change GTK settings):

 style "user-font"
 {
     font_name="Bitstream Vera Sans 6"
 }
 widget_class "*" style "user-font"

To do the same with KDE fonts (without KDE installed) you have to add the following to ~/.kde/share/config/kdeglobals:

 [General]
  StandardFont=Bitstream Vera Sans,6,-1,5,50,0,0,0,0,0
  activeFont=Bitstream Vera Sans,6,-1,5,75,0,0,0,0,0
  fixed=Bitstream Vera Sans Mono,6,-1,5,50,0,0,0,0,0
  font=Bitstream Vera Sans,6,-1,5,50,0,0,0,0,0
  menuFont=Bitstream Vera Sans,6,-1,5,50,0,0,0,0,0
  taskbarFont=Bitstream Vera Sans,6,-1,5,50,1,0,0,0,0
  toolBarFont=Bitstream Vera Sans,6,-1,5,50,0,0,0,0,0

To make your fonts even prettier enable the LCD Fonts.

Alternative Method

For me it worked far better to open the gnome appearance control panel, go to the fonts tab, click defaults, and change the resolution to be 96 dpi. Changing .Xdefaults doesnt work when running gnome, as gnome-settings-daemon overrides it. You can then leave all font sizes at their default, and things should look good. Simply changing the font sizes and leaving the DPI at its technically correct value (~134) gave me weird layout problems in some apps, and oddly large fonts in others.

Known problems and their solutions

Wireless doesn't work, even after installing custom Madwifi module

I found that Arch tried to use the ath5k module for wireless, and that meant it took control of the card rather than ath_pci (the module I had compiled and installed). I got a Madwifi status 3 message in dmesg when this happened.

The solution is to blacklist the ath5k module in /etc/rc.conf:

MODULES = ( ... !ath5k ... )

Laggy or Unresponsive ACPI Events

The latest kernel (2.6.26) introduces new problems with Eee's ACPI events handling. Basically, ACPI events become very laggy and after some time ACPI get disabled after a heavy usage (e.g. changing volume, brightness). This problem affects both stock kernel and toofishes' kernel.

It appears that the solution is to apply this patch (original bug report) to the kernel.

Note: The latest toofishes' kernel, version 2.6.26-1, now includes the patch, but you can still use ighea's one for the extras features listed below.

Until toofishes update his kernel to include the patch, you can use ighea's slightly modified toofishes' kernel that included the above patch, as well as other modifications:

  • Support for Wine
  • uvesafb is built as module
  • Use new eeepc-laptop driver (which also handles fan-control) instead of older acus_acpi or asus-laptop -drivers.

You can get the modified kernel, as well as the associative packages, from here.

After you have downloaded the packages, Install them using this command:

# pacman -U kernel-eee-2.6.26-1-i686.pkg.tar.gz madwifi-eee-svn-3752-1-i686.pkg.tar.gz	

You might also want to use IgnorePkg-line in /etc/pacman.conf to hold packages from being accidentally updated.

IgnorePkg = kernel-eee madwifi-eee-svn

Also don't forget to upgrade ighea's acpi-eee package to version 9.6.

Shutdown Problem

If your Eee won't shutdown properly (i.e. the power indicator LED is on but the LCD screen is off), then add the following lines to your /etc/rc.local.shutdown file.

#! /bin/bash
#
# /etc/rc.local.shutdown: Local shutdown script.
#

# Comment or uncomment the following two lines according to your system configuration.

/etc/rc.d/mpd stop        # If you're using mpd, then you have to stop its daemon first.

/etc/rc.d/alsa stop       # If you're using ALSA daemon, then you also have to stop it.

# The following line is Eee specific fix, you always need to have this line in /etc/rc.local.shutdown.

echo -n "0000:00:1b.0" > /sys/bus/pci/drivers/HDA\ Intel/unbind

The above solution should fix the shutdown problem in most cases. But if for some reason the problem still persists, the module may not be able to be unloaded until after all services have finished. Do the above, then in /etc/rc.shutdown move

if [ -x /etc/rc.local.shutdown ]; then
  /etc/rc.local.shutdown
fi

from where it was to directly above the line

# Terminate all processes

this will cause the rc.local.shutdown script to run after services have been exited. This fixed all issues for the person editing this note.

Unclean unmount during shutdown when having home directory mounted on SD card

If you experienced unclean unmount during shutdown when having your home directory on SD card, then add the following 3 lines to "Write to wtmp file before unmounting" section of your /etc/rc.shutdown file:

...

stat_busy "Unmounting Filesystems"
/bin/umount -a -t noramfs,notmpfs,nosysfs,noproc

# Add these 3 lines
sync;sync;sync;
eject /dev/sdb  # Or whichever is your SD-card's device name. /dev/disk/by-uuid/ followed by the UUID identifier is preferable though.
sleep 3
# End of hack

stat_done

...

Booting from card without initrd

Let's say you decided to install Arch Linux on a card and compiled your own kernel (or used the kernel26eee kernel) without initrd. Card reader on EeePC is connected as an USB device. Unfortunately, USB storage devices are detected with a delay, so we must tell the kernel to wait until this device becomes available. You do this with "rootwait" option passed to kernel at boot time.

Sleeping and waking system on a card

If you have Arch Linux on a card, waking up from sleeping state will most likely fail. The only solution is to enable the CONFIG_USB_PERSIST option in kernel. The kernel26eee package should have this option enabled.

The command to do this is:

echo 1 >/sys/bus/usb/devices/.../power/persist

Replace the "..." with the device like 1-3 or 1-5 where the first number is the bus and the second is the device

Each device that is connected to your computer gets an entry in the sysfs "system file system" it is a virtual file system like proc

More info:

Display doesn't wake up properly

If you encounter black display (but apparently working system) after suspend/resume, consider using the "uswsusp" package (available in AUR) and correcting suspend2ram script in /etc/acpi, where you use this line to make the machine go to sleep:

/usr/sbin/s2ram --force --vbe_post --vbe_mode

Battery Tests

The following are reported battery runtimes:

Battery runtimes
Task Series Wireless Screen Brightness FSB Speed Fan Speed Runtime Comments
DVD Playback 701 On Max 85mhz 100% 134min Reading DVD ISO from 16gig SDHC Card
DVD Playback 701 Off Max 85mhz 100%  ??? Reading DVD ISO from 16gig SDHC Card
AVI Playback 701 Off Max 85mhz 100%  ??? Reading AVI from SSD
IM and Surf 701 On ~30%  ??? low 173min Normal web-browsing, Flash should reduce runtime a lot !

N.B. - Will add battery runtimes as I am able to test them, please contribute. -- Grecko.1

Personal tools