?TableOfContents

Translations: [:DebianEeePCFrench/HowTo/Install:French] [:DebianEeePCGerman/HowTo/Install:German]

Install Lenny using native Debian kernel and modules

This is now the recommended way to install Debian Lenny on an Eee PC. While it is not yet finished, we're daily working to improve each step. The goal is to have a standard debian-installer "just work" so we're taking the extra time and effort to do that rather than working around the problem by making a lot of custom eee-specific code.

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 (e.g. /dev/sdX NOT /dev/sdX1)

You may have noticed that you are using the entire device without a partition table. This works because the BIOS knows how to boot directly from FAT partitions. This boot mode is called "superfloppy" mode and is supported by the Eee PC BIOS for USB devices and SD cards.

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 for a compelling argument that you're not going to kill your flash drive by the small percentage of extra writes that a journaling 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 ["DebianEeePC/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

Introduction to building out-of-kernel modules

The instructions below require you to install and compile module source packages using module-assistant. This can be done on your Eee PC, but will result in the installation of a lot of development tools that you might not otherwise need.

An alternative method is to do the installation and compilation of the modules on another Debian machine (one that is faster and has more disk space), and then install the resulting module packages on the Eee PC.

If you decide to go this route, refer to the manpage for module-assistant. You will need to run "m-a build ..." instead of "m-a auto-install ...". Note that if your Eee PC is running a different kernel version than your build machine, you will need to install the linux-headers and linux-kbuild packages corresponding to the Eee PC's kernel, and use the "-l" option to specify that version when you invoke module-assistant.

Once you have successfully built a module, copy the resulting .deb to the Eee PC and install it there with "dpkg -i ...".

Ethernet (atl2)

This just works now. The old version of our installer had a bug which required a manual install of atl2 after installation -- this is now no longer required.

Wireless (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:

Become root and invoke the following command:

wget http://people.debian.org/~synrg/debian-eeepc/madwifi-source_0.9.3.2-2+eee_i386.deb
dpkg -i madwifi-source_0.9.3.2-2+eee_i386.deb

Be sure to have the contrib section in your  /etc/apt/sources.list  because madwifi-source needs madwifi-tools. 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 build madwifi
m-a install 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. (See ["../../Todo#package_madwifi_source"]. A future release will solve this problem.)

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' as shown above to make the modules and then install the debs it makes in /usr/src.

See ["DebianEeePC/HowTo/Wifi"] to set up wifi with or without encryption.

Webcam (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

This won't work if you are using a 2.6.24 kernel. As noted in #[http://bugs.debian.org/463655 463655], the latest SVN revision of the driver works fine.

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.

Power management & hotkeys

Power management & hotkeys kernel module (eeepc-acpi)

The eeepc-acpi-source package is available in Debian unstable and testing. 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.

To respond properly to the acpi events, you will need the new eeepc-acpi-scripts package described in the next section, 'Power management & hotkey scripts'.

Notes:

Power management & hotkey scripts (eeepc-acpi-scripts)

Special 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

Yes

Fn + F8

- sound

Yes

Fn + F9

+ sound

Yes

Install http://people.debian.org/~nion/debian-eeepc/eeepc-acpi-scripts_1.0_all.deb to get the described functionality. This just arrived in unstable and will be available in testing pretty soon. Please note that this package conflicts with acpi-support. You must purge acpi-support, not just remove it so that none of the acpi-support scripts that remain in /etc after removal are triggered by various acpi events.

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.) Create a file /etc/modprobe.d/pciehp with 'options pciehp pciehp_force=1' in it and put 'pciehp' in /etc/modules. Then 'rmmod pciehp; modprobe pciehp'.

Read the doc in /usr/share/doc/eeepc-acpi-scripts/README.Debian and configure /etc/default/eeepc-acpi-scripts as needed.

Ethernet (atl2) from source

The version of atl2 binary module in Lenny is old and has bugs that are fixed in the new source package that exists in Lenny. Upgrade as follows:

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.

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)

Multiple displays

In /etc/X11/xorg.conf, make sure any "?HorizSync" and "?VertRefresh" lines are commented out or removed from the "Monitor" section and set "Virtual 2048 2048" in the "Display" subsection of your "Screen" section.

To enable an external display, positioning it above the Eee's own display, plug it in and type "xrandr --display VGA --above LVDS --auto". A future release of eeepc-acpi-scripts will add hotkey support for this.

Aiglx support for compiz

The following were needed to get [http://compiz.org/ 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

Hibernate

[?DamyanIvanov] Hibernate worked for me just fine after I've set up a 256M dedicated SWAP partition. Perhaps the same is possible using swap files too. The only glitch is that I have to quit memory-hungry programs like Iceweasel before attempting hibernate, as otherwise the swap space is not enough. To hibernate, run s2disk as root (from the uswsusp package). If you use gnome-power-manager you can just press the power button (but remember to disable the button action in /etc/acpi/actions/power.sh installed by debian-eeepc-scripts to avoid double prompts).

Troubleshooting

Ethernet does not come up

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 fails

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!

Then it will poweroff correctly!


Microphone does not work

If the microphone does not work by default. The following fixes that.


Screen resolution not large enough for some apps

Because the resolution screen is 800x480. Many applications exceed the screen. The best example is the Gnome application Evolution. See ["DebianEeePC/TipsAndTricks"]