Differences between revisions 86 and 87
Revision 86 as of 2008-02-15 12:38:29
Size: 12480
Editor: BenArmstrong
Comment: Comment on SSD write life expectancy and ext2 recommendation vs. ext3
Revision 87 as of 2008-02-15 14:57:36
Size: 11876
Editor: BenArmstrong
Comment: Change ext2 recommendation to ext3 and provide reference backing this up
Deletions are marked like this. Additions are marked like this.
Line 27: Line 27:
Its recommended to use ext2 as your file sytem (or another non journaling file system) and to mount it with the noatime option as writing to the same spot on the flash drive continuously will reduce its life) The noatime option can be set during install or by editing /etc/fstab after install. Making a swap partition is also not suggested. If you really need one, a swap file is recommended instead.

----
 . [BenArmstrong] The benefits of using ext2 or another non-journalling fs to limit writes vs. the considerable risk of data loss should the laptop lose power and shutdown improperly are dubious. There has been some discussion at http://forum.eeeuser.com/ about SSD write life expectancy and from that I have concluded from it that we can expect a much longer lifespan (on the order of 5 to 10 years) from the SSD without taking extraordinary measures to limit writes. Besides that, the amount of extra writing going on for ext3 is dwarfed by the writing of data itself, so using ext3 should be fine. If you want to mount with noatime, go ahead. I don't see any downside. Also doing without swap has worked out well for me.
It is fine to use ext3 as your filesystem, which is the default. See [http://wiki.eeeuser.com/ssd_write_limit?s=ssd] for a compelling argument that you're not going to kill your flash drive by the small percentage of extra writes that a journalling filesystem will add over the lifespan of the drive. You may wish to do without swap simply because it will save space on the relatively small SSD in the Eee. Also [./TipsAndTricks] links to some tuning tips if after reading this article you're still concerned about write life-span.

Install lenny using native Debian kernel and modules

Although this method is still new and we have some kinks to work out, it's where we're heading, so we'd prefer if users would try it out and give us feedback. The old method, using the Xandros kernel and modules is retained below for reference purposes.

Preparation

You need a USB disk. Please download these files:

To prepare the USB disk, copy the image onto the drive:

gunzip sid-usb.img.gz
dd if=sid-usb.img of=/dev/<YOUR-USB-DEVICE>

Note: <YOUR-USB-DEVICE> = the whole device, not a device partition

Now mount <YOUR-USB-DEVICE> and copy the atl2-modules onto it:

cp atl2-modules-2.6.22-3-686_2.6.22+1.0.40.4-9_i386.deb /PATH/OF/USB/DISK/

Installation

Boot the eee and press <ESC> during the first screen. This lets you select which device to boot from.

The actual installation is very standard; if you're reading this, you almost certainly already know how to install Debian. :) It is fine to use ext3 as your filesystem, which is the default. See [http://wiki.eeeuser.com/ssd_write_limit?s=ssd] for a compelling argument that you're not going to kill your flash drive by the small percentage of extra writes that a journalling filesystem will add over the lifespan of the drive. You may wish to do without swap simply because it will save space on the relatively small SSD in the Eee. Also [.?/TipsAndTricks] links to some tuning tips if after reading this article you're still concerned about write life-span.

Additional modules not yet in Debian kernels

Ethernet (atl2)

When you first get into the eeepc-debian install you’ll notice your NIC / Ethernet is not working. That’s because you haven’t loaded the driver yet.

Put the flashdrive into your eeepc and mount it:

mount /dev/<YOUR-USB-DEVICE> /media
  • On your system, you might need to replace /dev/sdc with a different device -- look at the output of dmesg after you insert the USB disk.

Now install the kernel module:

cd /media
Become root and invoke the following commands:
dpkg -i atl2-modules-2.6.22-3-686_2.6.22+1.0.40.4-9_i386.deb
modprobe atl2
dhclient
cd
umount /media

Madwifi

Install and configure module-assistant:

Become root and invoke the following commands:
apt-get install module-assistant
m-a prepare

Download and install this patched madwifi-source package:

wget http://people.debian.org/~synrg/debian-eeepc/madwifi-source_0.9.3.2-2+eee_i386.deb
Become root and invoke the following command:
dpkg -i madwifi-source_0.9.3.2-2+eee_i386.deb

Now you can use module-assistant to build and install a .deb package for the driver:

Become root and invoke the following commands:
m-a a-i madwifi
modprobe ath_pci

You may want to put the madwifi-source package on hold so that in any future upgrades it won't be overwritten.

If you are using sid, (or the lenny version gets bumped, which it is likely to soon) then m-a a-i will first check for a newer source package. This is obviously bad as it wont have the binary patch applied. Use 'm-a build' to make the modules and then install the debs it makes in /usr/src.

uvcvideo

The module source in lenny should work with module-assistant:

Become root and invoke the following commands:
m-a a-i linux-uvc
modprobe uvcvideo

Then test it's working by executing:

Become root and invoke the following command:
apt-get install luvcview
As normal user you can now make use of your web cam tool
luvcview -f yuv

The camera is switched off by default after the installation. You can enable it in the BIOS, or by doing echo 1 > /proc/acpi/asus/camera. You should see messages about the camera being detected if you do dmesg | tail.

If you broke your webcam settings, use mplayer -fps 30 tv:// once to restore them.

eeepc_acpi

The eeepc-acpi-source package is available in Debian unstable and shortly in testing, too. It builds an out-of-kernel module to support the Eee PC hotkeys. It was based on Asus's patched asus_acpi.c module, but doesn't conflict with standard Debian kernel packages.

First, set up a module-compilation environment as described in the Madwifi section above. Then build and install the eeepc-acpi module with module-assistant:

Become root and invoke the following commands:
m-a a-i eeepc-acpi
modprobe eeepc_acpi
/etc/init.d/acpid restart

Add eeepc_acpi to /etc/modules so that it will be loaded when you boot.

Notes:

  • The battery info is not very precise (jumps from 10% to 100%, no rate information, etc...). Apparently, this is normal. It appears that the userspace battery utilities expect the battery to report mAh, but in fact it reports percentage. This is either a bug in the battery firmware or a bug in the BIOS. In either case, unless someone comes up with a patch to deal with batteries that report percentage, Asus needs to fix this.
  • Suspend does not yet work out of the box. See the solution given below using the "zzz" script.

Xorg

Touchpad Scrolling

The default debian installer did not enable the touchpad scrolling for me. The following are bits that I had to add to xorg.conf to enable touchpad scrolling.

Section "InputDevice"
        Identifier      "Synaptics Touchpad"
        Driver          "synaptics"
        Option          "CorePointer"
        Option          "SendCoreEvents"        "true"
        Option          "Device"                "/dev/input/mice"
        Option          "Protocol"              "auto-dev"
        Option          "HorizEdgeScroll"       "1"
EndSection

Section "Server Layout"
    Identifier          "Default Layout"
    Screen              "Default Screen"
    InputDevice         "Generic Keyboard"
    InputDevice         "Synaptics Touchpad"
EndSection

This will enable horizontal as well as vertical scrolling on the touchpad. By default, iceweasel will use the horizontal scrolling as <backwords/forwards> To disable this, go into about:config and change the following values.

mousewheel.horizscroll.withnokey.action   (change 2 to 0)
mousewheel.horizscroll.withnokey.numlines  (change -1 to 1)

Aiglx support for compiz

The following were needed to get compiz working. Compiz works for me with xfce, but its a bit choppy rotating the cube to a workspace that has opened programs on it. (If you have a good working xorg.conf thats different to this, please update)

Section "Device"
        Identifier      "Configured Video Device"
        Driver          "i810"
        Option          "XAANoOffscreenPixmaps"
        Option          "AddARGBGLXVisuals"     "true"
EndSection

Section "DRI"
    Mode 0666
Endsection

Section "Extensions"
    Option              "Composite"     "Enable"
Endsection

Troubleshooting

Forum

There is more information in this forum post (although some of it may be out of date):

http://forum.eeeuser.com/viewtopic.php?pid=47421#p47421

Ethernet (atl2)

Building from source

Become root and invoke the following commands:
apt-get install module-assistant
m-a a-i atl2
modprobe atl2

For good measure this reloads the atl2 driver.

Ethernet

One problem you may come across is the ethernet not becoming active. This is a bug with the chipset for when you install. To fix this, temporarily enable PXE/netboot in the BIOS. You may not come across this problem, but you can enable it and disable it at any time without problem. The problem will be gone as soon as you have installed so you may disable PXE in the BIOS after that.

Shutting down

There is an issue surrounding shutting down. The system halts, but the fan continues to run and the wifi light stays on. The reason is the sound module doesn't close correctly, but there is a fix!

  1. (as root) aptitude install acpi-support
  2. Edit /etc/default/acpi-support with your favourite text editor (or nano) and add snd_hda_intel to the MODULES="" line.

Then it will poweroff correctly!


  • [?FlorianGillig] don't work for me, works only once per three times... EEE don't power off correctly.

Silence hdd errors caused by acpi-support

Become root and invoke the following command:
sed -i s/DO_HDPARM=y/DO_HDPARM=n/ /etc/acpi/*/90-hdparm.sh

Special key

Specials keys

Key

Function

Work, comment

Fn + F1

sleep

Yes

Fn + F2

wifi

Yes (read details below)

Fn + F3

- light screen

Yes

Fn + F4

+ light screen

Yes

Fn + F5

Change screen

No, nothing append

Fn + F6

Task manager

No, nothing append

Fn + F7

disabled Sound

no, nothing append

Fn + F8

- sound

no, nothing append

Fn + F9

+ sound

no, nothing append


  • [?NicolasBoullis] Enabling/disabling the wifi works like plugging/unplugging the PCI Express wifi card. To ensure that it properly gets enabled when it is plugged, you need the pciehp kernel module. (And for some reason, it only works with the "pciehp_force=1" option.) Hence, just append "pciehp pciehp_force=1" to your /etc/modules, run "modprobe pciehp pciehp_force=1" (or reboot if you're a Windows fan) and be happy with your Fn + F2 key.


  • [BenArmstrong] The pciehp_force=1 option is not a valid option with linux kernel 2.6.24. In any event, I would not recommend putting module options in /etc/modules. That's what /etc/modprobe.d/ is for.



Screen resolution

Because the resolution screen is 800x480. Many applications exceed the screen. The best example is the Gnome application Evolution. I'm looking for a solution.

found see [:DebianEeePC/TipsAndTricks:http://wiki.debian.org/DebianEeePC/TipsAndTricks]

OLD: Install using the Xandros kernel and modules

Instructions for installing Debian on the Eee PC using Kibobo's http://kibobo.free.fr/EEE/debian/usb/usb.img.gz which contains the Xandros kernel that ships with the Eee PC can be found here:

It is possible to get wireless and wired ethernet connections working using this method.

Unfortunately, the kernel and modules in kibobo's image are out of date because the Asus update site kibobo fetched them from is out of date. One way around this is to extract the P701.gz image file from the recovery CD, gunzip it, mount it loopback, chroot into the mount, install dpkg-repack from etch, and dpkg-repack each package, though that's a lot of work to ask a user to do. The old packages seem to work well enough for now.

There are some further notes here:

Don't use Andrew's wifi script, as it does not work when there are blanks in the essid, which is pretty common. Use this version instead:

http://people.debian.org/~synrg/debian-eeepc/wifi

If you use Andrew's zzz script, you need to edit /etc/acpi/events/lidbtn to call lid.sh instead of lidbtn.sh.

I have put an improved version of zzz here:

http://people.debian.org/~synrg/debian-eeepc/zzz

In particular, it preserves the display better than Andrew's original and doesn't force you back to vt7 (the X session) even if you were on a different vt when you put the machine to sleep.

FixMe: package a suspend solution using original Eee PC acpi and/or Andrew Kilpatrick's scripts as a guide.