Asus Eee PC 1000HE

From Gentoo-en
Jump to: navigation, search

Summary

This article will try to describe a Gentoo installation on an Asus EEE PC 1000HE with the following goals :

  1. Boots quickly
  2. No lag, responds quickly
  3. Excellent battery life. Asus boasts 9.5 hours battery life - So the goal is to get at least 8 hours.
  4. Suspends to both ram and disk.

Please update this article with your experience :)

Getting Started

Boot Install

To install your favorite OS, you have the following options :

  1. USB boot stick
  2. USB CD/DVD drive
  3. Network install via PXE

gentoo-sources-2.6.31-r10 basic kernel selection

PCI

lspci

output :

00:00.0 Host bridge: Intel Corporation Mobile 945GME Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
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 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02)
01:00.0 Network controller: Atheros Communications Inc. AR928X Wireless Network Adapter (PCI-Express) (rev 01)
03:00.0 Ethernet controller: Attansic Technology Corp. Atheros AR8121/AR8113/AR8114 PCI-E Ethernet Controller (rev b0)

The 1000he comes standard with 1gig of ram and a 160gig 5400 RPM sata2 2.5" drive. To help meet the goals stated above 2gigs of ram was installed in place of 1gig ram, and a Patriot 36gig SSD was installed in place of the 160gig harddrive.

If you are using an SSD the following article shows how to align your filesystem to the SSD's erase block size. The purpose of this is to speed up the disk in general and use disk space more efficiently

Linux Kernel Configuration: PCI Support
Bus options (PCI etc.)  --->
        [*] PCI support
        ...
        [*] ISA support

USB

lsusb
output :
Bus 001 Device 003: ID 04f2:b071 Chicony Electronics Co., Ltd 2.0M UVC WebCam / CNF7129
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 002: ID 0b05:b700 ASUSTek Computer, Inc. Broadcom Bluetooth 2.1
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
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
Linux Kernel Configuration: USB Support
Device Drivers ->
[*] USB support :
    <*>   Support for Host-side USB
    [*]     USB announce new devices
    [*]     USB selective suspend/resume and wakeup
    <*>     EHCI HCD (USB 2.0) support
    <*>     UHCI HCD (most Intel and VIA) support
    <*>   USB Wireless Device Management support
    <*>   USB Mass Storage support

CPU

1000HE comes with an Intel Atom N280. Here is the /proc/cpuinfo :

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 28
model name      : Intel(R) Atom(TM) CPU N280   @ 1.66GHz
stepping        : 2
cpu MHz         : 1667.000
cache size      : 512 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 1
apicid          : 0
initial apicid  : 0
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc arch_perfmon pebs bts pni dtes64 monitor ds_cpl est tm2 ssse3 xtpr pdcm lahf_lm
bogomips        : 3324.37
clflush size    : 64
power management:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 28
model name      : Intel(R) Atom(TM) CPU N280   @ 1.66GHz
stepping        : 2
cpu MHz         : 1667.000
cache size      : 512 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 1
apicid          : 1
initial apicid  : 1
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc arch_perfmon pebs bts pni dtes64 monitor ds_cpl est tm2 ssse3 xtpr pdcm lahf_lm
bogomips        : 3324.82
clflush size    : 64
power management:
Linux Kernel Configuration: Enable SMP support
Processor type and features  --->
        [*] Symmetric multi-processing support
	...
	Processor family (Core 2/newer Xeon)  --->
	[*] Generic x86 support
	...
	[*] SMT (Hyperthreading) scheduler support
        ...
	[ ] Multi-core scheduler support
        ...
        [*]   Intel MCE features

Network

Wireless network card

Code: lspci | grep Wireless

  01:00.0 Network controller: Atheros Communications Inc. AR928X Wireless Network Adapter (PCI-Express) (rev 01)
Linux Kernel Configuration: Wireless Support
Device Drivers -> Network device support -> Wireless LAN :
[*] Wireless LAN (IEEE 802.11)
<M>   Atheros 802.11n wireless cards support

Use Module: ath9k

Alternatively,

Code: lspci | grep Wireless
01:00.0 Network controller: Ralink corp. RT2790 Wireless 802.11n 1T/2R PCIe
Linux Kernel Configuration: Wireless Support
Device Drivers -> Network device support -> Wireless LAN :
<M> Ralink driver support
<M>   Ralink rt27xx/rt28xx/rt30xx (PCI/PCIe/PCMCIA) support

Use Module: rt2800pci

You may also need a firmware blob from Ralink:

Code: emerge net-wireless/rt2860-firmware --autounmask-write

Network card

Code: lspci | grep Ethernet
  03:00.0 Ethernet controller: Attansic Technology Corp. Atheros AR8121/AR8113/AR8114 PCI-E Ethernet Controller (rev b0)
Linux Kernel Configuration: Ethernet Support
Device Drivers -> Network device support -> Ethernet (1000 Mbit) :
<M>   Atheros L1E Gigabit Ethernet support (EXPERIMENTAL)

Use Module: atl1e

Bluetooth

Linux Kernel Configuration: Bluetooth Support
[*] Networking support  --->
    <*>   Bluetooth subsystem support  --->
      <*>   L2CAP protocol support
      <*>   SCO links support
      <*>   RFCOMM protocol support
      <*>   BNEP protocol support
        [*]     Multicast filter support
        [*]     Protocol filter support
      <*>   HIDP protocol support
      Bluetooth device drivers  --->
         <M> HCI USB driver

Use Module: btusb

Multimedia

Audio

Linux Kernel Configuration: Audio Support


Device Drivers -> Sound card support :
<*>   Advanced Linux Sound Architecture  --->
    [*]   PCI sound devices  --->
    <M>   Intel HD Audio  --->
          [*] Aggressive power-saving on HD-audio

Use Module: snd-hda-intel

Webcam

Linux Kernel Configuration: Webcam Support
Device Drivers -> Multimedia devices :
<*> Video For Linux
[*] Video capture adapters --->
    [*]   Autoselect pertinent encoders/decoders and other helper chips
    [*]   V4L USB devices  --->
        <M>   USB Video Class (UVC)
        [*]     UVC input events device support

Use Module: uvcvideo

Power management

Work in progress...

Quick Post

On the harddrive that comes with the Eeepc there are four partitions by default :

Code: fdisk -l
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xd80c1c68

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       10659    85618386    7  HPFS/NTFS
/dev/sda2           10660       18814    65505037+   5  HPFS/NTFS
/dev/sda3           18815       19452     5124735   1c  Hidden W95 FAT32 (LBA)
/dev/sda4           19453       19457       40162+  ef  EFI (FAT-12/16/32)

The first two are respectively system and data, the third partition is a hidden partition used for system restores, and the last partition is a 50MB partition that the Eeepc BIOS uses to store some data to abreviate the POST of your netbook.

To meet the quick boot goal keep the fourth partition. Those 50 megabytes saves about ~7 seconds of boot time. Provided you're using the HDD that comes with your 1000he, all that needs to be done in order to keep the quick post working after you wipe is to leave partition 4 alone.

If you delete the EFI partition by mistake, you can restore Boot Booster by creating a 50MB primary partition at the end of your hard drive. Label it as EFI (0xef) from within fdisk. The contents of the partition are not important as it is only a caching area for the BIOS.

To backup the partition and MBR use:

dd if=/dev/sda4 of=/path/to/save/quickpost.img
dd if=/dev/sda of=/path/to/save/quickpost-mbr.img bs=512 count=1

To restore the partition and partition table on the stock HDD use:

Warning: The below commands WILL wipe out your partition table, and potentially cause you to lose data. Do NOT use the below commands unless you have nothing to lose, or know what you are doing.
dd if=/path/to/save/quickpost-mbr.img of=/dev/sda bs=1 count=64 skip=446 seek=446
partprobe /dev/sda # Re-reads the partition table
dd if=/path/to/save/quickpost.img of=/dev/sda4
Note: If using a harddrive with different dimensions the above may not work properly.

fstab Tweaks

Here are tweaks incorporated into the build to help meet the project goals(stated above):

File: /etc/fstab
/dev/sda1               /boot           ext2    noauto,noatime                  1 2
/dev/sda2               /               ext4    noatime,nodiratime,noload       0 1
/dev/sda3               /root           ext4    noatime,nodiratime              0 0
#/dev/sda3              /root           ext4    noatime,nodiratime,noload       0 0
/root/system/portage    /usr/portage    auto    bind,noatime,nodiratime         0 0

megaera:/tank           /tank           nfs     noauto,noatime,nodiratime       0 0

none                    /tmp            tmpfs   noatime,nodiratime,mode=1777    0 0

proc                    /proc           proc    noatime                         0 0
shm                     /dev/shm        tmpfs   nodev,nosuid,noexec             0 0

External Links