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 [http://wiki.eeeuser.com/ssd_write_limit this link] and [http://www.storagesearch.com/ssdmyths-endurance.html this other link]).

−

−

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

===Choosing Your Installation Media===

===Choosing Your Installation Media===

Line 21:

Line 10:

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:

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:

−

# [[Beginners_Guide#USB_stick|USB stick]] '''(Recommended)'''

+

# [[USB Installation Media|USB stick]] '''(Recommended)'''

# External USB CD-ROM drive

# External USB CD-ROM drive

# [[PXE|Network (PXE)]]

# [[PXE|Network (PXE)]]

−

−

==Installing Arch Linux==

−

−

With the release of the 2009.08 installation media, installing Arch Linux on Asus Eee PC model 701 is pretty easy and straightforward since the stock kernel on Arch installation media support all of the 701 hardwares out of the box.

−

−

Therefore, aside from the following pointers specific to the 701 described below, there shouldn't be any other major differences between installing Arch Linux on the 701 and any other computer. You should be able to successfully install Arch on the 701 by following instructions on [[Beginners_Guide|Beginners' Guide]] without any problem.

−

−

===Prepare Hard Drive===

−

−

The most important different between the 701 and other machines is that the 701 use SSD drive instead of normal hard drive. This section advise on how to set up a partition scheme that is best suited to the 701.

−

−

The default Eee PC drive is split up into four partitions (here is [http://forum.eeeuser.com/viewtopic.php?id=1805 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 '/'.

Install X by follow instructions on the [[Beginners_Guide#Step_2:_Install_X|Beginners' Guide]], then install the Intel graphics driver:

−

# pacman -S xf86-video-intel

−

−

You must also install the Synaptics driver to have touchpad working properly (not needed for Eee PC 900):

−

# pacman -S xf86-input-synaptics

−

−

With the latest version of X from extra repository, X should work on the 701 '''without any need for xorg.conf'''. However, if for some reason you wish to use an xorg.conf file, you can use an old [[Example_Xorg_configuration_file_for_Asus_Eee_PC_701|example Xorg configuration file for Asus Eee PC model 701]] as a template or automatically generate a new one by running the following command:

−

−

# Xorg -configure

−

−

Consult [[Xorg_input_hotplugging|Xorg Input Hotplugging]] for more information on how to config input devices using HAL.

−

−

The synaptics stuff can be removed if you have a EEE PC 900. The {{Codeline|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.

−

−

===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 [http://kapsi.fi/ighea/eee/acpi-eee/ 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 {{Filename|/etc/acpi/eee.conf}} to suit your tastes.

−

−

*For those who use the wireless on/off acpi command; the {{Codeline|NETWORK_UP_COMMAND&#61;""}} setting in {{Filename|/etc/acpi/eee.conf}}, when applicable, should at least release the network. For example, using netcfg2, {{Codeline|NETWORK_UP_COMMAND&#61;"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 {{Codeline|asusosd &}} at a command prompt.}}

==Asus Eee PC model 701 repository from toofishes==

==Asus Eee PC model 701 repository from toofishes==

Line 88:

Line 27:

[eee]

[eee]

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

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

−

to your {{Filename|/etc/pacman.conf}} and then issue:

+

to your {{ic|/etc/pacman.conf}} and then issue:

−

pacman -Syu

+

pacman -Syy

===Package List===

===Package List===

Line 101:

Line 40:

# pacman -S kernel-eee

# pacman -S kernel-eee

−

then, add the following to {{Filename|/boot/grub/menu.lst}}; note that no initrd is needed:

+

then, add the following to {{ic|/etc/grub.d/40_custom}}, or to another file in {{ic|/etc/grub.d/}} depending on the boot order you want.

# (2) Arch Linux

# (2) Arch Linux

−

title Arch Linux Eee kernel

+

menuentry 'Arch Linux Eee kernel' {

−

root (hd0,0)

+

set root='(hd0,1)'; set legacy_hdbias='0'

−

kernel /boot/vmlinuzeee root=/dev/sda1 ro

+

legacy_kernel '/vmlinuzeee' '/vmlinuzeee' 'root=/dev/sda1' 'ro'

+

}

+

+

Then run

+

+

grub-mkconfig -o /boot/grub/grub.cfg

+

+

to regenerate your GRUB config file.

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

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

Line 121:

Line 67:

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

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

−

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

+

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

===Using Wine with toofishes' kernel===

===Using Wine with toofishes' kernel===

Line 129:

Line 75:

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.

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 {{Filename|kernelconfig}} file from this:

+

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

<pre>

<pre>

...

...

Line 163:

Line 109:

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

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 {{Codeline|USER}} is the user you want to be able to power down with and {{Codeline|HOST}} is your hostname (from {{Filename|/etc/rc.conf}}).

{{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.}}

+

CPU scaling with p4_clockmod has been dropped from Arch's kernel builds, due to the fact, confirmed by 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 {{Filename|/etc/rc.conf}} MODULES array for loading it at startup.

−

MODULES=(... p4_clockmod ...)

−

−

{{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 [http://www.codemonkey.org.uk/2009/01/18/forthcoming-p4clockmod/ this] fine blog entry.}}

−

−

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

−

DAEMONS=(... cpufreq ...)

−

−

Add the following into {{Filename|/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.

−

−

===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.

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 {{Filename|/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 {{Filename|/etc/rc.local}}:

*[http://www.eeesale.com/Asus-Eee-PC-overclock-Benchmarks.htm Speed up the Eee PC]

−

−

You can also disable the autoload by editing your {{Filename|[[rc.conf]]}}:

−

...

−

MOD_AUTOLOAD="no"

−

...

−

MODULES=(pciehp ath5k)

===Update your BIOS without Xandros===

===Update your BIOS without Xandros===

Line 271:

Line 143:

I found an easy solution that works on a 901:

I found an easy solution that works on a 901:

−

Edit {{Filename|/etc/X11/xinit/xserverrc}} and add "-dpi 134":

+

Edit {{ic|/etc/X11/xinit/xserverrc}} and add "-dpi 134":

exec /usr/bin/X -nolisten tcp -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 {{Filename|.XDefaults}}.

+

Restart X and fonts should have the correct size. Notice it's won't works if you have Xft*dpi: in your {{ic|.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...

+

You do not 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 ====

==== Old method ====

Line 282:

Line 154:

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

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 {{Filename|~/.Xdefaults}}:

+

First, I set the DPI by adding the following to {{ic|~/.Xdefaults}}:

Xft*dpi: 134

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 {{Filename|~/.gtkrc-2.0}} (note that this will be overwritten if you use any tools to change GTK settings):

+

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

style "user-font"

style "user-font"

{

{

Line 292:

Line 164:

widget_class "*" style "user-font"

widget_class "*" style "user-font"

−

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

+

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

[General]

[General]

StandardFont=Bitstream Vera Sans,6,-1,5,50,0,0,0,0,0

StandardFont=Bitstream Vera Sans,6,-1,5,50,0,0,0,0,0

Line 312:

Line 184:

===Sound===

===Sound===

−

For most people, sound should work right out of the box with no troubles. However, others might need to add the following line to {{Filename|/etc/modprobe.conf}}

+

For most people, sound should work right out of the box with no troubles. However, others might need to add the following line to {{ic|/etc/modprobe.d/modprobe.conf}}

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

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

or the following one for the Eee PC 900 model

or the following one for the Eee PC 900 model

Line 325:

Line 197:

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

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

−

If you want the webcam application that the default Xandros installation uses, install [http://aur.archlinux.org/packages.php?do_Details=1&ID=14469 ucview from the AUR].

+

If you want the webcam application that the default Xandros installation uses, install [https://aur.archlinux.org/packages.php?do_Details=1&ID=14469 ucview from the AUR].

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

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

Line 336:

Line 208:

*'''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:

*'''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 [http://aur.archlinux.org/packages.php?do_Details=1&ID=14468 libwebcam from the AUR].

+

Install [https://aur.archlinux.org/packages.php?do_Details=1&ID=14468 libwebcam from the AUR].

Issue the following command:

Issue the following command:

Line 353:

Line 225:

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

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

−

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

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.

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 {{Filename|/etc/rc.conf}}:

+

The solution is to [[kernel modules#Blacklisting|blacklist]] the {{ic|ath5k}} module.

−

−

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 [http://bugzilla.kernel.org/attachment.cgi?id=16862 patch] ([http://bugzilla.kernel.org/show_bug.cgi?id=10724 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:

You might also want to use IgnorePkg-line in {{Filename|/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.

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

===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 {{Filename|/etc/rc.shutdown}} file:

+

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 {{ic|/etc/rc.shutdown}} file:

<pre>

<pre>

...

...

Line 434:

Line 280:

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

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

−

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

+

Replace the {{Ic|"..."}} 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

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

Additional Tips & Tweaks

Tweaking kernel-eee

Toofishes' kernel, also known as kernel-eee, 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:

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

Note: Since kernel-eee 2.6.32eee, wine is working fine without the need of customizing toofishes' kernel as explained below

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.

Use cpufreq for power saving

CPU scaling with p4_clockmod has been dropped from Arch's kernel builds, due to the fact, confirmed by 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.

Update your BIOS without Xandros

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

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:

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 do not 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):

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

Sound

For most people, sound should work right out of the box with no troubles. However, others might need to add the following line to /etc/modprobe.d/modprobe.conf

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.

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:

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

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 the official repositories) and correcting suspend2ram script in /etc/acpi, where you use this line to make the machine go to sleep: