This is a little guide about getting started with Debian on the EeePC 1005PE, everything should work the same way with *Ubuntu/Sidux/…. I installed it via USB pen drive. There are enough guides about that, so I will not describe how you do this now. But try to get a recent build for better hardware support.
Before installation you should update your BIOS, to increase general hardware support and runtime etc. It will also probably fix bugs in ACPI(as Version 703 did) but remember that you do anything at your own risk.
Jump to http://support.asus.com/download/download.aspx?model=Eee%20PC%201005PE&os=5&SLanguage=de-de and grab the latest version, rename it to “1005P.rom”. Put it in the root of your pen drive. Plug in your power supply. Reboot and press the power button while you see the splash screen/boot messages. This will cause the netbook not to use the quick boot(didn't find another way to disable Boot Booster).
While you see the Asus splash, press Alt+F2. The flash menu appears. Now plug in your pen drive. The BIOS-flashing will start. Do not press the power button unless you want to want to brick your netbook. Follow the instructions on the screen.
At first we build an optimized kernel.
Install or make sure you already installed at least the following packages:
#apt-get install kernel-package tar libncurses5-dev gcc
Now we grab a kernel image. Go to www.kernel.org and get a recent archive.
#cd /usr/src #wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.5.tar.bz2
Unzip the downloaded file, create a symbolic link and change in the directory.
#tar xfv linux-2.6.32.5.tar.bz2 #ln -s linux-2.6.32.5 linux #cd linux
Now you can decide whether to make an own configuration or to use an existing one.
To use the standard-configuration
#cp /boot/config-`uname -r` .config
to use my optimized config (its not perfect right now, but I'm working on it :) ) - check and edit it before complaining -
#wget http://www-user.tu-chemnitz.de/~frichr/linux/1005pe/.config
or you can make an own one:
#make menuconfig
After we did this, we can compile the kernel.
#make-kpkg linux-image
Now better get a cup of coffee(or better 4 cups). This may take a while. Finished? Fine. Lets install the kernel.
#dpkg -i /usr/src/linux-image-*.deb
Before rebooting we will fix the backlight-keys.
For kernels 2.6.32 and probably later you will need to append some boot parameters. Open the file /etc/defaults/grub with root permissions with your favourite text editor.
#vim /etc/defaults/grub
Find the line GRUB_CMDLINE_LINUX_DEFAULT and add “acpi_osi=Linux” so it looks like this:
GRUB_CMDLINE_LINUX_DEFAULT="quiet acpi_osi=Linux"
Save the file. Now run update-grub2.
#update-grub2
Now reboot. If everything worked well, you should not notice a huge difference, but your netbook should boot a bit faster and the backlight-controls should work as they were meant to use.
Since Debian does not seem to use hals .fdi files you need to configure your touchpad with xorg. If you do not have a xorg.conf file in /etc/X11/ you should create one. Press CTRL+ALT+F1 and login as root. Stop X. Assuming you installed KDE, type the following.
#/etc/init.d/kdm stop
If you are runnig gnome replace “kdm” with “gdm” or the display manager you are using. Run Xorg -configure and move the file.
#Xorg -configure #mv xorg.conf.new /etc/X11/xorg.conf
Open the file in a text editor. Again I am using vim.
#vim /etc/X11/xorg.conf
Add the following lines:
Section "InputDevice" Identifier "Synaptics Touchpad" Driver "synaptics" Option "SendCoreEvents" "true" Option "Device" "/dev/psaux" Option "Protocol" "auto-dev" Option "HorizScrollDelta" "0" Option "SHMConfig" "true" Option "EmulateTwoFingerMinZ" "62" #seemed to be best value for me, may also work with other values less than 70 Option "VertTwoFingerScroll" "1" Option "TapButton1" "1" Option "TapButton2" "2" Option "TapButton3" "3" EndSection
Add this line to ServerLayout
InputDevice "Synaptics Touchpad" "CorePointer"
Last but not least Restart X.
#/etc/init.d/kdm restart
Ubuntu users can simply use this package and reboot: http://www.philmerk.de/dwl/deb/eeepc-1005-multitouch_0.0.1.deb
It will install a fdi file for hal.
So far, so good. For a better power management install the eeepc-acpi-scripts package and powertop to get useful hints and an overview about the current power consumption.
#apt-get install eeepc-acpi-scripts powertop
The acpi-scripts will not need any further configuration. Unplug your power supply, run powertop and wait a while. For me powertop said: “echo min_power > /sys/class/scsi_host/host0/link_power_management_policy”,”echo 1500 > /proc/sys/vm/dirty_writeback_centisecs” and append “usbcore.autosuspend=1” as boot parameter. So lets do this. Open /etc/rc.local with your favourite text editor. Editing this file now, we will also enable powersaving for sound and wireless networking.
#vim /etc/rc.local
Add the following lines:
# activates the sata-link powermanagement echo min_power > /sys/class/scsi_host/host0/link_power_management_policy echo min_power > /sys/class/scsi_host/host1/link_power_management_policy echo min_power > /sys/class/scsi_host/host2/link_power_management_policy echo min_power > /sys/class/scsi_host/host3/link_power_management_policy # raise the vm dirty writeback time echo 1500 > /proc/sys/vm/dirty_writeback_centisecs # enable intel hda powersaving echo 1 > /sys/module/snd_hda_intel/parameters/power_save #enable wireless powersaving iwconfig wlan0 power timeout 500ms
Appending the usbcore.autosuspend parameter: Open /etc/defaults/grub/ with any text editor.
#vim /etc/defaults/grub
Run update-grub2 again.
#update-grub2
If you are not using the built-in webcam you should also blacklist the module. You can load it manually(or with script) anytime you need it. (sudo modprobe uvcvideo)
#echo "blacklist uvcvideo" >> /etc/modprobe.d/blacklist.conf
If you do not use USB-devices I recommend to unload the modules. You can do this manually or with a little script. Find the module dependencies and add them to the script in both lines. Here is mine for example:
#!/bin/bash
usbcore=`lsmod|grep 'usbcore'`
if [ "$usbcore" ]
#unload usb modules
then `sudo modprobe -r ehci_hcd && modprobe -r uhci_hcd && modprobe -r usbcore`
#load usb modules
else echo `modprobe usbcore && modprobe uhci_hcd && sudo modprobe ehci_hcd`
fi
Save the script in /usr/local/bin/ and make it executable with “chmod +x yourscriptname”.
After you did all the tweaks you can check the power consumption with powertop again. Here is my result(my 1005pe needs 5.2- 5.9 W in average with wireless lan enabled).
Cn Verweildauer P-States (Frequenzen) C0 (Prozessor läuft) ( 5,9%) 1,67 GHz 0,0% C0 11,8ms ( 0,1%) 1333 MHz 0,0% C1 mwait 0,0ms ( 0,0%) 1000 MHz 100,0% C2 mwait 0,1ms ( 0,1%) C4 mwait 3,0ms (94,0%) Aufwachen pro Sekunde : 321,7 Intervall: 15,0s **Stromverbrauch (ACPI-Schätzung): 5,4W (10,3 Std.)** Häufigste Ursachen für das Aufwachen: 29,2% (136,4) PS/2 keyboard/mouse/touchpad interrupt 23,9% (111,8) [kernel scheduler] Load balancing tick 13,9% ( 64,9) [extra timer interrupt] 7,3% ( 34,3) [kernel core] hrtimer_start (tick_sched_timer) 6,2% ( 29,0) [ath9k] <interrupt> 5,9% ( 27,8) [Rescheduling interrupts] <kernel IPI>
For further power optimization take a look at http://www.thinkwiki.org/wiki/How_to_reduce_power_consumption Also make sure you disabled desktop effects on battery power, they do consume a huge amount of power.
Some hardware information about the 1005PE:
lspci
00:00.0 Host bridge: Intel Corporation Pineview DMI Bridge 00:02.0 VGA compatible controller: Intel Corporation Pineview Integrated Graphics Controller 00:02.1 Display controller: Intel Corporation Pineview Integrated Graphics Controller 00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02) 00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02) 00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02) 00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02) 00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02) 00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02) 00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02) 00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02) 00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02) 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2) 00:1f.0 ISA bridge: Intel Corporation Tigerpoint LPC Controller (rev 02) 00:1f.2 SATA controller: Intel Corporation 82801GR/GH (ICH7 Family) SATA AHCI Controller (rev 02) 00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02) 01:00.0 Ethernet controller: Attansic Technology Corp. Atheros AR8132 / L1c Gigabit Ethernet Adapter (rev c0) 02:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01)
lsusb
Bus 001 Device 002: ID 13d3:5111 IMC Networks Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
lshw
Output of lshw: http://www-user.tu-chemnitz.de/~frichr/linux/1005pe/hardware.html