| Article Index |
|---|
| Arch Linux Installation Guide |
| Page 2 |
| Page 3 |
| Page 4 |
| Page 5 |
| Page 6 |
| Page 7 |
| Page 8 |
| Page 9 |
| Page 10 |
| Page 11 |
| Page 12 |
| Page 13 |
| Page 14 |
| Page 15 |
| Page 16 |
| Page 17 |
| Page 18 |
| Page 19 |
| Page 20 |
| All Pages |
Since this guide is enormous I have split it in many pages in order to be read more easily. Not too much scrolling is needed and the pages will also load faster. I would like to mention that this guide was initially posted in the greek forum adslgr.com from the user WAntilles whom I would like to thank for letting me translate it in english and publish it here!
So let's begin with the Arch Linux installation how to! These are the contents:
Contents
- Introduction
- Background Knowledge
- Needed Hardware
- Needed Software
- Starting with BIOS
- Partitioning
- Basic Installation
- Preparing Partitions
- Partitions Settings
- Basic Packages Selection
- Basic Packages Installation
- Basic System Configuration
- Grub Boot Loader Installation and Configuration
- Root Password Configuration
- Package Management Configuration - Repositories
- fstab Configuration
- XORG Configuration
- First Login
- Users and Groups Configuration
- Package Manager Update
- Getting to know PACMAN
- The main Sytem
- Video Drivers Installation
- Desktop Installation
- Additional Programs Installation
- Installation of AMD64 tools
- Daemons Configuration
- Powersaving Governor Configuration
- Lm-sensors Configuration
- Alsa configuration
- Final Check Up and Reboot
Extras:
- II-1 Irreplaceable Solutions
- II-2 Suggested extra Programs
- II-3 Local Repository
- II-4 Repositories Preservation
- II-5. NVIDIA + compiz-fusion
- II-6. Bibliography
- II-7. Thanks
1. Introduction
Arch is a linux distribution which seems to be more difficult to setup even than Debian. But if you continue reading this tutorial you will quickly find out that things are not always as they seem to be. In this guide you will find the whole procedure from downloading the Arch Linux ISO, to installing it and properly configuring it. So let's go!
2. Background Knowledge
The reader of this article is not required to have a former knowledge or experience from UNIX based operating systems, even though that would be rather helpful.
However, it will be good to know some info about the hardware of the computer Arch is going to be setup to. Specifically, it will be helpful if we know which chipset - not only its name, but the specific chipset that is used by the below parts of the computer:
- The CPU, and not only its model but its core as well, because it may support additional capabilities and instructions (e.g Intel Pentium-III Coppermine, AMD K7 Barton, AMD K8 Toledo). Moreover, we should know both if we have more than one CPUs and their total amount and if they are multi-cores and if so, how many cores has each, so as to calculate the total number of cores of our system. Finally we should know if our CPUs support the AMD46 architecture instruction set - such are both all the AMD K8 and the compatible ones of Intel (EM64T).
- Our motherboard plus which version of the chipset we have (Intel 440BX, VIA KT-133A, nVidia nForce2 ultra 400, nVidia nForce4 single, ultra or SLI etc.). Furthermore we should know if our motherboard supports NUMA.
- The possible extra disk controllers we have, either on board or on PCI format (Promise PDC20265R or Silicon Image SI-3114 etc.)
- The network Ethernet controllers we have, either on board or on PCI format ( 3COM 3C-905-TX or Realtek 8169etc.)
- Our VGA card. What is required to know is not its brand or manufacture name but what type of class it is. (e.g. nVidia or ATI 9700 Pro). What's more we should know if our VGA card supports AGP or PCI-express bus.
- Our soundcard, either it is on board or on PCI format. (e.g. Aureal AU8830, Envy24 (ICE1712) ). A priceless source of information for the chipset of every soundcard and how well is being supported by Linux, is the below one and we will also need it later:
ALSA Soundcard Matrix - To know what communication protocoll is used by the optical drives (e.g. IDE or SCSI).
- If our monitor is CRT or TFT which is NOT connected to DVI, to know the limits of the horizontal and vertical frequency range the monitor is capable to work in. Those are always in the manual of our monitor.
- Finally it would be good for all the above to know the name of the corresponding kernel modules
3. Needed Hardware
The computer in which we will install Arch should at least meet the following hardware requirements.
- Either AMD 64 (such as AMD K8 or the equivalent Intel (EM64T), or i686
Which cpus are i686:
----> all Intel Pentium-II (as well as the equivalent Celeron)
----> all Intel Pentium-III (as well as the equivalent Celeron)
----> all Intel Pentium-4 (as well as the equivalent Celeron, apart from those which suport)
----> all AMD K7 Athlon (as well as the equivalent Duron)
Which x86 cpus are NOT i686:
----> Intel Pentium
----> Intel Pentium MMX
----> Intel Pentium-Pro (not ΜΜΧ compatible)
----> AMD K6
----> AMD K6-II
----> AMD K6-III - RAM 256MB
- Motherboard with the latest BIOS, in order to be able to recognize our full had disk drives capacity and to have AGP or PCI- express support. Moreover to support on memory type and not to (e.g. DDR and DDR-2)
- IDE or SATA hard disks with a capacity of 16GB at least. There should be no RAID unless it is real hardware RAID.
- An Ethernet card 10 or 100 Mbps (or gigabit)
- A graphics card, either AGP or PCI-express, either nVidia (series 4xxx and newer), or ATi (Radeon or newer)
- Sound card which is Linux compatible
- IDE (or SCSI) DVD (or CD) reader with boot support
- PS/2 keyboard 105 buttons
- PS/2 or USB mouse 2+1 buttons (1 -> wheel), Microsoft IntelliMouse compatible.
These are our computers requirements.
We take for granted that there is a fast Internet connection through an aDSL modem-router with SPI firewall.
Be sure that in your Ethernet aDSL modem-router you have disabled anything that has to do with DHCP, Universal Plug-And-Play (UPnP) and Wireless.
4. Needed Software
For Arch we need the latest base installation CD (ISO file) of Arch for our cpu’s architecture x86_64 or i686.
Download the ISO file from the Arch Mirrors.
Go to the folder:
.../0.8/iso/...
And download one of them:
----> .../i686/archlinux-2008.06-core-i686.iso ----> .../x86_64/archlinux-2008.06-core-x86_64.iso
(from now on our architectures will be named x86 and amd64)
Moreover we need:
- A Linux Live-CD with graphical interface and the probability to install some packets from there. A very good is Ubuntu live-CD. Download it from Ubuntu Mirrors.
5. Starting with BIOS
It is good to have the latest BIOS for your motherboard as well as extra disk controllers installed. Be sure that BIOS recognizes the full capacity of your hard disks. If not this may lead to data corruption. So, be careful.
Moreover disable all RAID modes and set your disk controllers in SIMPLE mode.
Finally especially for motherboard’s BIOS be careful:
- not to have changed the physical order of the disk controllers and their channels.
- not to have messed SATA and IDE. Always set SATA as SATA and IDE as IDE. These things occur usually in Intel’s cphipsets ICH-XXX.
- to have disabled on board graphics card if you use another extra one.
- to have disabled on board audio card if you use another extra one.
- do not disable any of the other devices even if you don’t use it.
- if you have “strang” keyboard or mouse set thet at PS/2 mode (mouse may be at USB also)
6. Partitioning
Now it’s time to decide how our system’s partitions will be organized.
But first let’s discuss some “myths” that have to do with partitions:
a. A HDD must not have over one primary partition.
Wrong.
This is a myth from the time of useless and old time DOS-9x-Me.
Primary partitions are being accessed faster than logical drivers when the are in extended partitions. Therefore it is highly advised in all our hard disk drives to make only extended partitions ONLY if we need in a HDD over four partitions.
b. We may have as many active partitions as we want in our system.
Wrong.
Experience shows that if we have too many active partitions in a computer this would cause only problems to any OS installed.
Therefore it is highly advised in a computer to have only one active partition which should be primary and would be placed in the beginning of the first physical drive of the first channel of the first disk controller.
Now let’s explain how hard disk and partitions are being labeled under Linux.
- linux counts disk positions and not disks themselves which means that if a position exists but it doesn’t have a drive on it, it stills occupies a drive letter.
- IDE drives have the prefix h (hda, hdb, hdc, etc.)
- SATA and SCSI drives have the prefix s (sda, sdb, sdc etc.)
- partitions are labeled with the small letters of the English alphabet from a and so on.
(hdg, sdd, sdh, hde etc.) - the system keeps independent numeration for the IDE partitions and independent numeration for the SATA and SCSI partitions
- for each one of the two independent numerations (IDE <-> SATA and SCSI)
the following are being numerated from a
----> the positions of motherboard’s chipset
----> the positions of extra disk controllers
----> the positions of other extra PCI controllers starting from the top PCI slot and going down - partitions are numerated from 1 and so on. The extended partition is also being numerated (if it exists) even if it doesn’t hold any data (hda1, sde3, hdg4, sdc4 etc.)
- a drive symbolization is composed like this: <prefix>d<possition-letter>
(e.g. hdg sdd sdh hde)
- a partition symbolization is composed like this: <prefix>d<position-letter><partition-number>
(e.g. hda1 sde3 hdg8 sdc6)
- under Linux in order to name a drive or a partition we use the prefix /dev/ along the above symbolizations
(e.g. drive names -> /dev/sda /dev/hdg e.g.)
(e.g. partition names -> /dev/hdc5 /dev/sdd7 e.g.)
- instead of using letters (such as C D etc.) partitions and drivers occupy directories beneath root directory “/” (e.x. “/boot” “/home” “/var” “/mnt/stuff”) Some of those directories have specific usage.
Below we can see which partitions we can use as long as the filesystems.
- "/"
OBLIGATORY
MINIMUM SIZE-> 16GB
FILESYSTEM TYPES-> ext3 reiserfs
RECCOMENDED FILESYSTEM -> ext3
WE WILL USE ext3
This is the basic partition of each linux installation. It can be common among two installations or linux distributions. Moreover if our system doesn’t have a “/boot” partition (see below) it is one of the possible places for the loader to be installed.
- swap
OBLIGATORY
SIZE -> 3GB
FILESYSTEM TYPES -> swap
RECCOMENDED FILESYSTEM -> swap
WE WILL USE swap
This partition has a usage similar to Windows’ pagefile. It can be common among many installations or linux distributions.
- "/boot"
GOOD TO EXIST
SIZE -> 120MB
FILESYSTEM TYPES -> ext3
RECCOMENDED FILESYSTEM -> ext3
WE WILL USE ext3
This is the partition were all the necessary for the boot process are being kept (the kernels, loader’s configuration, even if the loader itseld). It can be common among many linux distributions.
- "/mnt/repos"
GOOD TO EXIST
MINIMUM SIZE-> 8GB
FILESYSTEM TYPES -> reiserfs
RECCOMENDED FILESYSTEM -> reiserfs
WE WILL USE reiserfs
This is a good partition to be made. In there all program packets and repository lists will be kept. For each architecture is obligatory to have a different subdirectory. Moreover in here we can place a local repository if this is needed.
- "/var"
ΠΡΟΑΙΡΕΤΙΚΟ
MINIMUM SIZE-> 8GB
FILESYSTEM TYPES -> reiserfs
RECCOMENDED FILESYSTEM -> reiserfs
WE WON’T MAKE IT
This is a partition were temporary files and folders are being kept.
- "/home"
GOOD TO EXIST
MINIMUM SIZE-> 4GB
FILESYSTEM TYPES -> ext3 reiserfs xfs
WE WILL USE ext3
This is the partition where all our personal configuration and data are being kept. It is similar to “Documents & Settings” folder of Windows but here it is correctly build. It can be common among many installations and distributions as far as a different user is being used in each one of them.
Supposing that we have much free space where we will place big files such as movies, videos etc. we will also create the following partition.
- "/mnt/data"
ΠΡΟΑΙΡΕΤΙΚΟ
SIZE -> 100GB
FILESYSTEM TYPES -> xfs
RECCOMENDED FILESYSTEM -> xfs
WE WILL USE xfs
We ssuppose that our system has 4 different SATA channels (four SATA places: sda till sdd) and 4 IDE channels (4 IDE places: had till hdd). All our hard disks are SATA (let’s suppose that we have one disk) and all our IDE devices are just optical drives. Finally we suppose that in our system there is no Windows NT-Class installation.
Therefore in our example we will create something like this:
/dev/sda1 /boot ext3 noatime /dev/sda2 / ext3 noatime /dev/sda3 swap swap defaults /dev/sda5 /mnt/repos reiserfs notail,noatime /dev/sda6 /home ext3 noatime /dev/sda7 /mnt/data xfs noatime,logbufs=8
In each line we find info about a partition. There are four columns:
- 1st -> partition’s name
- 2nd -> mounted directory
- 3rd -> filesystem
- 4th -> options relevant to supported encoding, user privileges, etc.
No matter what your partitions would be remember the following
- for each filesystem always use only the above options (ex. for xfs use only noatime,logbugs=8)
- for the swap partition the only thing that changes is the partition number:
/dev/sda3 none swap sw
When you have decided how to partition your hard disks write down this info because you will use it later.
7. Basic Installation
Set through BIOS CD-ROM as the first boot device, and insert the latest base Arch installation CD and in boot: prompt press Enter.
After a while you’ll get the following message:
“Press Enter to get in a bash shell”
After pressing Enter type:
cd / /arch/setup
So as the simple text-mode Arch installer to start.
Let’s move on.
Here you should pay attention while the installer starts.
The installer is manual but when we will finish we won’t have to change any other conf file for a long time.
So be careful to,
- use the arrows to read all the options with the order provided from top to bottom.
- when you finish with an option to press DONE to get back to main menu
- then you should go to the following option because the cursor will be still on the last visited
- never get back, only to the following one
8. Preparing Partitions
Here we choose Prepare Hard Drive.
Be careful.
- choose manual partitioning
- choose the correct disk you want to partition
You will see something like this:
Image
And we want to have something like this:
cfdisk 2.12r Disk Drive: /dev/sda Size: 160100000000 bytes, 160.0 GB Heads: 255 Sectors per Track: 63 Cylinders: 16000 Name Flags Part Type FS Type [Label] Size (MB) ------------------------------------------------------------------------------ sda1 Boot Primary Linux ext3 148,06 sda2 Primary Linux ext3 8603,65 sda3 Primary Linux swap / Solaris 3232,54 sda5 Logical Linux ReiserFS 16796,03 sda6 Logical Linux ext3 4301,83 sda7 Logical Linux XFS 150168,94 [Bootable] [ Delete ] [ Help ] [Maximize] [ Print ] [ Quit ] [ Type ] [ Units ] [ Write ] Toggle bootable flag of the current partition
This is the output we should have if we follow the fstab shown before. If you choose a different fstab configuration you should end up with different partitions as well.
This program is very simple to use. We choose a partition or free space with the arrows up and down, without pressing Enter, and then with left or right arrow we choose the action we will use on it, again without pressing Enter. When you press Enter the action will be started for the selected partition or free space.
The provided actions are:
- [Write]
It applies all the changes we have done in the partition table. We will choose it only at the and when we are completely sure we have made the correct changes. If something goes wrong then this can’t be undone.
- [New]
It can be applied only on free space. As we have mentioned before, free space should be always at the end of the disk and never in the begging or in the middle. If we haven’t already reached the limit of four primary partitions and we haven’t already created an extended partition we will be asked if the partition we want to create should be primary or logical. As mentioned before logical partitions should be created only if we need more than four partitions in the same disk. If we choose logical, automatically an extended partition will be created till the end of the disk.
You are reminded the “myths” stated in the beginning. You are advised to create logical partitions only if you need more than four partitions in the same disk. If we choose logical an extended partition will be created till the end of the disk. After that we’ll be asked Beginning or End. Choose Beginning. Finally we will be asked for the partition’s reserved space and it will show us the maximum available. Be careful after you choose New you should definitely define the partition’s type. See below for that.
- [Type]
Definitely we apply this action after creating a new partition. For all linux partitions we choose type 83 and for swap we choose type 82.
- [Delete]
This action deletes a partition. You are reminded that we always delete partitions from the end to start. Never in the middle and never from the start.
- [Bootable]
With this action we do or undo a primary partition active or bootable. If a primary partition is bootable or not you’ll get a relevant indication “Boot” in the Flags column. In our example we will apply this on the first partition. You are reminded not to make any of your partitions bootable unless it is the first primary partition of your first physical drive, of the first channel, of the first disk controller of your pc!
- [Quit]
Quit exits the program. Any changes you have made will be lost unless you choose Write. So if you have completed the changes in your partitions choose Write and then you may exit.
With the above instructions create the partitions you have decided (in the image you can see the final state of our example).
Be very careful on what you are doing.
When you are finished select DONE.
9. Partitions Settings
We choose Set Filesystem Mountpoints.
In order to configure the partitions settings the installer will be asking each time:
a. Which role will have each partition we create (e.g. “/”, “/boot”, “/home” etc.)
b. What kind of file system will it have (e.g. ext3, reiserfs, xfs etc. )
c. If we like the partition to be formatted or to keep the data it contains.
Take a look at the notes you have kept and be careful on what you choose.
So, we will be asked for the following:
- swap partition
-> in our example we have chosen sda3
-> to be formatted
Remember that swap can be common among different linux distributions.
- “/”
-> in our example we have chosen sda2
-> ext3 file system
-> to be formatted
These partitions are obligatory. Next the installer will ask if we want to create other partitions too.
It is obvious that we will create the ones we have noted down. Moreover it isn’t obligatory to use all the partitions of our disks.
You should take care if you will have a common partition with other distributions (e.g. “/boot”, “/home” etc.)
In that case you must tell the installer not to format that partition or you will lose your data.
So, we choose:
- partition “sda1”
-> ext3 filesystem (be careful if in common use)
-> to be mounted as “/boot”
-> to be formatted (be careful if in common use)
- partition “sda6”
-> ext3 filesystem (be careful if in common use)
-> to be mounted as “/home”
-> to be formatted (be careful if in common use)
- partition “sda5”
-> reiserfs filesystem (be careful if in common use)
-> to be mounted as “/mnt/repos”
-> to be formatted (be careful if in common use)
- partition “sda7”
-> xfs filesystem (be careful if in common use)
-> to be mounted as “/mnt/data”
-> to be formatted (be careful if in common use)
This way and by following the details you have taken notes of you create your partitions. In the image you can see what the will look like finally.
When you are finished press DONE.
10. Basic Packages Selection
We choose Select Packages.
a. First we will be asked which will be the installation source. We choose CD.
b. A list with all the optical drives of our system will appead. We choose the one we use.
c. We will be asked if we want the optical drive to be automatically mounted. We select YES.
In step b the real devices names of your optical notes will be listed. Take a note of them. Most probably the will be the same in your system after the installation.
This CD contains only the base packets which must be all installed.
So we select all of them and tell the installer to install them.
When we finish we press DONE.
11. Basic Packages Installation
We select Install Packages.
When they are finished we press DONE.
12. Basic System Configuration
We choose Configure System.
At this point you will realize how simple is Arch from how its conf files are organized.
They are organized so that
- almost all settings are in on file /etc/rc.conf
- the settings are well commented
- configure them once and most probably you won’t do this again.
So, at this point you will open the conf files one by one, do the recommended changes save and exit.
Choose nano as editor.
Use Ctrl+O for saving and Ctrl+X for exiting.
Let’s start.
- /etc/rc.conf
This is Arch’s basic conf file.
We are interested in the following lines.
LOCALIZATION Part:
(choose your own timezone)
LOCALE="en_US.utf8" HARDWARECLOCK="localtime" TIMEZONE="Europe/Athens" KEYMAP="us"
HARDWARE Part:
MOD_AUTOLOAD="yes" MOD_BLACKLIST=() USELVM="no"
Moreover:
MODULES=(powernow-k8 forcedeth r8169 sk98lin skge sky2)
Here you set:
- the kernel modules that will be loaded in the beginning
- the order they will be loaded with
This line is very important for computers with more than one network cards. This way you will know what is the name of each card very easily.
So, put the kernel modules for your Ethernet cards in the order you want them to be loaded. The first one will be named eth0, and the second one eth1 etc.
e.g. Some common kernel modules for network interfaces are:
- nVidia nForce chipsets -> forcedeth
- Realtek 8169 -> r8169
- Marvell Yukon -> sk98lin ή skge
You don’t have to add a new one, just select the order you want.
At this part you can choose the module for your cpu’s PowerSaving Governor (only if your processor supports power throttling. If you don’t have a processor like that ignore it).
Processors which support power throttling are AMD Athlon64(X2) (and their equivalent Opteron/Sempron) as well as Intel Pentium-4 and Core (2) Solo/Duo (and their equivalent Xeon/Celeron)
Now we must find what is the name of the kernel module for our processor. The name will be different according to our cpu’s architecture.
e.g. for AMD K8 it is:
powernow-k8.ko
while for core2 it is:
acpi-cpufreq.ko
We note down the name without the dot and the suffix. (e.g. powernow-k8)
That’s all for the correct module. If you don’t know it we will refer to this point again later.
However, if you set a power throttling module be sure that it is the first one you have in the list.
Let’s say that our system is like the following one:
MODULES=(powernow-k8 forcedeth r8169)
What we have configured here:
a. an AMD K8 cpu which supports power throttling.
b. two network interfaces that will be loaded with this order no matter what:
----> nVidia nForce
----> Realtek 8169
We continue with /etc/rc.conf
NETWORKING Part:
HOSTNAME="neo"
Here we put our computers name. It can be anything we want as far as it has small letters. We have chosen neo.
lo="lo 127.0.0.1"
We don’t change this line:
eth0="eth0 192.168.1.7 netmask 255.255.255.0 broadcast 192.168.1.255"
For each network interface we should use a line like the above. First we select our interface’s name, next its IP address like 192.168.1.7 (192.168.1.x generally) and then netmask and broadcast.
If we have two interfaces we will use one more line like this:
eth1="eth1 192.168.0.41 netmask 255.255.255.0 broadcast 192.168.0.255"
Moreover:
INTERFACES=(lo eth0)
Here we set all the interfaces we want to be enabled during the boot process, don’t forget lo.
If we have more than one network interface:
INTERFACES=(lo eth0 eth1)
Finally for the network:
gateway="default gw 192.168.1.19" ROUTES=(gateway)
We choose for default gateway our DSL router’s IP address. E.g. 192.168.1.19.
Be careful to delete the exclamation mark in front of the gateway word.
The last thing we must look now are the daemons.
DAEMONS=(syslog-ng network netfs @crond)
For this time we don’t make a change here. We will make all the needed changes later. Arch is very good and powerful and this part as well!
Save and exit nano.
Open the file:
- /boot/grub/menu.lst
No changes here.
Exit nano.
Open the file
- /etc/locale.gen
Here you will find an alphabetical list of all locales, commented with #.
Uncomment the ones you need.
en_US.UTF-8 UTF-8 en_US ISO-8859-1
And (if you are from Greece, in a different case find your country’s locales):
el_GR.UTF-8 UTF-8 el_GR ISO-8859-7
If you want to have the euro symbol add a line like this one:
el_GR@euro ISO-8859-7
Save and exit nano.
Open the file.
- /etc/mkinitrd.conf
No changes.
Exit nano.
Open the file.
- /etc/hosts
In each of these lines put one of your IP addresses from your local network and the name you want it to have. Always small letters with no spaces.
e.g.
192.168.1.7 neo 192.168.1.19 router 192.168.1.21 kitsos 192.168.1.8 theitsa
Etc.
Save and exit nano.
Open the file.
- /etc/fstab
No changes at this point.
Exit nano.
Open the file
- /etc/modprobe.conf
No changes here.
Exit nano.
Open the file:.
- /etc/resolv.conf
In this file we put our ISP’s DNS Servers addresses.
e.g.
nameserver 193.92.150.3 nameserver 194.219.227.2
Be careful!
You mustn’t use the above IP addresses. Use your ISP’s addresses.
Save and exit nano.
We are finished and we press DONE.
13. Grub Boot Loader Installation and Configuration
Next we will be asked to configure GRUB Boot Loader.
We have two options:
-> to put GRUB in MBR (you are advised to do so if you don’t have a Windows installation in your system – here this is what we will do)
-> not to put GRUB in MBR (you are advised to do so if you have a Windows installation in your system)
In each case we choose in which hard disk we want the installation to be done or in which partition.
In the first case we must select our first physical hard disk drive (e.g. sda).
In the second case we choose “/boot” partition or “/” if we haven’t created “/boot”.
Then we press Enter.
14. Root Password Configuration
Here we will be asked for what the root password would be.
Be careful.
The password should have no spaces and should also be difficult. Of course you shouldn’t forget it.
At this point the installer will message us that everything is ok and will reboot the system. We will be prompted to eject the CD. Do so and press Enter for reboot.
15. Mnagement Configuration - Repositories
At this time you will need a linux live cd. You may download the Ubuntu live cd from here. Put it in your cdrom drive and reboot. Instead of this if you already have a linux installation in your computer you may use this one. One way or another you should have an internet connection available.
So, configure your network and then run Synaptic. Install the following packages.
- mc
- screen
- nano
If you use your installation make sure those packages are available. Be careful since those packages may have a different name in your distribution.
From now on for editing we will be using gedit with root privileges.
So press Run and type:
gksudo gedit
Ubuntu live cd has a blank pass so just press Enter.
Note that in order to create or copy files and directories you may use Midnight Commander from your console.
Next
Open a Gnome Terminal and get root privileges like this:
sudo -s -H
Ubuntu live cd has a blank pass so just press Enter. Then type:
screen -i -U cd /
We create mount points for the following partitions (use your previous notes not to make any mistake with the partitions).
- "/"
mkdir /mnt/arch mount /dev/sda2 /mnt/arch
- "/mnt/repos" (if we have created one)
mount /dev/sda5 /mnt/arch/mnt/repos
If you haven’t created a partition for repositories just create a temp folder inside you /mnt like this:
mkdir /mnt/arch/mnt/temp
Next:
cd /mnt/arch/mnt/repos mkdir arch-local cd arch-local
Depending on our architecture:
for amd64
mkdir amd64 cd amd64
for x86
mkdir x86 cd x86
Then:
mkdir custom mkdir custom/packages mkdir custom/list cd /
You have just finished with the structure of a local Arch repository in your hard disk. Don’t forget that your live cd also contains Firefox and Nautilus.
Now, let’s fix 5-6 files with gedit for the repositories settings.
- File /mnt/arch/etc/pacman.conf
Delete everything and paste the following:
[options] LogFile = /var/log/pacman.log NoUpgrade = etc/passwd etc/group etc/shadow etc/sudoers NoUpgrade = etc/fstab etc/raidtab etc/ld.so.conf NoUpgrade = etc/rc.conf etc/rc.local NoUpgrade = etc/modprobe.conf etc/modules.conf NoUpgrade = etc/lilo.conf boot/grub/menu.lst HoldPkg = pacman glibc SyncFirst = pacman #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
Depending on your architecture:
for amd64
[custom] Server = file:///mnt/repos/arch-local/amd64/custom/package
for x86
[custom] Server = file:///mnt/repos/arch-local/x86/custom/packages
Continue:
[core] Include = /etc/pacman.d/mirrorlist [extra] Include = /etc/pacman.d/mirrorlist [community] Include = /etc/pacman.d/mirrorlist #[testing] #Include = /etc/pacman.d/mirrorlist
Save the file and exit.
Now in folder /mnt/arch/etc/pacman.d/ there are five files.
Open them all.
You will see many lines starting like this:
Server =
Place a comment mark (#) in front of those lines apart from only one in all of those files It should the same one in each file.
These are all the Arch Repository Mirrors. Choose which one is closest to you. Just remember, only one repository in each file and the same repository in all files.
When you are finished save and exit all files.
Now we will create a new file which we will save it under the directory:
/mnt/arch/bin/
Press new file in gedit and paste the following:
#!/bin/bash REPO=$1 PLATFORM=$2 if [ "$PLATFORM" = "amd64" ] then ARCH=x86_64 elif [ "$PLATFORM" = "x86" ] then ARCH=i686 fi cd / rm -f /mnt/repos/arch-local/"$PLATFORM"/"$REPO"/packages/"$REPO".db.tar.gz repo-add /mnt/repos/arch-local/"$PLATFORM"/"$REPO"/packages/"$REPO".db.tar.gz /mnt/repos/arch-local/"$PLATFORM"/"$REPO"/packages/*-"$ARCH".pkg.tar.gz rm -f /mnt/repos/arch-local/"$PLATFORM"/"$REPO"/packages/.PKGINFO cd /
Save it as update-local-repo with Western Locale encoding.
Now let’s get back in our console and make the script executable:
cd /mnt/arch/bin chmod 755 update-local-repo cd /
From now on to run the script you must type:
update-local-repo <repository-name> <architectyre>
architecture depending on your system should be:
for amd64
amd64
for x86
x86
For now we have created only one local repo named 'custom'. So, to run the script type:
for amd64
update-local-repo custom amd64
for x86
update-local-repo custom x86
16. fstab Configuration
Now let’s configure our /etc/fstab file.
We are interested on the lines that are relevant to optical drives and the floppy.
First of all see in which directories under “/mnt/” they are configured to be mounted and with Midnight Commander delete them.
Create under “/” directory a new directory “media” and in there create directories like these:
cdrom0 cdrom1
depending on how many optical drives you have.
If you have a floppy create also the next directory:
floppy0
Now back to fstab.
The lines that the installed has placed in there are wrong and so you may delete them. In their place add the following ones:
/dev/sr0 /media/cdrom0 udf,iso9660 ro,user,noauto,iocharset=utf8,unhide 0 0 /dev/sr1 /media/cdrom1 udf,iso9660 ro,user,noauto,iocharset=utf8,unhide 0 0 /dev/fd0 /media/floppy0 vfat user,noauto,iocharset=utf8 0 0
This is for our example where we have two optical drives and one floppy.
Note that your optical drives device names may be different from mine.
For your optical drives you may open later k3b and see what the names are. In the top left there will be a list with all your optical drives and their names as well.
Save the file and exit.
Now, we are finished with fstab as well.
17. Xorg Configuration
Now let’s configure our X Server in order to have a nice refresh rate and 3D acceleration.
In your console type:
mkdir /mnt/arch/etc/X11
Create a new file in there and save it with Western Locale encoding and a name
xorg.conf
Our xorg.conf is composed from three parts:
a. The first part is common for everyone. Copy and paste this one.
Section "Files"
FontPath "/usr/share/fonts/misc"
FontPath "/usr/share/fonts/cyrillic"
FontPath "/usr/share/fonts/100dpi/:unscaled"
FontPath "/usr/share/fonts/75dpi/:unscaled"
FontPath "/usr/share/fonts/Type1"
FontPath "/usr/share/fonts/100dpi"
FontPath "/usr/share/fonts/75dpi"
FontPath "/usr/share/fonts/TTF"
EndSection
Section "ServerFlags"
Option "AutoAddDevices" "False"
EndSection
Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
EndSection
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us,gr"
Option "XkbOptions" "grp:ctrl_shift_toggle,lv3:ralt_switch,eurosign:e"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ExplorerPS/2"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection
b. The next part depends on our video card:
for nVidia σειρά GeForce5 and above
Section "Module"
Load "dbe"
Load "freetype"
Load "glx"
SubSection "extmod"
Option "omit xfree86-dga"
EndSubSection
EndSection
Section "Device"
Identifier "My Graphics Card"
Driver "nvidia"
# Option "DynamicTwinView" "false"
Option "RenderAccel" "true"
Option "CursorShadow" "true"
Option "HWCursor" "true"
Option "TripleBuffer" "true"
# Option "ConnectedMonitor" "DFP"
# Option "ConnectedMonitor" "CRT"
Option "InitialPixmapPlacement" "2"
Option "GlyphCache" "1"
EndSection
Section "Extensions"
Option "Composite" "enable"
EndSection
for ATi RADEON from X-XXXXX and above
Section "Module"
Load "dbe"
Load "type1"
Load "freetype"
Load "glx"
Load "dri"
SubSection "extmod"
Option "omit xfree86-dga"
EndSubSection
EndSection
Section "DRI"
Mode 0666
EndSection
Section "Device"
Identifier "My Graphics Card"
Driver "fglrx"
BusID "PCI:2:0:0"
Option "no_accel" "no"
Option "no_dri" "no"
Option "mtrr" "off"
Option "DesktopSetup" "clone"
Option "ScreenOverlap" "0"
Option "Capabilities" "0x00000800"
Option "CapabilitiesEx" "0x00000000"
Option "VideoOverlay" "on"
Option "OpenGLOverlay" "off"
Option "CenterMode" "off"
Option "PseudoColorVisuals" "off"
Option "Stereo" "off"
Option "StereoSyncEnable" "1"
Option "FSAAEnable" "no"
Option "FSAAScale" "1"
Option "FSAADisableGamma" "no"
Option "FSAACustomizeMSPos" "no"
Option "FSAAMSPosX0" "0.000000"
Option "FSAAMSPosY0" "0.000000"
Option "FSAAMSPosX1" "0.000000"
Option "FSAAMSPosY1" "0.000000"
Option "FSAAMSPosX2" "0.000000"
Option "FSAAMSPosY2" "0.000000"
Option "FSAAMSPosX3" "0.000000"
Option "FSAAMSPosY3" "0.000000"
Option "FSAAMSPosX4" "0.000000"
Option "FSAAMSPosY4" "0.000000"
Option "FSAAMSPosX5" "0.000000"
Option "FSAAMSPosY5" "0.000000"
Option "UseFastTLS" "1"
Option "BlockSignalsOnLock" "on"
Option "UseInternalAGPGART" "no"
Option "ForceGenericCPU" "no"
Option "TVFormat" "PAL-G"
Option "OverlayOnCRTC1" "1"
Option "TexturedVideo" "True"
Option "TexturedVideoSync" "True"
Option "Textured2D" "True"
Option "TexturedXrender" "Off"
Option "MaxGARTSize" "256"
EndSection
Section "Extensions"
Option "Composite" "Enable"
Option "RENDER" "Enable"
Option "DAMAGE" "Enable"
Option "XVideo" "Enable"
EndSection
for ATi RADEON till 9800XT
Section "Module"
Load "bitmap"
Load "dbe"
Load "ddc"
Load "dri"
Load "extmod"
Load "freetype"
Load "GLcore"
Load "glx"
Load "int10"
Load "record"
Load "type1"
Load "vbe"
SubSection "extmod"
Option "omit xfree86-dga"
EndSubSection
EndSection
Section "DRI"
Mode 0666
EndSection
Section "Device"
Identifier "My Graphics Card"
Driver "radeon"
BusID "PCI:2:0:0"
EndSection
In the last two ATi cases if you get an error try to change in the line:
BusID "PCI:2:0:0"
The first number (here it is 2) to something else (such as 5) and try again. You might find the correct number by typing:
lspci | grep VGA
c. The third part depends on the type and model of your screen.
for TFT with DVI
Section "Monitor"
Identifier "My Monitor"
Option "DPMS" "True"
Option "DPI" "96 x 96"
EndSection
Section "Screen"
Identifier "Default Screen"
Device "My Graphics Card"
Monitor "My Monitor"
Option "UseEvents" "true"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x1024"
Viewport 0 0
EndSubSection
Option "AddARGBGLXVisuals" "true"
# Option "PixmapCacheSize" "1000000"
# Option "AllowSHMPixmaps" "0"
EndSection
Here be careful. In the line
Modes "1280x1024"
You see what your screen resolution is. You should place your screen’s native resolution.
for CRT
Section "Monitor"
Identifier "My Monitor"
Option "DPMS" "True"
Option "DPI" "96 x 96"
HorizSync 30-115
VertRefresh 50-160
#Modeline "1280x960@100" 178.992 1280 1376 1520 1760 960 961 964 1017 +hsync +vsync
#Modeline "1152x864@100" 143.472 1152 1232 1360 1568 864 865 868 915 +hsync +vsync
#Modeline "1024x768@120" 166.71 1024 1056 1688 1720 768 780 795 807 +hsync +vsync
#Modeline "1600x1200@85" 300.92 1600 1632 2768 2800 1200 1222 1239 1261 +hsync +vsync
EndSection
Section "Screen"
Identifier "Default Screen"
Device "My Graphics Card"
Monitor "My Monitor"
Option "UseEvents" "true"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x960" "1152x864" "1024x768"
Viewport 0 0
EndSubSection
Option "AddARGBGLXVisuals" "true"
# Option "PixmapCacheSize" "1000000"
# Option "AllowSHMPixmaps" "0"
EndSection
Here you need even more attention.
Again in the line:
Modes "1280x960" "1152x864" "1024x768"
You can see which are your screen’s acceptable resolution. The first one should be what you want to use as a default.
BE CAREFUL!!
Don’t put in there a resolution that isn’t accepted from your screen.
Moreover in the following lines:
HorizSync 30-115 VertRefresh 50-160
Read your screen’s specifications and place your horizontal and vertical refresh rates.
BE CAREFUL!!
If you use wrong values in here you may damage your screen.
Now save the file and close gedit.
Umount all the partitions you have previously mounted.
cd /
Be careful. Here we umount with the reverse order we have previously mounted the partitions. Start from the folders and go to ther root “/”.
umount /mnt/arch/mnt/repos
umount /mnt/arch
The directory arch is not needed any more so delete it.
rmdir /mnt/arch
In that part the live CD isn’t needed any more. So exit everything that is running and reboot.
When computer reboots enter BIOS and select hard disk drive as the boot device.
18. First Login
Now we are in our fresh Arch installation.
Login as root.
From now on and till we have a running desktop be careful since root may destroy the system if anything wrong happens.
Remember to use the Tab button since it auto completes folders and file names.
Type:
cd / clear
19. Users and Groups Configuration
First we create our user which we will normally use in our system. Use only small latin letters with no spaces.
Let’s say it will be called nioubis. Type the following:
useradd -m -G users,wheel,audio,video,optical,storage,camera,floppy -s /bin/bash nioubis
Now we must select a password for our user:
passwd nioubis
Be carefull. Do not use spaces. The password should be difficult for other to be found. Of course you shouldn’t forget it!
20. Testing Local Repository
Here we are going to test if the local repository we previously created works fine. Type:
pacman -Sy update-local-repo custom <αρχιτεκτονική> pacman -Sy
If you will get a message that a new version of pacman has be found, when prompted answer YES to update pacman first. When it’s installed type:
pacman -Su
Hopefully you won't have done something wrong and everything should be ok.
Then open:
nano /etc/makepkg.conf
And search for the line:
export MAKEFLAGS="-j2"
Here you can see a number after j at the end. You should change this number to the number of your system CPU cores plus one. If you have a system with an Intel HyperThreading processor you should double this number before adding 1.
For example if your computer is a server with 8 Opteron cores you should use 8+1=9.
MAKEOPTS="-j9"
Save and exit nano.
Press Ctrl+Alt+F2. Now login again.
This time we will login not as root but as a user.
So in the login prompt type the user’s name you have created before as well as his password.
Next type:
cd ~ nano .bashrc
Add the following line to this file:
alias nicepac="nice -n 19 makepkg" alias manualpac="nice -n 19 makepkg -d"
Save and exit nano.
Type:
exit
Press Ctrl+Alt+F1 to get back to the previous login.
For desktop installations you may continue with chapter 21.
If you want to use your Arch installation as a server you should also install the following applications.
pacman -S nano screen openssh
Go to:
cd /etc/ssh cp sshd_config sshd-config-backup
And type:
nano /etc/ssh/sshd_config
Here we are intrested in the following lines:
PermitRootLogin yes RSAAuthentication yes PubkeyAuthentication yes #IgnoreRhosts yes RhostsRSAAuthentication no HostbasedAuthentication no #IgnoreUserKnownHosts no PermitEmptyPasswords no ChallengeResponseAuthentication no #PasswordAuthentication yes UsePAM no
Be careful here. Some lines may already exist, some others may have a different value (yes or no) and others might be commented or not.
Save and exit nano.
cp sshd_config sshd-config-root-login cd /
Then:
nano /etc/rc.conf
We are intrested for the line DEAMONS=:
We had left it like this:
DAEMONS=(syslog-ng network netfs @crond)
We will make it like this:
DAEMONS=(syslog-ng network netfs @crond @sshd)
Save and exit nano.
Moreover open those two files with nano and make sure that all the lines are commented, they should start with a "#".
- /etc/hosts.allow
- /etc/hosts.deny
Save and exit nano.
Finally type:
/etc/rc.d/sshd start
Now go to your other pc and make sure it is connected in your lan. You may access your server like this:
For Windows NT-Class open PuTTY and type:
root@neo
Give your root password and press Enter.
For *nix-like type:
ssh root@neo
Give your root password and press Enter.
Answer yes that you "trust" neo.
Finally type:
screen -i
21. Getting to know PACMAN
Packman is Arch’s Package Management System, which is powerful and simple to use.
It is fast and usable such as Debian’s apt-get and Gentoo’s portage.
You can run it by typing:
pacman
It takes some options as well.
A typical packman call is the following for example.
pacman -S gimageview comix
It’s structure is:
pacman -<action><options> <package-1> < package-2> < package-3> ... < package-n>
(in our example there where no options, only an action.
Now, let’s see some of the basic options.
-y
refresh
It is used only with the action S (see below) usually with no packets after that. It refreshes our package database.
pacman -Sy
It is similar to Debian’s and Gentoo’s:
apt-get update
emerge --sync
If it is used with packet’s names after refreshing the database it will then install those packages as well. It is as using S after finishing with –y
-w
downloadonly
It is only with the action S (see below) with or without package names after that. By using it you just download the wanted packages. It can be used along with the u action (see below).
pacman -Sw
It is similar to Debian’s and Gentoo’s:
-d
-f
-u
sysupgrade
It is only with the action S (see below) without package names after that. It upgrades our whole system. It can be used along with w and usually with y
pacman -Su
It is similar to Debian’s and Gentoo’s:
apt-get upgrade
emerge -uDNpv --columns world
Ας δούμε τώρα τις βασικότερες από τις δράσεις:
-S
SYNC
It refreshs and/or adds packages of a part or of our whole system. If there are package name after that it can be used with the option w. If there aren’t any package names it should be used with options y or u.
Uses:
----> database refresh:
pacman -Sy
----> system upgrade:
pacman -Su
----> upgrade and package installation:
pacman -S gimageview comix
In the above example the packages gimageview and comix will be updated or/and installed.
It is similar to Debian’s and Gentoo’s:
apt-get install gimageview comix
emerge -uNpv --columns gimageview comix
-R
REMOVE
It deletes all packages that follow it.
pacman -R gimageview comix
In this example the packages gimageview and comix will be deleted.
It is similar to Debian’s and Gentoo’s:
apt-get remove gimageview comix
emerge -pvC --columns gimageview comix
22. The main Sytem
From now on we will install packages many at once. For any of those we will be prompted that the latest version is installed we will reply not to install it again.
pacman -S make automake cvs wget aria2 patch subversion git fakeroot tar bzip2 unrar lha zip unzip p7zip aufs aufs-utils
pacman -S udev hal dbus fam acpid lm_sensors logrotate htop lsof ethtool fuse
pacman -S coreutils pciutils usbutils hwd lshwd util-linux-ng chkrootkit
pacman -S portmap nfs-utils cups samba openssh ntp openntpd smartmontools net-snmp tcptraceroute netkit-ftp netkit-telnet
pacman -S reiserfsprogs xfsprogs xfsdump jfsutils
pacman -S reiserfsprogs xfsprogs xfsdump jfsutils
for a desktop also type:
pacman -S alsa-lib alsa-utils xorg xf86-input-keyboard xf86-input-mouse
You may avoid this step if you want Arch only for server use.
23. Video Drivers Installation
for nVidia GeForce5 and above
pacman -S nvidia nvidia-utils
for ATi RADEON from X-XXXXX and above
pacman -S catalyst catalyst-utils
for ATi RADEON till 9800XT
pacman -S xf86-video-ati libgl-dri driconf
24. Desktop Installation
Here we are going to install one of the two basic Desktops, Gnome or KDE.
for Gnome
pacman -S gnome gnome-desktop gnome-extra gnome-screensaver computertemp mail-notification gdm kdebase deskbar-applet mesa
for KDE
pacman -S kde gtk-qt-engine ksensors knemo kbiff mesa
Next let’s install Microsoft fonts which are more comfortable:
cd /usr/share/fonts mkdir ms-fonts
The ms-fonts directory could be named as you like. Just make it have only small latin letters without spaces.
In there we copy as many fonts as we want from a Windows installation. Then type:
fc-cache -f -v
25. Additional Programs Installation
pacman -S aspell aspell-en aspell-el hicolor-icon-theme
Instead of aspell-el you can use your own language. This package is for grammar correction control.
pacman -S firefox firefox-i18n thunderbird thunderbird-i18n xcursor-themes numlockx
pacman -S libdvdcss libdvdnav libdvdread libdts libmodplug dvd+rw-tools libarchive libdownload timidity++ xine-lib xvidcore x264 mplayer musicbrainz
pacman -S krusader krename kdiff3 k3b k3b-i18n
pacman -S totem-xine smplayer kplayer kmplayer vlc mediainfo mediainfo-gui
26. Installation of AMD64 tools
Read this part only if you have an amd64 cpu architecture.
To install Flash Player in your 64bit Firefox type as root:
pacman -S lib32
pacman -S nspluginwrapper nspluginwrapper-flashplugin-mozilla
Now as a single user, not root, type:
nspluginwrapper -v -r ~/.mozilla/plugins/npwrapper.libflashplayer.so nspluginwrapper -i /opt/mozilla/lib/plugins/libflashplayer.so
27. Daemons Configuration
Now, let’s configure our system’s “Daemons” or in other words our system’s “Services”
If you remember we have mentioned before that Arch is very good at this part.
Open Midnight Commander:
mc
Let’s fix (with F4) the following file.
/etc/rc.conf
Midnight Commander is better than nano since it supports easier Cut, Copy, Paste, Delete.
We are interested on the last line DAEMONS=:
We have left it like this:
DAEMONS=(syslog-ng network netfs @crond @sshd)
Be careful because if anything goes wrong the system won’t boot.
Remember the following for the daemons:
- The system starts the daemons with the order it reads them from this line, from left to right.
- Each daemon has to start completely to move on to the next one. This can be bypassed by putting “@” in front of it.
- Some daemons in order to start demand other daemons to have been started first. If they don’t find them “ready”, the system stops from booting.
- If a daemon needs other daemons it should be placed at the right of them.
- If a daemon is needed by other daemons it should be at the left of them and it should be started without a @.
- We put an @ in front of the daemons that aren’t needed by other daemons.
- It isn’t necessary to use all of the following daemons. It will be noted which of them are compulsory. No matter which ones of them you will use don’t change the order or the @ in front of them.
- Instead of completely removing a daemon you can add a “!” in front of it.
This is a recommended order safe to use. It is also pretty fast.
DAEMONS=(syslog-ng network portmap netfs @crond nfslock @nfsd @samba acpid sensors dbus @hal @alsa !cpufreq @cups @smartd @openntpd @sshd @gdm)
If yoy have only KDE installed in your system, instead of @gdm use @kdm.
Note the exclamation mark in front of the cpufreq daemon. This daemon refers to Power Throttling of our cpu. Not all cpus support it. Change it to your needs.
Next we press F2 for save and F10 for exit.
We should also configure a few more useful daemons.
openntpd (It is for automatically adjusting our computer’s time):
Let’s change (with F4) the following file:
/etc/ntpd.conf
Here we have two options, depending if we have a local network with other computers or not.
If we don’t have a lan:
server ntp.forthnet.gr
We use a line like the above where we place our ISP’s ntp server. To you it would be different of course.
If we have a lan we can configure our computer to act as a local ntp server like this:
listen on 127.0.0.1 listen on 192.168.1.7
where in the second line we place our computer’s static IP address.
Press F2 for Save and F10 to exit.
Then in all the other computers of our network in the same file we add this line:
server 192.168.1.7
smartmond (for viewing the SMART elements of our hard disk drives.)
Let’s change (with F4) the following file:
/etc/smartd.conf
In the beginning we will find this line:
DEVICESCAN
Comment it:
#DEVICESCAN
At the end add a line like this one for each drive we have:
/dev/sda -a -d sat
Press F2 for Save and F10 to exit.
Go to the root directory "/" in Midnight Commander's windows and exit with F10.
To get information about your hard disk type:
smartctl -a /dev/sda
Replace sda with your own device.
28. Powersaving Governor Configuration
If you don’t have a cpu that supports power throttling you may omit this step. Cpus that support this feature are only AMD Athlon64(X2) (as well as the same Opteron and Sempron) and Intel Pentium-4 και Core (2) Solo/Duo (as well as Xeon the same and Celeron).
pacman -S cpufrequtils
Now we have to find what is the name of the kernel’s module that does this job for our processor. The name will be diffirent depending on our processor and its architecture.
Open Midnight Commander:
mc
And go to directory /lib/modules.
In there you should find different directories for each one of the kernels you have installed in your system. Go to the one you are using.
In there go to kernel/arch and then depending on our architecture:
for amd64
x86_64
for x86
i386
and then at kernel/cpufreq.
In here you will see files with the suffix ".ko".
One of them is needed for our processor.
For example the name for AMD K8 is:
powernow-k8.ko
while for Core2 it is:
acpi-cpufreq.ko
Take a note of it somewhere without its suffix (powernow-k8).
Next go to /sys/devices/system/cpu/cpu0 directory.
In there you should find a directory with the name cpufreq. Enter in there.
Now we will check the content of some files without changing them by using F3:
scaling_driver
In there, there should the module’s name we enabled previously:
powernow-k8
scaling_max_freq
scaling_min_freq
In those two files there should be a number. We also take a note of those two numbers, exactly as they are shown.
For example:
2200000
1000000
scaling_available_governors
In there we will see something like this:
ondemand performance
We are interested on ondemand.
Let’s correct this file:
etc/conf.d/cpufreq
2-3 lines are of our interest:
governor="ondemand"
And:
min_freq="1GHz" max_freq="2.2GHz"
Be carefull here to define the minimum and maximum frequencies of our processor.
These are the numbers we previously noted down. Previously they were in Hz, now they are in GHz.
Press F2 for Save and F10 for Exit.
ow let’s correct again the file:
/etc/rc.conf
In the line:
MODULES=(powernow-k8 forcedeth r8169)
If there is no throttling module we add it first.
We should also add some ACPI modules. They should be placed at the end and with the given order:
MODULES=(powernow-k8 forcedeth r8169 ac battery button fan thermal)
Finaly go to the daemons line:
DAEMONS=(
And remove the exclamation mark from cpufreq:
DAEMONS=(syslog-ng network portmap netfs @crond nfslock @nfsd @samba acpid sensors @fam dbus @hal @alsa cpufreq @cups @smartd @openntpd @sshd @gdm)
If you have only KDE in your system instead of @gdm use @kdm
Press F2 for Save and F10 for Exit.
You may now close the Midnight Commander.
29. Lm-sensors Configuration
Type:
sensors-detect
This starts a program which detects our motherboard’s temperature sensors.
We just answer Yes to all questions. We’ll get 2-5 lines as results and we will be asked if we want it to update some files. Answer yes and exit sensors-detect.
30. Alsa configuration
Type:
alsaconf
This starts a program that automatically detects our audio card.
We just answer yes to all the questions kai after a while we’ll get 2-5 lines as results and we will be asked if we want it to update some files. Answer Yes.
Be careful in one part.
If we get more than one audio cards and one of them has "intel8x0" inside the choose this one and not the other. This happens usually for some nVidia nForce chipsets.
Exit alsaconf.
31. Final Check Up and Reboot
cd / clear
Let’s check 2-3 final things. Type:
nano /etc/rc.conf
Check for their consistency those lines:
MODULES=(powernow-k8 fuse forcedeth r8169 ac battery button fan thermal loop)
The correct order is:
- The kernel module for our processor’s power throttling if this is supported.
- The kernel modules for our network interfaces with the order we want them to start.
- The necessary ACPI modules.
Finally we check this line:
DAEMONS=(syslog-ng network portmap netfs @crond nfslock @nfsd @samba acpid sensors dbus @hal @alsa cpufreq @cups @openntpd @sshd @gdm)
Take care not to add or omit @. If your processor doesn’t support power throttling there should be no cpufreq daemon.
When we are sure that everything is ok exit nano with Ctrl+X
Reboot and you are ready!
cd / clear reboot
II-1 Irreplaceable Solutions
Some simple and irreplaceable solutions, for really difficult problems, are mentioned below.
- If we like to have guaranteed keyboard switch on KDE, with contemporaneous sign on the panel, with the combinations we have get used to for years from the other desktops:
Firstly, we have to be logged in on the KDE, open a new Konsole as a simple user and hit:
for ctrl+shift
sed -ie 's/Switch to Next Keyboard Layout=.*/Switch to Next Keyboard Layout=default(Ctrl+Shift_L);Ctrl+Shift_R/' ~/.kde/share/config/kdeglobals
for alt+shift
sed -ie 's/Switch to Next Keyboard Layout=.*/Switch to Next Keyboard Layout=default(Alt+Shift_L);Alt+Shift_R/' ~/.kde/share/config/kdeglobals
- If we want to run the weather applet of the KWeather panel:
Firstly, we have to be logged in on the KDE, load KWeather on the panel, open a new Konsole as a simple user and hit:
dcop KWeatherService WeatherService addStation LGAV
II-2 Suggested extra Programs
Here will be mentioned some programs that are considered to be some of the best on their categories:
Music Programs:
audacious audacious-plugins amarok-base amarok-engine-xine
Photography and comic programs:
gimageview gimp ή gimp-devel + gutenprint gphoto2 gtkam f-spot comix evince
Internet Programs:
d4x gftp ή kftpgrabber xchat gaim ή amsn amule
A/V encoding programs:
grip kid3 avidemux k9copy konverter
Astronomy programs:
celestia
Office programs:
openoffice-base openoffice-spell-en openoffice-el
Some of the suggested extra programs:
II-3 Local Repository
Previously, the creation of a local repository was needed, which is very useful. As long as the substructure exists, lets see how we can handle it. Firstly, lets see how the packets of Arch are named and how they should be named:
<program>-<version>-<packet revision>-<architecture>.pkg.tar.gz
The <architecture> variable can only recieve two values:
for amd64
x86_64
for x86
i686
For example if we have:
program: gimageview
version: 0.2.27
packet revision: 4
The packet will be named, depending on the architecture for which it is designed:
for amd64
gimageview-0.2.27-4-x86_64.pkg.tar.gz
for x86
gimageview-0.2.27-4-i686.pkg.tar.gz
Our packets ought to be named this way. In case they are named differently we must rename them.
All these files should be placed on the packages directory we have created before on our local repository. For example:
for amd64
/mnt/repos/arch-local/amd64/custom/packages/
for x86
/mnt/repos/arch-local/x86/custom/packages/
Finally, for every packet on the packages directory, we should have found a text file named:
PKGBUILD
This file should be placed in its own index, inside the "list" directory (always depending on our architecture).
for amd64
/mnt/repos/arch-local/amd64/custom/list/
for x86
/mnt/repos/arch-local/x86/custom/list/
This directory should be named this way:
<program>-<version>-<packet revision>
So, for example, for the above packet (gimageview), depending on its architecture, we should create the index:
for amd64
/mnt/repos/arch-local/amd64/custom/list/gimageview-0.2.27-4/
for x86
/mnt/repos/arch-local/x86/custom/list/gimageview-0.2.27-4/
and place there its PKGBUILD.
Concluding, things are simple:
- Deleting packet from local repository
- erase the packet from the "packages" directory
- erase the whole index from the "list" directory
- Adding packet from local repository
- place the packet in the "packages" directory
- create index using the PKGBUILD of the packet, in the "list" directory
- Renewal of the packet with a new version
- erase the old one as above
- add the new one as above
While finished, dont forget to run once ti update script:
update-local-repo custom amd64
or
update-local-repo custom x86
and redo SYNC with the pacman:
pacman -Sy
II-4 Repositories Preservation
You will need this part only if you have created a separate partition for repositories and you want to keep a local copy of the repositories packages.
Open a new Console with root access and hit:
abs
When the whole procedure ends, open a Midnight Commander with root permissions, and go to the mount-point of the partition for the repositories we made. On our example to /mnt/repos.
Create the following directories:
arch
Inside the above directory create a new directory, depending on our architecture:
for amd64
amd64
for x86
x86
Finally create three more directories inside the directories you have just created:
etc-pacman-d var-cache-pacman-pkg var-lib-pacman-sync
From now on you will have to be very careful as long as everything will be ruined if something goes wrong.
Depending, once again, on our architecture:
for amd64
a. We make copies of these files to the next ones
/etc/pacman.d/ -> /mnt/repos/arch/amd64/etc-pacman-d/ /var/cache/pacman/pkg/ -> /mnt/repos/arch/amd64/var-cache-pacman-pkg/ /var/lib/pacman/sync/ -> /mnt/repos/arch/amd64/var-lib-pacman-sync/
b. Delete the following folders
/etc/pacman.d /var/cache/pacman/pkg /var/lib/pacman/sync
c. Create the following symlinks
/etc/pacman.d -> /mnt/repos/arch/amd64/etc-pacman-d /var/cache/pacman/pkg -> /mnt/repos/arch/amd64/var-cache-pacman-pkg /var/lib/pacman/sync -> /mnt/repos/arch/amd64/var-lib-pacman-sync
d. Copy abs.conf b pacman.conf from one file to the other
/etc/ -> /mnt/repos/arch/amd64/
e. Delete those files
/etc/abs.conf /etc/pacman.conf
f. Create this symlink
/etc/abs.conf -> /mnt/repos/arch/amd64/abs.conf /etc/pacman.conf -> /mnt/repos/arch/amd64/pacman.conf
for x86
a. We make copies of these files to the next ones
/etc/pacman.d/ -> /mnt/repos/arch/x86/etc-pacman-d/ /var/cache/pacman/pkg/ -> /mnt/repos/arch/x86/var-cache-pacman-pkg/ /var/lib/pacman/sync/ -> /mnt/repos/arch/x86/var-lib-pacman-sync/
b. Delete the following folders
/etc/pacman.d /var/cache/pacman/pkg /var/lib/pacman/sync
c. Create the following symlinks
/etc/pacman.d -> /mnt/repos/arch/x86/etc-pacman-d /var/cache/pacman/pkg -> /mnt/repos/arch/x86/var-cache-pacman-pkg /var/lib/pacman/sync -> /mnt/repos/arch/x86/var-lib-pacman-syncg
d. Copy abs.conf & pacman.conf from one file to the other
/etc/ -> /mnt/repos/arch/x86/
e. Delete those files
/etc/abs.conf /etc/pacman.conf
f. Create these symlinks
/etc/abs.conf -> /mnt/repos/arch/x86/abs.conf /etc/pacman.conf -> /mnt/repos/arch/x86/pacman.conf
Go to the root directory "/" in both Midnight Commander's windows and exit with F10.
If everything is right:
Giving:
pacman -Sy
The system should be ok !
It is obvious that this repository could be located on a network partition.
II-5. NVIDIA + Compiz-fusion
In this chapter we are going to install Compiz-Fusion.
You must have an nVidia GeForce5 card or above.
Open a new Terminal:
su -
First we must add the compiz-fusion repository in pacman. Type:
nano /etc/pacman.conf
And at the end of the file add:
for x86:
[compiz-fusion] Server = http://compiz.dreamz-box.de/i686
for x86_64:
[compiz-fusion] Server = http://compiz.dreamz-box.de/x86_64
Save and exit nano.
Now, depending on the desktop we are running:
for Gnome:
pacman -S compiz-fusion-git compiz-fusion-plugins-makebelieve-git
for KDE:
pacman -S compiz-kde-git compiz-fusion-plugins-makebelieve-git fusion-icon-git ccsm-git
Our xorg.conf is already compiz-fusion-ready.
Reboot and when you login Just run:
fusion-icon
Right click on the little rectangle down on the right and choose
for Gnome:
- Select Window Decorator -> GTK Window Decorator
for KDE:
- Select Window Decorator -> KDE Window Decorator
All the above actions need to be done only once.
Finally we choose:
- Select Window Manager -> Compiz
And compiz-fusion is ready !
II-6. Bibliography
Arch Linux
Arch Linux Wiki
Arch Linux Forums
AUR
The Arch Way
Arch Compared To Other Distros
ArchLinux User-community Repository (AUR)
Official Arch Linux Install Guide
Post Installation Tips
Configuring network
Pacman
Groups
Xorg7
ALSA Setup
Arch64 FAQ
II-7. Thanks
I would like to thank the following users (alphabetaically) for their help
EvilHawk
giorgosc61
mach
matersci
ranger
Comments (0)
Subscribe to this comment's feedWrite comment