Table of Contents

Installing Ubuntu 7.10 (Gutsy Gibbon) on an Eee PC 701 4G

Ubuntu Linux on the Eee PC

Hardware

Check out the Eee Hardware FAQ for facts and information concerning the hardware. A more structured/alternate way of installing Ubuntu 7.10 is here.

Installation via external CD/DVD Drive

  1. Insert bootable CD into drive
  2. Turn on Eee PC
  3. When you see the grey startup screen, quickly press the ESC key a few times, and you'll get a dialog box allowing you to select your CDROM to boot from (in addition to the SSD and your SD card or USB flash drive if installed). Alternatively:
    1. Press F2 to get into the BIOS
    2. Under the Advanced header, change OS Installation from Finished to Start
    3. Under the Boot header, choose Boot Device Priority, and make it so your USB external drive boots before the HDD
    4. Save and reboot
  4. The Eee PC will then boot to your Live Ubuntu CD. Trackpad, mouse, keyboard, sound all work. It may have trouble recognizing the battery: I had it plugged into the AC Adapter and Ubuntu gave a warning message saying something like “There may be a problem with the battery, it is listed with only 1% left”
  5. Begin the install- you will notice that all of the install windows drop below the screen. Windows can be moved around beyond the bounds of the screen by holding the Alt key and the left mouse button down, then moving the mouse. In the standard graphical installer, if Compiz (“visual effects”) is running (it is running in Ubuntu-live Gutsy by default), you won't be able to move the windows high enough with the Alt key, because they aren't allowed to pass the top edge of the screen. If you disable the visual effects (System>Preferences>Appearance>Visual Effects>None), you will now be able to move windows above the top edge of the screen in order to get at that all-important Next> button. [The preceding is somewhat Zen. When you go to disable the visual effects, how do you disable them while the buttons of interest are off screen (^.^;) - select the 'none' box with your mouse; then hit the tab key twice (this puts you first on the 'Help' button, then the 'Close' button). Hit 'Enter' on the keyboard. Tada!] It may be a better idea to use the alternative non-live install CD with the Eee PC.
  6. When finished, remove CD and reboot
  7. You now have Ubuntu installed

Install over the Internet using a bootable USB stick

Intructions for Making Bootable USB Using Ubuntu:

Anything shown like this should be typed in the terminal/console.
fdisk -l
sudo mkfs.vfat -F 32 -n ubuntu /dev/sdX1
zcat boot.img.gz > /dev/sdX1
syslinux /dev/sdX1

(Note: if you get the message “sh: mcopy: not found”, then you need to install the 'mtools' package (“sudo apt-get install mtools”) - https://bugs.launchpad.net/debian/+source/syslinux/+bug/75765 for more info)

dd if=/usr/lib/syslinux/mbr.bin of=/dev/sdb

should fix it.

Alternative Intructions for Making Bootable USB Using Ubuntu:

fdisk -l
dd if=/usr/lib/syslinux/mbr.bin of=/dev/sdX
sudo cfdisk /dev/sdX
zcat boot.img.gz > /dev/sdX1

Install from a Live Ubuntu image on a USB stick

sudo apt-get install syslinux
wget http://kiwilinux.org/public/isotostick.sh
sudo chmod +x isotostick.sh
sudo parted /dev/sdb set 1 boot on
sudo ./isotostick.sh /path/to/image.iso /dev/sdb1 
sudo syslinux /dev/sdb1
 sudo gedit /etc/fstab

and find the line that says

 /dev/sdc1       /media/cdrom0   udf,iso9660 user,noauto,exec 0       0

and delete it (or comment it out). Hit save and close the text editor.

 sudo gedit /etc/apt/sources.list

and find the line that says

 deb cdrom:[Ubuntu 7.10 _Gutsy Gibbon_ - Release i386 (20071016)]/ gutsy main restricted

and delete it (or comment it out). Hit save and close the text editor.

Notes on a choice of filesystem type

Normally, an Ubuntu system installation will use the standard linux ext3 file system type by default. This filesystem is a conservative, safe filesystem, but it has its drawbacks. Two particular annoyances are: (1) this partition type uses up quite a bit of disk space as overhead and (2) from time-to-time the system boot up will have to do a lengthy disk checking operation.

There are other possibilities to consider for the adventurous. In particular, the reiserfs type offers some advantage over the ext3 type. The reiserfs filesystem is a little faster, uses less disk space for the partition, and does not need the occasional lengthy disk check of ext3. The downsides to using reiserfs filesystem type, which is supported by Ubuntu, are that it is non-standard for Ubuntu, which increases the potential for problems down the road and possibly increased system administration concerns, and that it is perhaps not quite as reliable as the ext3 linux warhorse. However, reiserfs was the standard filesystem for Suse linux for many years, and most people have used it for years of trouble free operation.

There was a discussion of these issues on the forum: Reiserfs discussion

In one case, the conversion to reiserfs increased available disk space on an eee installation from 1.28 GB to 1.80 GB, an increase of 0.5 GB of disk space, or 30% more free space. The disk space issue is likely the main motivation for reiserfs in this case, given the small 4 GB disk on the eee.

It is advisable to make the choice of filesystem type at the time of the initial installation. Converting filesystem types later is technically challenging, say.

Resolved/Unresolved Problems

A number of problems with a stock Ubuntu installation have been resolved by a comprehensive script script-pack that you can download. Once you have unpacked the file (with 'tar zxvf eee-ubuntu-support_v0.7') and have changed into the folder containing the script, read the README for how to use it. The scripts may resolve most of the problems you may run into.

If your WiFi is not working, please check this issue related to eee-ubuntu-support_v0.7 http://code.google.com/p/eee-ubuntu-support/issues/detail?id=9

System will not boot or shut down especially faster than traditional hard drive. The original OS takes about 15 s to boot, while Gutsy takes about 60 s to boot. The eee-xandros installation has been carefully optimized to boot fast, but at the expense of starting the normal services of a linux system. Boot time can be improved somewhat with parallel service execution, see “Step 7” of Yet another way to install Ubuntu 7.10 on Eee PC.

Some of the common issues, such as having the system go into suspend mode when the lid is closed or pop up a shutdown dialog when the power button is pressed, are “just” special keys issues. These functions can be user defined, but may require installing the ASUS acpi kernel module for the eee-pc. See special keys below.

Wireless internet using native Madwifi drivers

Atheros has been sporting enough to release a patch to the binary hal layer of the madwifi driver for the wireless card in the EEE. In short, this means to have a native working madwifi driver, all one has to do are some quick steps to compile new modules and install them. Note: If you have previously followed the steps below to use ndiswrapper, you will have to unblacklist the ath_pci module so that the kernel can use the new driver.

You should use the current snapshot of madwifi-hal-0.10.5.6 as described in this madwifi ticket (#1192). Download the most recent snapshot here: Snapshot archive for madwifi-hal-0.10.5.6 and extract it:

tar zxvf madwifi-hal-0.10.5.6-r<revision>-<generation date>.tar.gz
cd madwifi-hal-0.10.5.6-r<revision>-<generation date>

Then follow the instructions in madwifis 'first time user' howto:

sudo apt-get install build-essential
sudo ifconfig ath0 down
sudo ifconfig wifi0 down
#Repeat these 2 ifconfig lines for every MadWifi device you have (ath1, etc)
cd scripts
sudo ./madwifi-unload
sudo ./find-madwifi-modules.sh $(uname -r)
cd ..
sudo make
sudo make install
sudo modprobe ath_pci

And that, should be that.

(This method might also work with the default Xandros install and the kernel source from Asus)

(The pre-patched tarballs provided by madwifi in this madwifi ticket are obsolete.)

Wireless internet using ndiswrapper

Atheros has released a patch to use native madwifi drivers on the EEE. That would be the preferable solution (see above) as ndiswrapper has some performance issues on the EEE. Several people report increased cpu utilization by the driver and of course it has all of the limitiations of ndiswrapper. It would be advisable to use the above directions for installing a patched madwifi driver. These directions are here should that not be possible. Be sure to install the wpasupplicant package if you need WPA security.

sudo modprobe -r ath_pci
sudo gedit /etc/modprobe.d/blacklist-common
blacklist ath_pci
sudo apt-get install ndiswrapper-common ndiswrapper-utils-1.9
sudo ndiswrapper -i net5211.inf
sudo ndiswrapper -m
sudo ndiswrapper -ma && sudo ndiswrapper -mi

Audio issues

sudo alsactl store
sudo alsactl restore

Video: LCD and VGA

The procedure is to use the simplified configuration file “xorg.conf” given below that uses the “intel” xorg driver, and use xrandr to manipulate the video schemes. In general, the newer “intel_drv.so” driver is fairly smart about figuring out the configuration and what to do, so the xorg.conf file can be minimal. Don't forget to install the libgl1-mesa-dri , libgl1-mesa-glx , libglu1-mesa libraries for full 3D graphics. The xv video option in xine (or whatever) offers the best performance.

You'll likely want to replace the intel_drv.so in /usr/lib/xorg/modules/drivers/ with the original one from the Xandros install (you can get it from the eee Xandros on line repository). The default Gutsy intel driver only supports “one Xv port”, so there are problems using, e.g. skype with it.

VGA out

With the xorg.conf below, xrandr can be used to turn on VGA out. Just plug your monitor in and execute:

xrandr --output VGA --right-of LVDS --mode 1024x768

(or whatever mode) to get video out of the VGA port. Here “LVDS” is the eee-pc LCD and VGA is, well, VGA out. To turn off the VGA port execute:

xrandr --output VGA --off

Another useful option is “xrandr –auto” which stops the monitor output when the monitor is disconnected (and does other nice things - see the man pages for xrandr).

If you need to drive a monitor with an odd resolution you can do:

xrandr --newmode 1280x720  74.50  1280 1344 1472 1664  720 723 728 748
xrandr --addmode VGA 1280x720
xrandr --output LVDS --off
xrandr --output VGA --mode 1280x720

Doing these in sequence will create a new mode 1280×720, add it as an option for VGA, turn off the LCD of the eee and then turn on the VGA output at the specified resolution (put this in a script, since it would be difficult to execute the last line with the LCD turned off!). The LVDS must be turned off in this case because 800+1280=2080 which is larger than the 2048 virtual screen specified in the xorg.conf file.

xorg.conf

#/etc/X11/xorg.conf - copied from the same file of the original OS and adjusted for Gutsy.
Section "ServerLayout"
    Identifier     "Xandros"
    Screen      0  "Screen1"
    InputDevice    "keyboard"
    InputDevice    "mouse"
    InputDevice    "synaptics"
EndSection

Section "Files"
    ModulePath   "/usr/lib/xorg/modules"
    FontPath     "/usr/share/fonts/X11/misc"
    FontPath     "/usr/share/fonts/X11/Type1"
    FontPath     "/usr/share/fonts/X11/75dpi"
    FontPath     "/usr/X11R6/lib/X11/fonts/Type1"
EndSection

Section "Module"
    Load  "glx"
    Load  "dri"
    Load  "dbe"
    Load  "extmod"
    Load  "synaptics"
EndSection

Section "ServerFlags"
    Option        "AllowMouseOpenFail"
    Option      "BlankTime"        "5"
    Option      "SuspendTime"  "0"
    Option      "StandbyTime"   "0"
    Option      "OffTime"           "10"
#    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      "RTCornerButton"   "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                     # 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"
# You may want to enable this.
    Option        "Composite" "Disable"
EndSection

Activating the Fn F5 key

See also special_function_keys below.

1. Creating the script for the display control

In the console :

cd /etc/acpi
sudo gedit eeepc-vga-toggle.sh

Copy this lines :

#!/bin/bash

getXuser() {
       user=`finger| grep -m1 ":$displaynum " | awk '{print $1}'`
       if [ x"$user" = x"" ]; then
               user=`finger| grep -m1 ":$displaynum" | awk '{print $1}'`
       fi
       if [ x"$user" != x"" ]; then
               userhome=`getent passwd $user | cut -d: -f6`
               export XAUTHORITY=$userhome/.Xauthority
       else
               export XAUTHORITY=""
       fi
}
# end of getXuser from /usr/share/acpi-support/power-funcs
#

checkVGAStatus()
{
    status=`xrandr -q`

    if [ $(echo $status | grep -q "VGA connected (" ; echo $?) -eq 0 ]
    then
        return 0
    else
        if [ $(echo $status | grep -q "LVDS connected (" ; echo $?) -eq 0 ]
        then
            return 1
        else
            if [ $(echo $status | grep -q "VGA connected" ; echo $?) -eq 0 ]
            then
                return 2
            fi
        fi
    fi
}

for x in /tmp/.X11-unix/*; do
   displaynum=`echo $x | sed s#/tmp/.X11-unix/X##`
   getXuser;
   if [ x"$XAUTHORITY" != x"" ]; then
       export DISPLAY=":$displaynum"
       checkVGAStatus;

       case $? in
	   0 ) xrandr --output VGA --mode 1024x768;; # VGA on
	   1 ) xrandr --output LVDS --mode 800x480; xrandr --output VGA --off;;  # LCD on, VGA off
           2 ) xrandr --output LVDS --off;; # LCD off
       esac

   fi
done

Note : This script activate the external monitor with a resolution of 1024×768. You can use another resolution (according to your monitor) by changing the line “0 ) xrandr –output VGA …”

Note : If you want to modify this script, have a look at the perl script available here: (http://www.di2.nu/software/eeetweaks.htm).

Save, close the editor. Make the script executable :

sudo chmod +x eeepc-vga-toggle.sh

2. Creating the event file

In the console :

cd ./events
sudo gedit eee-video

Change the content like this :

event=hotkey ATKD 000000b[012]
action=/etc/acpi/eeepc-vga-toggle.sh

Save, close the editor.

3. If there is, in the /etc/acpi/events repertory, a file called “videobtn”, open it (sudo gedit videobtn), comment out all the lines and save it.

4. It's done. Reboot, connect the external monitor and … enjoy !

Note : If, after that, the Fn F5 key doesn't work, use, in the console, the command :

tail -f /var/log/acpid

which give you the codes of the keys you press. If the Fn F5 key gives a different code than “000000b”, edit the /etc/acpi/events/eee-video file, and reboot.

Webcam and Skype

The webcam and skype are relatively easy to get working.

First, the “ucview” application in the original eee-pc OS can be installed by downloading the *.deb packages from their webpage: http://www.unicap-imaging.org/using_repositories.htm That application seems to work without any problems.

The latest skype beta can be downloaded and installed, and should also work with the webcam automatically. The Gutsy kernel recognizes the camera natively, so no trick is needed to get that turned on (but be sure the camera is enabled in the bios). Skype takes care of configuring sound and video all by itself.

Automatic login without a login manager

HOWTO: Automatically login to XFCE without a login manager

http://ubuntuforums.org/showthread.php?t=152274

The two advantages of doing this are convenience and a few packages can be removed (e.g., gdm). Disadvantage? A lack of security - anyone can boot up your eee-pc and see what you've been up to.

An alternative method is to run 'sudo gdmsetup' click on the security tab and enable “Automatic Login”

Suspend/Resume

# Should we save and restore state using the VESA BIOS Extensions?
SAVE_VBE_STATE=false
# Should we attempt to warm-boot the video hardware on resume?
POST_VIDEO=true
# Save and restore video state?
SAVE_VIDEO_PCI_STATE=true
# Should we switch the screen off with DPMS on suspend?
USE_DPMS=true
# Add modules to this list to have them removed before suspend and reloaded
# on resume. An example would be MODULES="em8300 yenta_socket"
#
# Note that network cards and USB controllers will automatically be unloaded
# unless they're listed in MODULES_WHITELIST
MODULES="ndiswrapper"

Shutdown/Poweroff Workaround

# In the /boot/grub/menu.lst on the kernel line add the following:
acpi=force lapic
# Then in /etc/modules insert the line:
apm power_off=1

Shutdown/Poweroff Solution

The following information came from thread: http://forum.eeeuser.com/viewtopic.php?id=1859

It seems that it is possible to SOLVE the poweroff issue: #1. edit /etc/init.d/halt script:

             sudo gedit /etc/init.d/halt

#2. add the following to the top of the script:

            rmmod snd-hda-intel

#3. save and finally try and shutdown ubuntu……….

CPU speed, p4-clockmod, power savings and all that

The eee-pc version 701 seems to arrive from the factory operating at a cpu frequency of 630 MHz, rather than the advertised 900 MHz. This is apparently caused by a Front Side Bus (FSB) speed of 70 MHz, rather than 100 MHz - this speed is set by the motherboard BIOS.

There is a kernel module called p4-clockmod that when installed (“modprobe p4clockmod”) will allow you to change the cpu speed in various ways. But this is a complicated subject. These are the facts:

One theory is that the eee-pc is deliberately slowed down to (a) increase the battery life, and (b) to keep the device cooler.

In short, there seems to be no advantage to using the p4-clockmod kernel model.

However, a recent advance has given us a kernel module that one can install that allows the FSB to be “changed on the fly”. This does increase the CPU speed. See the wikipage Overclock the FSB to 100 MHz/ CPU speed to 900 MHz for details. Its still experimental at this stage.

Keys, keymaps, and special functions

The eee-pc has a number of hot keys, many of which work right away. Special function keys that likely have no definition by default are LCD/Monitor, task manager (AP), audio controls, and the blue number keys. Some of the keys can be defined. The [Fn]-[Prt Sc] key is associated with the X11 key “Print” (see the utility xev to show what keys are sent to X11 when they are pressed). To define this key to make a screenshot in XFCE, the relevant file to edit is: /usr/share/xfce-mcs-plugins/shortcuts/default.xml. Edit this file to add a line:

<shortcut command="xwd -out /tmp/screen.xwd -root" keys="Print"/>

After restarting XFCE, hitting [Fn]-[Prt Sc], will dump a screenshot to /tmp/screen.xwd. This file can be edited or converted to another format using gimp.

Special function keys

The special function keys, which are the function keys for things like wireless, LCD/VGA out, or sound, are a different problem. To get those function keys to work, you will need to compile and install the asus_acpi.ko kernel module released by ASUS for the eee. See Some special function keys fix on our alternate wiki page for instrunctions. These keys are very flexible and can be set up for any custom purpose.

Fix SD mount problems

If your SD or SDHC card will not mount and throws an error that says “Invalid Mount Option” you will need to edit your fstab. From a terminal run the following:

sudo nano /etc/fstab

Comment out this line with a #:

/dev/sdb1 /media/cdrom0 udf,iso9600 user, noauto, exec 0 0

Your eee may have something other than /sdb1 in the line.

Once you are done, CTL + O to save. CTL + X to exit. There is no need to reboot. You should be able to insert your SD card and have it properly mount.

Fullscreen Flash

This section: Mohan Krishnan (mkrishnan). Sources at bottom.

This tip applies to Ubuntu Desktop (Gnome) only (I think) when running Compiz (either because you manually installed compiz pieces or because you've activated effects in the System → Preferences → Appearance pane. If you've also installed Flash 9,0,115,0 or later, you should be able to get full screen Flash. However, you may have noticed that, instead of this happening, Firefox fullscreen flash (e.g. hitting the full screen button in Youtube) leads you to a popup window instead.

Method One: This method worked for me initially, but mysteriously stopped working after some time.

To fix this, you have to edit a compiz setting that may not be directly available from the Gnome preferences. Here's how.

In a terminal window, type:

             gconf-editor &

Once it loads up, choose Edit → Find. Type in “unredirect” in the find textbox, and check the box to search in key name. Click Find. At the bottom of the main window, you will see search results, including this one:

             /apps/compiz/general/screen0/options/unredirect_fullscreen_windows

Double click this and you will be navigated to this preference. Uncheck it and close out Configuration Editor. You should now be able to get fullscreen in Flash.

Method Two:

There's another preference you're supposed to change that I could not find using gconf-editor. This method worked for me after the first method failed; I'll leave these both here for discussion / evaluation. Open Add / Remove Items from the main Ubuntu menu. Make sure you have “All” selected in the left pane, and Show All Available Applications in the Upper Right. Type “compiz” into the search bar, or else find the package Advance Desktop Effects Settings (ccsm). Install this package.

A new corresponding pane will now be available in Preferences. You'll have to move this one around a bit using alt-dragging, because it's huge. This will let you configure a wide variety of compiz settings.

Go to the General Options pane within the Adv. Desktop Effects Settings, and there, you can uncheck the Unredirect Fullscreen Windows option discussed above.

Now, go to Workarounds under Utility. There, uncheck Legacy Fullscreen Support (at least for me, this item was not found when I searched for it in gconf-editor).

With both of these unchecked, you should be back to fullscreen Flash ability.

Source: http://ubuntuforums.org/showthread.php?p=3977726

Original content: Mostly just validation of this issue and solution for Ubuntu on the Eee, and also two different methods for fixing it, in case the Advanced Desktop Effects Settings tool is not installed.

Wicd network manager

I find the default network manager in Gnome is poorly suited to a laptop. Wicd offers a solution.

To install: In a terminal window, type:

          sudo nano /etc/apt/sources.list

Add the folowing to the end of the file

          deb http://apt.wicd.net gutsy extras

Press Ctrl + o to save and Ctrl + x to exit.

In a terminal window, type:

  
          sudo apt-get update
          sudo apt-get install wicd

To get the tray icon to start at boot, go to System > Preferences > Sessions. In the “Startup Programs” tab, click the “New” button. Name it Wicd. For the command, enter ”/opt/wicd/tray.py”. Restart and it should be up and runing.