![]() | on eeePC [draft] |
Installing Slackware Linux on Asus' eeePC (4G); this draft uses stuff gathered on Internet and some things from my personnal experience.
You'll find some nice forum here : http://forum.eeeuser.com/viewtopic.php?id=2640&p=1
where dmiller and br00tal made most of the contributions, I'd like to thank them for their inputs here.
Please note that this paper does not provides a step by step explanation for the OS installation and that the author assumes that you are familiar with the Slackware
distribution (IE: package selection, basic configuration...).
The first thing we'll do is make a bootable usb key or SD card to run our Slack installer.
ctrl-alt-t (open a console in Xandros)
$ wget http://ftp.lip6.fr/pub/linux/distributions/slackware/slackware-12.0/usb-and-pxe-installers/usbboot.img
$ sudo su
# umount /dev/sdX (umount the removable storage device you just inserted, check with dmesg in case)
# dd if=usbboot.img of=/dev/sdX bs=512 (copy the image on the key/SD)
Let's reboot on the newly created usb boot drive (and wait 5-10min :s) You can copy the packages of the Slack dvd/cd on a USB hard drive in the meantime.
Once the boot is over, log in as root and mount your USB hard drive. You can backup the _hard_ drive of the eee now (or never) with dd, this takes a while too. Then run cfdisk, wipe all the partitions and make a brand new bootable ext2 partition taking all the space.
# mkdir /hd
# mount /dev/sdX /hd
# (dd if=/dev/hdc of=/hd/asus_hdc_backup.img) //zzz
# cfdisk /dev/hdc
When you have your newly partitioned hdc, enter the setup, choose /dev/hdc for / and set your /hd/slackware directory as your source; you're ready to install your OS... Once it's finished, I had no problem setting lilo on the MBR for the first boot of the distrib.
Once your Slack is running you have two options : installing some already eee optimized kernel with packages (obviously faster) or compiling your own vanilla. Note that the kernel from the packages doesn't include the iptables modules.
We'll also install grub as boot loader. As stated in the README on slackeee.strangled.net :
"It is required that one alters their /etc/fstab
Since this is such a bare-bones kernel, everything
is recognized as a SCSI device.
You must change the /dev/hdc value in /etc/fstab to the
volume's UUID. You can determine the UUID by issuing the "blkid" command
as root. Replace the /dev/hdc bit with the entire
UUID="your_uuid". This will still allow the system to boot with the
default hugesmp kernel."
http://slackeee.strangled.net/packages/kernel-modules-2.6.21.4-eeepc-i686-6.tgz
http://slackeee.strangled.net/packages/kernel-slim-2.6.21.4-eeepc-i486-5.tgz
http://slackeee.strangled.net/packages/kernel-source-2.6.21.4-eeepc-i386-2.tgz
http://slackeee.strangled.net/packages/README.txt
# installpkg kernel-modules-2.6.21.4-eeepc-i686-6.tgz kernel-slim-2.6.21.4-eeepc-i486-5.tgz kernel-source-2.6.21.4-eeepc-i386-2.tgz
# installpkg /hd/slackware/extra/grub/grub-0.97-i486-3.tgz
# grubconfig
Install grub once on the MBR with grubconfig, then you just need to edit /boot/grub/menu.lst to change your boot menu (no need to rerun it like lilo).
timeout 5
title Linux-2.6.24.3
root (hd0,0)
kernel /boot/vmlinuz-2.6.24.3-v-eeepc root=/dev/sda1 ro quiet splash vga=785
title Linux
root (hd0,0)
kernel /boot/vmlinuz root=/dev/sda1 ro quiet splash vga=785
title Linux-old
root (hd0,0)
kernel /boot/vmlinuz-huge-smp-2.6.21.5-smp root=/dev/hdc1 ro quiet splash vga=769
# Linux bootable partition config ends
title --- For help press 'c', type: 'help'
root (hd0)
title --- For usage examples, type: 'cat /boot/grub/grub.txt'
root (hd0)
Last step is changing your fstab; run blkid /dev/hdc1 to get your UUID (don't use mine :D), and set noatime on it too.
UUID="be40983f-d050-4433-b0da-992375215594" / ext2 defaults,noatime 1 1
#/dev/hdc1 / ext2 defaults 1 1
#/dev/cdrom /mnt/cdrom auto noauto,owner,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
proc /proc proc defaults 0 0
Here you go : config-eee-2.6.24.3. Patch your kernel with the unionfs patch you'll find here : http://www.fsl.cs.sunysb.edu/project-unionfs.html. My own kernel with iptables and (I hope) few useless stuff. bzImage is about 1.2M.
# wget http://people.redhat.com/csnook/atl2/atl2-2.0.4.tar.bz2 # tar jxvf atl2-2.0.4.tar.bz2 # make # cp atl2.ko /lib/modules/2.6.24.3-v-eeepc/kernel/drivers/net/ # depmod -a # modprobe atl2 # ifconfig
$ wget http://snapshots.madwifi.org/special/madwifi-nr-r3366+ar5007.tar.gz
$ tar zxvf madwifi-nr-r3366+ar5007.tar.gz
$ cd madwifi-nr-r3366+ar5007.tar.gz
$ su
# scripts/madwifi-unload
# scripts/find-madwifi-modules.sh `uname -r`
# make && make install
# modprobe ath_pci
// = mode managed
# wlanconfig ath0 create wlandev wifi0 wlanmode sta
# iwconfig ath0 key blabla essid blabla........ (wep)
# wlanconfig ath0 destroy
//mode monitor
# wlanconfig ath0 create wlandev wifi0 wlanmode monitor
# wlanconfig ath0 destroy
//adhoc mode
# wlanconfig ath0 create wlandev wifi0 wlanmode adhoc
I had some problems with mixers when I installed the latest alsa-driver so I switched back to those and they work ok : http://slackeee.strangled.net/drivers/alsa-driver/alsa-driver-hg20071129.tar.bz2 The mixer device is LineOut. (Don't forget to change ALSA output plugin in xmms also ^ ^)
# ./configure --with-cards=hda-intel # make && make install # alsaconfig # alsamixer
Use cpufeq-set to change or make the cpu change his frequency when not using to save temperature and battery...
# modprobe p4-clockmod
# modprobe cpufreq_ondemand
# modprobe cpufreq_conservative
# modprobe cpufreq_powersave
# modprobe cpufreq_performance
# cpufreq-set -g ondemand -d 450Mhz -u 900Mhz
Here's a nice app to monitor your battery under X : http://osdbattery.sourceforge.net/
dmiller's file, works like a charm.
Section "ServerLayout"
Identifier "Xandros"
Screen 0 "Screen1"
InputDevice "keyboard"
InputDevice "mouse"
InputDevice "synaptics"
EndSection
Section "Files"
RgbPath "/usr/share/X11/rgb"
FontPath "/usr/share/fonts/local/"
FontPath "/usr/share/fonts/misc/"
FontPath "/usr/share/fonts/OTF/"
FontPath "/usr/share/fonts/TTF/"
FontPath "/usr/share/fonts/Type1/"
FontPath "/usr/share/fonts/CID/"
FontPath "/usr/share/fonts/Speedo/"
FontPath "/usr/share/fonts/75dpi/:unscaled"
FontPath "/usr/share/fonts/100dpi/:unscaled"
FontPath "/usr/share/fonts/75dpi/"
FontPath "/usr/share/fonts/100dpi/"
FontPath "/usr/share/fonts/cyrillic/"
EndSection
Section "Module"
Load "glx"
Load "dri"
Load "dbe"
Load "extmod"
Load "synaptics"
EndSection
Section "ServerFlags"
Option "AllowMouseOpenFail"
Option "BlankTime" "5"
# Option "DontVTSwitch" "true"
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" "1000"
Option "RightEdge" "5400"
Option "TopEdge" "1000"
Option "BottomEdge" "4900"
Option "PalmDetect" "0"
Option "SHMConfig" "true"
Option "SendCoreEvents" "yes"
Option "HorizScrollDelta" "0"
Option "RBCornerButton" "0"
Option "RTCornerButtom" "0"
Option "MaxSpeed" "0.1"
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "ASUS"
ModelName "eeePC P701"
Modeline "800x480" 29.58 800 816 896 992 480 481 484 497 -HSync
+Vsync # 60 Hz
# DisplaySize 153 115
Option "DPMS"
EndSection
Section "Monitor"
Identifier "TV"
Option "Ignore" "True"
EndSection
Section "Device"
Identifier "Device1"
Driver "intel"
VendorName "Intel Corporation"
BoardName "Mobile 915GM/GMS/910GML Express Graphics Controller"
BusID "PCI:0:2:0"
Option "XvMCSurfaces" "7"
# Option "Cachelines" "2048"
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "800x600"
# Virtual 1680 1680
Virtual 2048 2048
EndSubSection
EndSection
Section "DRI"
Mode 0666
EndSection
Section "Extensions"
Option "Composite" "Disable"
EndSection
$ wget http://web.telia.com/~u89404340/touchpad/files/synaptics-0.14.6.tar.bz2 $ tar jxvf synaptics-0.14.6.tar.bz2 $ cd synaptics-0.14.6 $ make $ su # make install //Restart X
You can find the module here : http://slackeee.strangled.net/drivers/asus-acpi/. You can also get thermal info (not through this module).
# cat /proc/acpi/thermal_zone/TZ00/temperature temperature: 48 C If you have xosd : # cat /proc/acpi/thermal_zone/TZ00/temperature |osd_cat -p bottom -i600
Sometimes, when shutting down the eee, the screen goes blank, but the power light remains on. If you are having this problem, then try the following: Using your favorite editor, add this line to /etc/rc.d/rc.6 just before the line: echo "Unmounting local file systems."
modprobe -r snd_hda_intel