Ubuntu 5.10 "Breezy Badger" on an Asus M6842Ne notebook (check here for other installations)
Most of the information listed here come from:
Ubuntu Wiki - LaptopTestingTeam/AsusM6800Ne
Ubuntu Wiki - RestrictedFormats
Ubuntu Wiki - BinaryDriverHowto/ATI
Changelog
* November 1, 2005
IMPORTANT: Battery status is unreadable unless you have the latest BIOS (version 208Ae, released on March 29, 2005) installed.
Usage
I use this notebook for work (system/network administration and web/database development) and for fun (music, movies and sometimes games).
Operating Systems
This notebook runs Debian GNU/Linux most of the time.
I use a "test" partition to try Ubuntu in my spare time: when everything will work at least as it's working on my Debian install, I will eventually use Ubuntu as my primary operating system.
I also left a partition for the preinstalled Windows XP Home.
See below for details.
Partitions
I use to install linux using only / and /home partitions.
The partition table is set as follows:
# fdisk -l /dev/hda
Disk /dev/hda: 60.0 GB, 60011642880 bytes
255 heads, 63 sectors/track, 7296 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System Size Mount point
/dev/hda1 * 1 1048 8418028+ c W95 FAT32 (LBA) 8.6 GB /windows
/dev/hda2 1049 1571 4200997+ 83 Linux 4.0 GB /mnt/debian
/dev/hda3 1572 2094 4200997+ 83 Linux 4.0 GB /
/dev/hda4 2095 7296 41785065 5 Extended
/dev/hda5 2095 2228 1076323+ 82 Linux swap 1.0 GB
/dev/hda6 2229 7296 40708678+ 83 Linux 39 GB /home
Installation
Ubuntu 5.10 "Breezy Badger" CD installs a full Gnome system in less than half an hour without problems.
Boot the installation CD and pass "linux nolapic ec_burst=1" at the "boot:" prompt to resolve two minor issues (poweroff and ACPI lag).
I followed these steps:
boot: linux nolapic ec_burst=1
Choose language [ Language: English - English, Location: other -> Europe -> Italy ]
Select a keyboard layout [ Italian ]
Configure the network [ manual configuration is only required in case of no DHCP servers are reachable ]
Partition disks
Install the base system
Add a user to th system [ no root password, all configuration will be made through sudo ]
Install the GRUB boot loader [ use /dev/hda to install it on the MBR ]
Finish the installation
Once rebooted, wait for the full system installation and login into Gnome.
If the network is available, an applet in the Gnome panel will guide you installing the latest security patches.
Optimized kernel
The default Ubuntu 5.10 installation provides a "generic" x86 kernel.
Ubuntu repositories include a more suitable kernel, otpimized for the 686 architecture: installing it and all needed drivers is just a matter of
$ sudo apt-get install linux-686
This step also updates GRUB entries to use the new kernel as the default one.
After reboot, check that everything is ok and remove the older kernel:
$ sudo apt-get remove --purge linux-image-2.6.12-9-386
APT configuration
I add universe and multiverse repositories to /etc/apt/sources.list, to get some packages not available in the "official" Ubuntu repositories.
After modifying the file, issue an
# apt-get update
to update apt's local cache.
Network profiles
This script manages different network profiles: for each profile (say, netprofile) I create
an /etc/netprofile/netprofile.interfaces interfaces file,
an /etc/netprofile/netprofile.hosts hosts file (with only netprofile-specific hosts),
and an /etc/netprofile/netprofile.resolv.conf DNS file (if netprofile doesn't use DHCP).
I also use a common hosts file, named /etc/netprofile/hosts.common, always added after the netprofile-specific hosts file.
After installing the script with
$ sudo install -m 755 /path/to/netprofile /etc/init.d/
$ sudo update-rc.d netprofile start 40 S .
the network profile can be chosen at boot (adding netprofile=netprofile to the boot parameters), or when the system is up, with
$ sudo /etc/init.d/networking stop
$ sudo /etc/init.d/netprofile netprofile
$ sudo /etc/init.d/networking start
I use to add commonly used networking profiles as altoptions directives into /boot/grub/menu.lst, such as
# altoptions=(wired) netprofile=wired
# altoptions=(wireless) netprofile=wireless
(be sure to leave the # in front of the line, or it will be discarded).
After modifying /boot/grub/menu.lst, run
$ sudo update-grub
to automatically update all /boot/grub/menu.lst entries.
Wireless LED
This simple script manages the wireless LED status, turning it on only when the wireless network interface is up.
Install it with the proper permissions:
$ sudo install -m 755 /path/to/wled /etc/network/if-up.d/
$ sudo install -m 755 /path/to/wled /etc/network/if-down.d/
ATI fglrx driver (3D acceleration)
Even installing the proprietary fglrx ATI's graphical driver is very simple.
Just:
$ sudo apt-get install xorg-driver-fglrx
$ echo fglrx |sudo tee -a /etc/modules
$ sudo sed -i -e 's/"ati"/"fglrx"/' /etc/X11/xorg.conf
will install the module and configure the Xorg server to use it after the next machine reboot.
Multimedia support
Although Ubuntu's policies on software packaging is not as strict as the Debian DFSG, multimedia support (mp3, DVDs, proprietary plugins and programs) is not working out of the box.
After downloading w32codecs and realplayer Debian packages from Christian Marillat's repository, and Java 2 Runtime Environmentthe following steps will give you a fully working multimedia station:
$ sudo apt-get install gstreamer0.8-plugins gstreamer0.8-ffmpeg
$ sudo dpkg -i /path/to/w32codecs_*.deb
$ sudo apt-get install totem-xine gstreamer0.8-plugins gstreamer0.8-plugins-multiverse
$ sudo apt-get install msttcorefonts
$ gst-register-0.8
$ sudo /usr/share/doc/libdvdread3/examples/install-css.sh
$ chmod +x /path/to/jre-1_5_0_06-linux-i586.bin
$ sudo apt-get install fakeroot java-package java-common
$ fakeroot make-jpkg /path/to/jre-1_5_0_06-linux-i586.bin
$ sudo dpkg -i sun-j2re1.5_1.5.0+update06_i386.deb
$ sudo update-alternatives --config java
$ sudo dpkg -i /path/to/realplayer_*.deb
$ sudo apt-get install flashplugin-nonfree
Sleep
Sleep is disabled by default.
To enable it, uncomment the line saying
#ACPI_SLEEP=true
in /etc/default/acpi-support.
If you use fglrx driver, also uncomment the lines saying
if [ x$SAVE_VBE_STATE = "xtrue" ]; then
VBESTATE=tempfile
vbetool vbestate save >$VBESTATE;
fi
in /etc/acpi/prepare.sh.
DMA on the CD drive
DMA is installed but unconfigured for the CD drive.
To enable it, add these lines:
/dev/hdc {
dma = on
}
at the end of /etc/hdparm.conf.
Modules and CPU frequency scaling
I use to keep my personal data on an AES-encrypted USB key; I also use ASUS acpi extensions (provided by asus_acpi kernel module), powernowd (to manage CPU frequency scaling), and kensors (a KDE frontend to lm-sensors) to monitor CPU and battery parameters.
To automatically load the necessary modules (unless you build a custom monolithic kernel that includes them), put the module names into /etc/modules:
$ echo cryptoloop |sudo tee -a /etc/modules
$ echo aes |sudo tee -a /etc/modules
Additional packages/programs
Here's a list of other packages that I use to install:
#1# # apt-get install apt-file \
#1# Cross Platform: # cdrdao smbfs \
#1# Development: # cvs subversion \
#1# Email: # mailx mutt postfix spamassassin \
#1# GNOME Desktop Environment: # gdesklets grip \
#1# Miscellaneous - Graphical: # gdesklets-data hotkeys xtightvncviewer \
#1# Miscellaneous - Text Based: # chkrootkit gpsd gpsd-clients linuxlogo mysql-server qemu \
#1# Games and Amusement: # bomberclone bsdgames cappuccino fortunes-bofh-excuses frozen-bubble gweled \
#1# planetpenguin-racer supertux typespeed \
#1# Multimedia: # festival kmix \
#1# Networking: # aircrack airsnort bitchx-ssl bittornado-gui debmirror ethereal gftp \
#1# kismet links2 nmap p0f psi rdate ssh telnet-ssl tethereal traceroute \
#1# System Administration: # alien apt-show-versions \
#1# Utilities: # arj clamav clamav-daemon gphoto2 gpsdrive hibernate hddtemp \
#1# laptop-mode-tools lm-sensors mc vlock \
# lame
TODO
FreePOPs
FreePOPs releases new versions quite frequently, so it's useful to install the latest available package.
Starting with version 0.0.95, installing the "Sid" version of freepops requires a glibc upgrade, so the best way to have the latest version is to sdownload the "Sarge" Debian package provided on FreePOPs web site.
So, download and install the binary and any newer LUA patch and restart the daemon:
$ sudo dpkg -i /path/to/freepops-<version>_i386.deb
$ sudo install -o root -m 644 /path/to/*.lua /usr/share/freepops/lua/
$ sudo /etc/init.d/freepops restart
Kismet
Kismet supports ipw2200 cards starting from 2005-06-R1 release, but "Sarge" only ships version 2005-04-R1.
Upgrade to the latest available version from the unstable repositories:
$ sudo apt-get -t unstable install kismet
or install it manually, downloading the latest version (2005-08-R1, released on August 15, 2005) from here and installing it in /usr/local to prevent issues with the existing installation:
$ cd /usr/src
$ tar zxf /path/to/kismet-2005-08-R1.tar.gz | $ svn co http://svn.kismetwireless.net/code/trunk kismet-devel
$ cd kismet-2005-08-R1/ | $ cd kismet-devel/
$ ./configure
$ make dep
$ make
$ sudo make install
An interesting utility for viewing Kismet output as HTML pages is Kismet Log Viewer, available here.
To install it, download the latest binary (version 0.9.7 as of August 22, 2005) and
$ cd /usr/src
$ tar zxf /path/to/kismet-log-viewer-0.9.7.tar.gz
$ cd kismet-log-viewer-0.9.7
$ install -o <kismet_suid_user> -m 700 *.pl <kismet_logs_path>
$ install -o <kismet_suid_user> -m 644 logo.png <kismet_logs_path>
Skype
To install Skype (version 1.2.0.18, released on October 25, 2005), download it from here and install with
$ sudo dpkg -i /path/to/skype_1.2.0.18-1_i386.deb
Sun's JDK
To install Sun's Java 2 Platform Standard Edition Development Kit (JDK), or simply the Java Runtime Environment (JRE), you have to download the binary file from here.
Then, there you can install it manually:
$ chmod u+x /path/to/jdk-1_5_0_05-linux-i586.bin | $ chmod u+x /path/to/jre-1_5_0_05-linux-i586.bin
$ cd /opt
$ sudo /path/to/jdk-1_5_0_05-linux-i586.bin | $ sudo /path/to/jre-1_5_0_05-linux-i586.bin
$ sudo ln -s jdk1.5.0_05 java | $ sudo ln -s jre1.5.0_05 java
or build a Debian package with java-package:
$ sudo apt-get install java-package
$ chmod u+x /path/to/jdk-1_5_0_05-linux-i586.bin | $ chmod u+x /path/to/jre-1_5_0_05-linux-i586.bin
$ fakeroot make-jpkg /path/to/jdk-1_5_0_05-linux-i586.bin | $ fakeroot make-jpkg /path/to/
$ sudo dpkg -i sun-j2sdk1.5_1.5.0+update05_i386.deb | $ sudo dpkg -i sun-j2re1.5_1.5.0+update05_i386.deb
$ sudo ln -s /usr/lib/j2sdk1.5-sun /opt/java | $ sudo ln -s /usr/lib/j2re1.5-sun /opt/java
In both cases, if you want to use Sun's Java plugin (instead of the free gcjwebplugin) in Firefox, simply link the plugin with the following command:
$ sudo ln -s /opt/java/jre/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/mozilla-firefox/plugins/
Reboot
Now the system is fully configured: reboot into your custom kernel and issue a
$ dmesg |less
to verify that there are no errors and/or problems during the boot process.
Remove the unused Debian "stock" kernels and exim4 "residual" packages, and update dpkg's cache information:
$ sudo apt-get remove --purge kernel-image-2.6.8-2-386 [ kernel-image-2.6.8-2-686 | linux-image-2.6.12-1-686 ]
$ sudo aptitude purge exim4-base exim4-config
$ sudo apt-file update
$ sudo apt-show-versions -i
Rootkit Hunter
Rootkit Hunter is a very useful program, to be launched from crontab.
Install the latest available version from the unstable repositories:
$ sudo apt-get -t unstable install rkhunter
or download the latest release (version 1.2.7, released on May 24, 2005) and install it:
$ cd /usr/src
$ tar zxf /path/to/rkhunter-1.2.7.tar.gz
$ cd rkhunter
$ sudo sh installer.sh
Then, update the rootkit's database and check your system:
$ sudo rkhunter --update
$ sudo rkhunter --checkall --cronjob
TODO list
I still have to test hibernation (software suspend), firewire, irda and the card reader.
I hope you will find some of these information useful, and if you have any suggestion for helping me to get everything to work, please email me at
bibe AT atworkonline DOT it