Introduction

This is my experience of installing and configuring Archlinux x86_64 on a Asus A6km laptop. The structure conveys the order that things were done, which might help other users to see how the layers can be added to build a very stable distribution.

On this model, a known buggy BIOS problem results in a system hang when any USB device, such as a mouse, is attached at bootup. This can be fixed using a downgraded BIOS version (can be downloaded here). The installation described uses this 202 BIOS version and so far no problems have been encountered, even the power management modules behave properly.

Installation

The core 64-bit package downloaded from the Get Arch link was installed and the instructions given in the Beginner's guide were followed to get the system up and running. The installation process was broken up neatly into stages:

Install Packages - inluding base development packages that will help with networking, reading Windows partitions etc., such as ntfs-3g, ndiswrapper, b43-fwcutter, netcfg. All of them were installed to be on the safe side!

Configure System - involving detecting hardware using hwdetect and configuring the different sections of the main configuration file /etc/rc.conf

The windows partition was initially commented out, so remove # where necessary to make active. vga=791 was added to change the frame buffer from 800 x 640 to 1024 x 768. All explained in the menu.lst configuration file.

Setting up

Archlinux uses the pacman command as its package management, but first, access to t'interweb was required. Having read through the wikis and wanting to configure the system for Gnome, first port of call was to set up the network conections. Initially based on commandline entries and logging in as root at the console, until a desktop environment was setup.

Networking

Wired

The module for the ethernet LAN card was installed at bootup. This could be viewed under the MODULES section in the /etc/rc.conf configuration page or run lsmod to check the module is loaded.

MODULES=(r8169 bcm43xx.......)

Run:

# ifconfig

to check the entry for the ethernet LAN card probably eth0 and its MAC address etc.

The network settings under NETWORKING section in /etc/rc.conf needed changing to allow connection via DHCP or a static IP.

The default setting for the LAN card in rc.conf was a private static IP.

From there, configuration to connect to a wireless network required setting up the ESSID and the network key using iwconfig e.g.

# iwconfig wlan0 essid somename key somekey

and requesting an IP address using the same method as the wired configuration. On reboot, the driver module would be loaded but the configuration would be lost, software, such as netcfg, allowed saving the wireless configuration to file and load the settings on bootup.

Netcfg

Netcfg package produced a good way to setup an encrypted wireless network connection that connects to a network automatically at bootup, particularly while using a console to set stuff up. Examples of the config files are given in /etc/network.d/examples. Here's a WEP configuration file minus a few secret bits!

After entering the appropriate information, and saving a copy in /etc/network.d for netcfg to see it, to test run:

# netcfg Filename

To get the connection at bootup, the following was added to /etc/rc.local:

# Start Wireless.......
sudo netcfg Filename

Pacman

Once the network was setup, Pacman was used to install all the software. Pacman is the commandline package management for Archlinux. It is powerful and yet easy to use, once you get the hang of the syntax. First thing to do, an upgrade of pacman package using,

# pacman -Syu

then

# pacman -Syy

this installed the latest version. Then upgraded the system,

# pacman -Syu

The pacman package checked and installed all the dependencies, setup the packages and gave extra info about the upgrades. These could also be read in the /var/log/pacman.log file.

During this first system upgrade, there was an error relating to klibc that required removing a link, see here

ABS

The Arch Build System can be used to build packages from source but was useful initially as a directory to search for software.

Installed the package using

# pacman -Sy abs

Generate the directory tree for the core, extra and community package lists by checking the content of the /etc/abs.conf file for the required repositories and then running

# abs

These package lists could then be browsed under the /var/abs subfolders. The list needed refreshing on a regular basis, usually when an upgrade is performed.

Building a package from source was pretty straight forward. Following the suggested route, created a build directory called local in /var/abs and copied the appropriate PKGBUILD file from the required package directory in the /var/abs subfolders to a folder of the same name in /var/abs/local.

Inspect the PKGBUILD file for gremlins (or unwanted code) and then run as a user, required fakeroot or sudo, where possible:

Gnome

The installation also added gdm (gnome display manager). From here, need to add the following daemons: fam, hal and gdm to the daemons list in /etc/rc.conf.

DAEMONS=(.....fam hal....gdm)

Hal started the dbus daemon on bootup and some packages suggested adding dbus to the daemons list, this is obviously not necessary if hal is present. After a reboot, gdm loaded the gnome login window. At this point, a user account needed to be present on the system since you cannot login as root at this stage (try ctl+alt+F6 to get to a console and login as root then follow adding a user section below).

When using Nautilus in Gnome to access ftp or samba filesystems, the 'fuse' module needs to be added to the MODULES list.

User accounts

Logged into a console as root, and typed the command:

# adduser

which gave a structured output for creating a user account. During this process, it was possible to add the user to a number of groups. Available groups can be viewed using:

# cat /etc/group

These groups gave user permissions to access:

optical - CD/DVD drives

storage - external drives

disk - drives other than storage and optical

log - log files

power - allows user to suspend, restart and shutdown the computer

audio - sound settings

video - video capture devices

wheel - allow users to use sudo commands

network - allow users to change network settings

Outside of the adduser setup, adding a user to another group could be achieved using:

# gpasswd -a [username] group

Once the account was setup, back to logging into Gnome. No problems were encountered with starting gnome for the first time other than getting the audio sorted out.

Audio

The sound card [SiS AC'97] was detected on installation and the correct modules for audio loaded at bootup. Once the user was added to the audio group, they have control over audio settings. Audio was muted by default. Assuming the user is running a windows manager, double click on the speaker icon and adjust/unmute the audio. Installing:

# pacman -Sy alsa-utils

meant the command:

# alsactl store

created the file /etc/asound.state, this process restored the sound settings on subsequent bootups. Add 'alsa' to the DAEMONS list in rc.conf:

DAEMONS=(.....fam hal alsa....gdm)

Other hardware

Touchpad

To get the touchpad working, install the synaptics package:

# pacman -Sy xf86-input-synaptics

The touchpad started working (with basic features - no scrolling etc.) after a reboot. Apparently this only works when xorg input hotplugging is enabled.

Webcam

The webcam was detected on installation and the modules loaded at bootup.

The cheese webcam package worked well with the installed drivers. Cheese is installed with Gnome extras packages. Can't recall whether this worked on the kernel version installed from the download or after an upgrade!

Kernel version in use at this stage was 2.6.27.

Modem

Not tested so far

IrDA

First make sure the device is enabled in the BIOS, then once booted up, start the daemon:

Open Office

Better fonts

These produce a more pleasing look with the LCD display. Although there are others to try here

Cups

Cups needs to be installed to configure printers or setup a printer server:

# pacman -Sy cups

From here, to setup a printer, try using the web interface, first start the cups daemon:

# /etc/rc.d/cups start

then http://localhost:631 will take you to the interface. To start daemon at bootup, add 'cups' to the daemons list in /etc/rc.conf.

Wicd

This program is a neat little gui to control network configurations, it can be used instead of netcfg, networkmanager etc. to setup wireless networks. Install the package:

# pacman -Sy wicd

then additional packages:

# pacman -Sy dhclient wpa_supplicant hicolor-icon-theme

To get wicd working with Gnome, stop all network daemons and programs from running at bootup, so blacklist any network related stuff in the DAEMONS list of rc.conf and comment out in the NETWORKING section and add 'wicd' after 'dbus' or 'hal' (see config file in section 6), e.g.

#eth0="dhcp"
#INTERFACES=(eth0)

then reboot the system. Clicking on the icon should provide the nearest wireless networks if the daemon loaded properly, otherwise, check the wiki page for known problems.

Firewall/IP Tables

Iptables can be installed from pacman:

# pacman -Sy iptables

From there, follow the detailed instructions on how to setup a simple firewall, open specific ports for applications, and more complicated configurations.

Finally, add 'iptables' to the daemons lists /etc/rc.conf

gtk-iptables is a useful frontend for iptables and can be downloaded from AUR.....

/etc/rc.conf file

This is the up-to-date configuration file for the above installation...