This page describes how to install (Gentoo) Linux on the Asus UL-30A laptop. Due to software updates and possibly additional devices and features that I manage to configure successfully over time, this page will be subject to continuous change. Please refer to the modification history on this page to see what has changed.
This laptop works like a charm with Linux. It is fast, response, and has an incredible value for money. Sound is fully supported, as well as 3D graphics (Compiz Fusion) with transparency works as smoothly as possible. Network and hibernation are fully supported as well.
Table 1. Hardware
| Type | Device | Model | Driver | State |
|---|---|---|---|---|
| Processor | Intel Core 2 Duo CULV | Genuine Intel(R) CPU U7300 @1.30GHz | acpi-cpufreq | Works on both its frequencies, namely 800 MHz and 1.3 GHz |
| Hard drive | S-ATA HD 320 GB, 5.400 r/pm | Intel Corporation ICH9M/M-E SATA AHCI Controller | ahci | Works as /dev/sda |
| Wireless WiFi link | Atheros Communications 802.11a/g/n WiFi card | Atheros Communications Inc. | ath9k |
Works flawlessly
from kernel versions 2.6.32 and up.
Frequently drops wlan0 interface for high network throughputs in 2.6.31 kernels. |
| Network card | Gigabit Ethernet PCI Express | Ethernet controller: Attansic Technology Corp. | atl1c |
Experimental Atheros L1C driver seems
to work fine for kernels 2.6.32-rc8 and up.
Freezes computer after network plug-in for kernels 2.6.31 and older. |
| Graphics card | Intel GMA 4500 MHD | Display controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller | agpgart-intel, i915 | Works out of the box with
xf86-intel-video driver and kernel boot parameter
i915.modeset=1 |
| Sound chip | Intel HD audio | Intel Corporation 82801I (ICH9 Family) HD Audio Controller | snd-hda-intel | Works with the snd-hda-intel driver |
| USB Controller | Intel: 3xUSB UHCI, 1xUSB2 EHCI | 82801I (ICH9 Family) | uhci-hcd, ehci-hcd | Works out of the box |
| Bluetooth | btusb, bluetooth | Not yet tested | ||
| Webcam | ??? | Not yet tested | ||
| Firewire | ??? | Not yet tested | ||
| Mouse, Touchpad | Works, touchpad even with two and three finger extensions! |
It is described to how configure Gentoo Linux with kernel 2.6.32-rc8. Note that older kernels may suffer serious flaws in the wireless driver module (ath9k), so I won't guarantee wireless for kernels older than 2.6.32-rc8.
Lacking an optical drive, I used a bootable USB to bootstrap the system. In order to make booting from USB possible, enter your BIOS by pressing <F2> during boot and
/etc/make.conf is reproduced below.
SYNC variable is specific
to my configuration at home, as are the
GENTOO_MIRRORS and CAMERAS variables.
CFLAGS="-O2 -march=core2 -msse4.1 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j3"
GENTOO_MIRRORS="http://ftp.snt.utwente.nl/pub/os/linux/gentoo
#SYNC="rsync://rsync.nl.gentoo.org/gentoo-portage"
SYNC="rsync://it-essence/gentoo-portage"
LINGUAS="en nl us"
USE="-ipv6 -oss -kde -gnome -cups -minimal -qt3 -qt4 -apm laptop acpi dri madwifi X branding dbus hal lock session startup-notification thunar ln_sensors java6 java alsa usb dvd xvmc mmx mmxext sse mp3 mp2 aac xv win32codecs vorbis real quicktime nsplugin exif xcb gif png tiff svg jpeg"
CAMERAS="canon ptp2"
VIDEO_CARDS="intel"
INPUT_DEVICES="keyboard mouse evdev synaptics"
.config file here.
This may not be the perfect configuration (yet), it certainly
comprises a smoothly working kernel that supports most features. Please feel
free to mail any modifications or enhancements to me
(see contact section in my home page).
Most users probably won't want to erase the pre-installed Windows 7. The machine arrives with the harddisk partitioned in three partitions, one of which is the famous (or must I say notorious) hidden rescue partition. The second partition is reserved for windows and the third immediately confiscated by Linux, of course.
I created a new extended partition that replaced the original empty third partition and created on this extended partition a boot, swap and root partition like so:
Disk /dev/sda: 320.1 GB, 320072933376 bytes 255 heads, 63 sectors/track, 38913 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xd9b3496e Device Boot Start End Blocks Id System /dev/sda1 1 1912 15356928 1c Hidden W95 FAT32 (LBA) /dev/sda2 * 1912 21369 156288540+ 7 HPFS/NTFS /dev/sda3 21370 38913 140922180 5 Extended /dev/sda5 21370 21501 1060258+ 83 Linux /dev/sda6 21502 22024 4200966 82 Linux swap / Solaris /dev/sda7 22025 38913 135660861 83 Linux
Note that the drive shows up as sda instead of
hda. I chose to have a 4 Gig swap
(/dev/sda6), a 1 Gig /boot
(/dev/sda5) and the leave the remainder for
the root partition (/dev/sda7). With this
partition scheme, the Grub bootloader was installed with:
default 0 timeout 30 splashimage=(hd0,4)/boot/grub/splash.xpm.gz title Gentoo Linux 2.6.32-rc8 root (hd0,4) kernel /boot/linux-2.6.32-rc8 root=/dev/sda7 i915.modeset=1 title Windows 7 rootnoverify (hd0,1) makeactive chainloader +1
Part of the kernel processor configuration is listed below.
You may download my complete .config file
here.
Processor type and features --->
[ ] Tickless System (Dynamic Ticks)
[ ] High Resolution Timer Support
[*] Symmetric multi-processing support
[ ] Support sparse irq numbering
[*] Enable MPS table
[ ] Support for big SMP systems with more than 8 CPUs
[ ] Support for extended (non-PC) x86 platforms
[*] Single-depth WCHAN output
[ ] Paravirtualized guest support --->
[ ] Memtest
Processor family (Core 2/newer Xeon) --->
[*] Generic x86 support
[*] Supported processor vendors --->
[ ] HPET Timer Support
[*] Enable DMI scanning
(2) Maximum number of CPUs
[*] SMT (Hyperthreading) scheduler support
[*] Multi-core scheduler support
Preemption Model (Voluntary Kernel Preemption (Desktop)) --->
[ ] Reroute for broken boot IRQs
[*] Machine Check / overheating reporting
[*] Intel MCE features
[ ] AMD MCE features
[ ] Support for old Pentium 5 / WinChip machine checks
To enable CPU frequency scaling, select
Power management and ACPI options --->
CPU Frequency scaling --->
[*] CPU Frequency scaling
[ ] Enable CPUfreq debugging
< > CPU frequency translation statistics
Default CPUFreq governor (performance) --->
-*- 'performance' governor
<M> 'powersave' governor
<M> 'userspace' governor for userspace frequency scaling
<M> 'ondemand' cpufreq policy governor
<M> 'conservative' cpufreq governor
*** CPUFreq processor drivers ***
<M> ACPI Processor P-States driver
< > AMD Mobile K6-2/K6-3 PowerNow!
< > AMD Mobile Athlon/Duron PowerNow!
< > AMD Opteron/Athlon64 PowerNow!
> Cyrix MediaGX/NatSemi Geode Suspend Modulation
< > Intel Enhanced SpeedStep (deprecated)
< > Intel Speedstep on ICH-M chipsets (ioport interface)
< > Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)
< > Intel Pentium 4 clock modulation
< > nVidia nForce2 FSB changing
< > Transmeta LongRun
< > VIA Cyrix III Longhaul
< > VIA C7 Enhanced PowerSaver (DANGEROUS)
You also need to emerge the package cpufrequtils
to enable CPU frequency scaling
and execute $ rc-update add cpufrequtils default
to your default startup
to obtain on demand frequency scaling between 800 MHz en 1.3 GHz,
see the Gentoo HOWTO CPU Frequency Scaling page.
Using Xfce4 as my window manager, I installed the
xfce4-cpu-freq
plug-in to keep an eye on the current CPU frequency.
The ACPI support seems to works completely, since
acpidPower management and ACPI options ---> [*] Power Management support [ ] Power Management Debug Support [*] Suspend to RAM and standby [*] Hibernation (aka 'suspend to disk') (/dev/sda6) Default resume partition [*] Run-time PM core functionality [*] ACPI (Advanced Configuration and Power Interface) Support ---> [ ] SFI (Simple Firmware Interface) Support ---> < > APM (Advanced Power Management) BIOS support ---> CPU Frequency scaling ---> -*- CPU idle PM supportFor the ACPI options I took:
Power management and ACPI options --->
CPI (Advanced Configuration and Power Interface) Support --->
[*] Deprecated /proc/acpi files
[*] Deprecated power /proc/acpi directories
< > ACPI 4.0 power meter
[*] Future power /sys interface
[*] Deprecated /proc/acpi/event support
<M> AC Adapter
<M> Battery
-*- Button
-*- Video
<M> Fan
-*- Dock
<M> Processor
<M> Processor Aggregator
<M> Thermal Zone
(0) Disable ACPI for systems before Jan 1st this year
[ ] Debug Statements
< > PCI slot detection driver
[ ] Power Management Timer Support
{M} Container and Module Devices (EXPERIMENTAL)
< > Smart Battery System
Loadable Module Support --->
Device Drivers --->
Graphics support --->
<*> /dev/agpgart (AGP Support) --->
[*] VGA Arbitration
<*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
-*- Lowlevel video output switch controls
-*- Support for frame buffer devices --->
[*] Backlight & LCD device support --->
Display device support --->
Console display driver support --->
Bootup logo --->
where
--- /dev/agpgart (AGP Support)
< > ALI chipset support
< > ATI chipset support
< > AMD Irongate, 761, and 762 chipset support
< > AMD Opteron/Athlon64 on-CPU GART support
<*> Intel 440LX/BX/GX, I8xx and E7x05 chipset support
< > NVIDIA nForce/nForce2 chipset support
< > SiS chipset support
< > Serverworks LE/HE chipset support
< > VIA chipset support
< > Transmeta Efficeon support
and
--- Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
< > 3dfx Banshee/Voodoo3+
< > ATI Rage 128
< > ATI Radeon
< > Intel I810
<*> Intel 830M, 845G, 852GM, 855GM, 865G (i915 driver) --->
i915 driver
[*] Enable modesetting on intel by default
< > Matrox g200/g400
< > SiS video cards
< > Via unichrome video cards
< > Savage video cards
and
--- Support for frame buffer devices
[*] Enable firmware EDID
[ ] Framebuffer foreign endianness support --->
-*- Enable Video Mode Handling Helpers
[ ] Enable Tile Blitting Support
*** Frame buffer hardware drivers ***
< > Cirrus Logic support
< > Permedia2 support
.
.
.
< > nVidia Riva support
<M> Intel 810/815 support (EXPERIMENTAL)
.
.
.
The remainder of the settings are not crucial and
may be choosen to your liking. However you may use
my .config file here.
xorg-server with
emerge -av xorg-server. I'm currently running
[ebuild R ] x11-base/xorg-server-1.6.3.901-r2 USE="hal nptl xorg -debug -dmx -ipv6 -kdrive -minimal -sdl -tslib" 0 kB
x11-drivers/xf86-video-intel drivers ~x86.
i915.modeset=1 to your boot parameters!/etc/X11/xorg.conf:
Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "Files"
ModulePath "/usr/lib/xorg/modules"
FontPath "/usr/share/fonts/misc/"
FontPath "/usr/share/fonts/TTF/"
FontPath "/usr/share/fonts/OTF"
FontPath "/usr/share/fonts/Type1/"
FontPath "/usr/share/fonts/100dpi/"
FontPath "/usr/share/fonts/75dpi/"
EndSection
Section "Module"
Load "extmod"
Load "dri2"
Load "dbe"
Load "record"
Load "glx"
Load "dri"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5 6 7"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection
Section "Device"
### Available Driver options are:-
### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
### [arg]: arg optional
#Option "NoAccel" # [<bool>]
#Option "SWcursor" # [<bool>]
#Option "ColorKey" # <i>
#Option "CacheLines" # <i>
#Option "Dac6Bit" # [<bool>]
#Option "DRI" # [<bool>]
#Option "NoDDC" # [<bool>]
#Option "ShowCache" # [<bool>]
#Option "XvMCSurfaces" # <i>
#Option "PageFlip" # [<bool>]
Option "AccelMethod" "exa"
Option "MigrationHeuristic" "greedy"
Option "ExaNoComposite" "false"
Identifier "Card0"
Driver "intel"
VendorName "Intel Corporation"
BoardName "Mobile 4 Series Chipset Integrated Graphics Controller"
BusID "PCI:0:2:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Viewport 0 0
Depth 1
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 4
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 8
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 15
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Section "DRI"
Mode 0666
EndSection
Section "Extensions"
Option "Composite" "Enable"
EndSection
XSESSION="Xfce4" in my /etc/rc.conffusion-icon and
added it to my start-up session of Xfce4, so that Compiz Fusion
is now started automatically.
lspci shows us two network interfaces:
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01) 03:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)The wired ehternet controller shows up as
eth0 and the
wireless network controller shows up as wlan0.
Device drivers -->
Network device support --->
Ethernet (1000 Mbit) --->
.
.
.
< > QLogic QLA3XXX Network Driver Support
< > Atheros/Attansic L1 Gigabit Ethernet support
< > Atheros L1E Gigabit Ethernet support (EXPERIMENTAL)
<M> Atheros L1C Gigabit Ethernet support (EXPERIMENTAL)
Futher configuration of the network is standard practice.
Device drivers -->
Network device support --->
--- Wireless LAN (IEEE 802.11)
-- Atheros Wireless Cards
< > Atheros 5xxx wireless cards support
<M> Atheros 802.11n wireless cards support
[ ] Atheros ath9k debugging
< > Atheros AR9170 802.11n USB support
lspci tells us the HD audio controller type:
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)This HDA (High-Definition Audio) Intel soundcard is supported by the
snd-hda-intel module.
Device Drivers --->
<M> Sound card support --->
[*] Preclaim OSS device numbers | |
<M> Advanced Linux Sound Architecture ---> | |
< > Open Sound System (DEPRECATED) --->
where
--- Advanced Linux Sound Architecture
<M> Sequencer support
< > Sequencer dummy client
<M> OSS Mixer API
<M> OSS PCM (digital audio) API
[*] OSS PCM (digital audio) API - Include plugin system
[*] OSS Sequencer API
<M> RTC Timer support
[*] Use RTC as default sequencer timer
[ ] Dynamic device file minor numbers
[*] Support old ALSA API
[ ] Verbose procfs contents
[ ] Verbose printk
[ ] Debug
[*] Generic sound devices --->
[ ] ISA sound devices --->
[*] PCI sound devices --->
[*] USB sound devices --->
< > ALSA for SoC audio support --->
and
Device Drivers --->
Sound card support --->
Advanced Linux Sound Architecture --->
PCI sound devices --->
--- Intel HD Audio
[*] Build hwdep interface for HD-audio driver
[ ] Allow dynamic codec reconfiguration (EXPERIMENTAL)
[ ] Support digital beep via input layer
[ ] Support jack plugging notification via input layer
[ ] Support initialization patch loading for HD-audio
[*] Build Realtek HD-audio codec support
[*] Build Analog Device HD-audio codec support
[*] Build IDT/Sigmatel HD-audio codec support
[*] Build VIA HD-audio codec support
[*] Build ATI HDMI HD-audio codec support
[*] Build NVIDIA HDMI HD-audio codec support
[*] Build INTEL HDMI HD-audio codec support
[*] Build Cirrus Logic codec support
[*] Build Conexant HD-audio codec support
[*] Build Creative CA0110-IBG codec support
[*] Build C-Media HD-audio codec support
[*] Build Silicon Labs 3054 HD-modem codec support
[*] Enable generic HD-audio codec parser
[*] Aggressive power-saving on HD-audio
(0) Default time-out for HD-audio power-save mode
The output of lspci tells us the HD controller type:
00:1f.2 SATA controller: Intel Corporation ICH9M/M-E SATA AHCI Controller (rev 03)
As mentioned before, the harddisk shows up as /dev/sda.
In the kernel, I activated the associated options like so:
Device Drivers ---> <*> ATA/ATAPI/MFM/RLL support ---> SCSI device support ---> <*> Serial ATA (prod) and Parallel ATA (experimental) drivers --->
where
--- ATA/ATAPI/MFM/RLL support *** Please see Documentation/ide/ide.txt for help/info on IDE drives *** Support for SATA (deprecated; conflicts with libata SATA driver) <*> generic ATA/ATAPI disk support [*] ATA disk support [ ] ATAPI floppy support < > Include IDE/ATAPI CDROM support . . .
and
Serial ATA (prod) and Parallel ATA (experimental) drivers [*] Verbose ATA error reporting [*] ATA ACPI Support [*] SATA Port Multiplier support <*> AHCI SATA support < > Silicon Image 3124/3132 SATA support [ ] ATA SFF support <pre> <![CDATA[
Luckily, the DMA is recoginzed as well, giving (IMHO) a very decent I/O performance of the 5400 RPM 320Gig harddisk:
/dev/sda: Timing cached reads: 3054 MB in 2.00 seconds = 1527.00 MB/sec Timing buffered disk reads: 208 MB in 3.02 seconds = 68.87 MB/sec
I tried to configure my wireless bluetooth mouse from my older W2W. Although the bluetooth seems to work fine (I can ping my bluetooth device), I still haven't got my mouse working. However, I list my kernel settings below:
Networking support---> <*> Bluetooth subsystem support ---> --- Bluetooth subsystem support <M> L2CAP protocol support <M> SCO links support <M> RFCOMM protocol support [*] RFCOMM TTY support <M> BNEP protocol support [*] Multicast filter support [*] Protocol filter support <M> HIDP protocol support Bluetooth device drivers ---> <M> HCI USB driver <M> HCI UART driver [ ] UART (H4) protocol support [ ] BCSP protocol support [ ] HCILL protocol support < > HCI BCM203x USB driver < > HCI BPA10x USB driver < > HCI BlueFRITZ! USB driver < > HCI VHCI (Virtual HCI device) driver < > Marvell Bluetooth driver support
The output of lspci tells us the HD audio controller type:
00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03) 00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03) 00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03) 00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03)
Nothing special here, just see the section with my kernel configuration parameters.