pesartain.com

where I remind myself what I've accomplished.

Installing Slackware 10.0 Linux on an AMD64 3000

Note: ported from kaear.co.uk, last updated 24/01/2006, 12:08:25

Contents

  • Introduction
  • Hardware
  • Installation
    • Partitioning
    • Status
  • Drivers
    • LAN
    • Sound
    • Video
  • Running X
    • Installation
    • Config File
    • Window Manager / Desktop Environment
    • Startx
  • Applications
    • Mozilla
    • Mozilla Thunderbird
    • xterm
      • - bash prompt
      • - coloured directories
    • CD Burning
  • Mounts/Shares
    • Samba

o ntfsprogs

        o FTP 
  * Other Devices
        o Second DVD Drive
        o Printer 
  * Final notes 

Introduction

This document was intended to read like a diary. In actuality, I lost track of what I did to resolve certain problems shortly after the system became stable enough to use without tinkering with it too much. Some time around getting the GUI up and running, probably.

A review of the document took place when i next looked at it, and I decided that a diary approach, although quite nice, wasn't useful as a for reference for myself or anyone else! Thus it's been rewritten and organised by “problem category”, although the initial setup information has been retained for reference.

Hardware

  • Core:
    • AMD64 3000
    • Abit K8V Pro
    • 512MB RAM
  • IDE:
    • Western Digital 120GB HDD
    • Sony DVD
    • NEC 2500A DVD-R/RW
  • PCI:
    • Audigy2 Platinum (inc. frontpanel & remote)
    • Winfast WinTV2000 XP
    • Abit Siluro GeForce 4 Ti4200 AGP-8x
  • Peripherals:
    • 17” TFT (Monitor 1, DVI socket)
    • 15” CRT (Monitor 2, RGB socket)
    • HP Laserjet 4 (JetDirect card)

Installation

The Boot Disks

Gentoo Universal LiveCD (AMD64 2004.2) - failed to detect LAN chip. Although I could have continued the installation from the burned stages, I was unfamiliar with the procedure for Gentoo installs.

LAN chip now known to be VT6122 LAN Chip, by VIA. Driver available for download from Via's website.

The Slackware boot disk also failed to detect the LAN chip - simply because the whole thing is rather too new, I suspect.

Going with Slackware 10 was less about the classic “Slack vs Gentoo” argument and more about the “Go with what you know” argument. I had installed Slack 9.1 on my laptop (portege7020ct) and it constituted the first real Linux experience I'd had. I wanted to try Gentoo, but the installation procedure confused me more than I wanted to admit - and especially considering my hope for Win/Linux dual boot system, using a whole new distro was more than I could handle at the time.

Partitioning

Partitioned with cfdisk under Slackware 10.

Name	Flags	Size	Pri/Log	Type	Mount	
boot 		50MB	Primary	Ext3	/boot	hda
windows	Boot	10GB	Primary	NTFS	-	hda2
linux-root	10GB	Logical	Ext3	/	hda5
home		90GB	Logical	Ext3	/home	hda7
swap		1GB	Logical	Linux Swap	/swap	hda6
winshare		~9GB	Logical	FAT32	-	hda8

After an initial false start, LILO was installed in the MBR of /dev/hda, and managed (sucessfully) to autodetect the windows partition.

Should you fail to install it in the MBR during the Slackware installation, I found it easiest to run the installation again without selecting any packages to install and without overwriting the existing fstab. When it comes to the install LILO option, choose MBR.

Instantiating user/users: adduser. Then follow the instructions! That, at least, worked first time.

The Status

I should mention that at this point I had a very bare Windows installation, and an equally bare (if not more bare) Linux installation. All of the following processes were hoop-jumping experiences: I would attempt an installation, only to be told some pre-requisite was missing. At this point the Slackware package browser was utilised to discover if the missing pre-requisite had a pre-compiled Slack package (*.tgz). Usually it did, so, as root, installpkg /path/to/package (/mnt/cdrom/slackware/) and attempt to install the initial software. Rince and repeat until the first desired piece of software has successfully installed.

Usually one misses things such as groff, make, kdelibs and so on.

Obviously, if your drivers require compile-tools (especially LAN/connect-to-internet drivers!), you really should make sure you've installed them off the CD.

Drivers

LAN

As mentioned in the first section, the lan drivers are by no means standard yet, so don't expect to find them around on the boot CDs.

Sound

ALSA was installed and configured using the Slack packages off the CD. Upon install, be sure to run alsamixer and set the appropriate volumes, then run “alsactl store” as root and your sound settings will be restored on boot.

Video

The nVidia driver (“nvidia” under X) is a very simple installation procedure that I presume must be reinstalled after every kernel recompile due to the kernel wrapper that is compiled against the kernel. Read “Running X” below for information regarding video drivers.

Running X

X Installation

Slackware 10 uses the X server from X.org, unlike 9.1 which used Xfree86. For a generic single monitor configuration, Slack installs and runs X perfectly - makes it amazingly useable (compared to how it was on my laptop, of course). Plugging both monitors into their correct slots and installing the nVidia driver (http://www.nvidia.com/object/linux.html) got things working as they were on that initial foray into the world of desktop computing and linux ()

Note: You should download and use the IA32 version of the driver unless you have an AMD64 kernel. I tried to run the AMD64 driver and got an error message telling me the above.

Config File Setup

Copying from the old XF86Config (), the xorg.conf (/etc/X11/xorg.conf ) it ran flawlessly. Don't ask me how the config file works anymore, it's simply a matter of reading the readme file and trial-and-error.

Also check for your desired desktop environment using the Slackware package browser (www.slackware.com) - it's wonderfully easy to installpkg . For those who are interested: I'm using Xfce4.2 (www.xfce.org), in addition to the Rox Filer (http://rox.sourceforge.net/phpwiki/index.php/ROX-Filer) and xterm (http://dickey.his.com/xterm/xterm.faq.html).

Desktop Environment / Window Manager

I could spend days and days writing compare & contrast pieces regarding the two “phrases” above - but many people have already done it. This document was a particularly succint one that covers the major players.

At the time of writing, I personally have used:

  • Twm
  • Blackbox
  • Fluxbox
  • WindowMaker
  • KDE
  • Xfce

My rule of thumb is simply: if it's too slow to run KDE, move to Xfce, if that's still overkill - use Blackbox. If you want to know how something works, try it. Slackware 10 ships with all of the above and a whole bunch more.

Startx

KDE (and Gnome) have graphical login managers - aesthetically similar at least to the way you login through Windows. I found that on my Toshiba ( the GUI login was too processor intensive for my liking, and I didn't always need to get into KDE (my first desktop!) to do what I needed to do.

As a result, I've tended to kill any gui login on install and default to a shell login - getting into your chosen DE/WM is done using the command “startx” from command line.

Upon calling startx, one file becomes particularly important, the other two not so:

.xinitrc
.Xdefaults
.Xresources

.xinitrc is the file that tells the X server what desktop environment to instantiate (and it does other stuff), while the other two are optional and I believe are not created on a fresh install of Slack 10. Xfce uses a rather long winded startup method (ie, unlike Blackbox it doesn't have a single binary to execute). I copied the suggested script from the site and produced a startup script named .xinitrc.xfce4, which was then called from .xinitrc.

The final lines of .xinitrc (including the above edit) looks like this:

# To start xfce:
.xinitrc.xfce

Applications

Mozilla (Web browser)

Getting Mozilla (Firebird 1.0PR sucks compared to Firebird 0.81, imho) to open up multiple instances of itself: http://dan.hersam.com/archives/category/linux

Mozilla Thunderbird (Email client)

Mozilla Mail doesn't accept new files in it's directory tree like Thunderbird does, although theoretically once Thunderbird has built the .mdf files - you could move them all into the Mozilla Mail path.

Migrating from Evolution to Thunderbird

xterm

Prompt issues

The prompt in xterm by default is simply “bash-2.05$”. I like knowing where I am! To change the prompt xterm (and other terminals, although there are many many rules regarding how emulated terminals works) you need to check the following:

~/.bashrc
~/.bashprofile
/etc/bashrc
/etc/profile

For more details of this lot, try these: http://www.fr.linuxfromscratch.org/view/blfs-1.0/postlfs/profile.html
http://www.hk8.org/old_web/linux/run/ch04_15.htm
http://www.network-theory.co.uk/docs/bashref/bashref_56.html

If none of that is useful, use the search phrase “Bash startup files” and see what you dig up in your favourite search engine.

Other Bash prompt resources http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/
http://www.network-theory.co.uk/docs/bashref/bashref_56.html
http://networking.ringofsaturn.com/Unix/Bash-prompts.php

The ultimate goal of all of this is to set your prompt to something else. I like to see:

<user>@<host>: <cwd>$

Which in bash prompt language resolves to:

'\u@\h:\w\$ '

The environment variable used to set the prompt is PS1, so in the end you want the following to be located somewhere in your bash startup files:

PS1='\u@\h:\w\$ '
export PS1

I put the PS1 line I wanted under the final else statement in /etc/profile - rummage around in there and look for the “Set a default shell prompt:” section, you'll see it.

I couldn't get this alone to work - although by rights it should.

The next step was to try ~/.bashrc. A quick copy & paste

# .bashrc

# User specific aliases and functions

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
if [ -f ~/.xinit.d/xim ]; then
export EMACS_IME='Cat ~/.xinit.d/xim'
fi

PS1='\u@\h:\w\$ '
export PS1

To be frank, I have no idea what purpose some of that surves, and why it's in there, but I copied it anyway. The important thing was to re-run /etc/bashrc on startup to provide the much required prompt.

I don't think that worked, either.

And finally, ~/bash_profile had the following added to it:

PS1='\u@\h:\w\$ '
export PS1
. /etc/bashrc

In the end, I went with the “Oh sod it!” approach and exported PS1 directly, no ifs, no elses (no buts?) and things seem to have worked.

There is some problem involving PS1 whereby it gets destroyed when opening up non-interactive prompts under X - or that may be not entirely correct. The net result is that PS1 disappears, so you end up with the evil “bash-2.05$” prompt.

Coloured prompts

My other gripe is the lack of coloured prompt on xterm and when su'ing on other terminals. The solution? No idea, precisely, but I do know that adding the following lines:

Xterm*background: black
Xterm*foreground: white
Xterm*scrollbar: on

To the following files:

~/.Xdefaults
~/.Xresources

And, in /etc/bashrc, adding:

export TERM=color
alias ls='ls -CF -color=auto'

Gets the desired result.

CD Burning

Accomplished using a bunch of command line programs, and an associated GUI. If you're using KDE, I've heard excellent things about K3B. For Gnome I believe there's something similarly specific.

For the rest of us, there's XCDRoast.

Good, in it's own way, but it's nothing like Nero Burning ROM, or even Adaptec's EasyCDCreator.

My advice for people moving from windows to Linux who have made it this far is one of command line.

As an aside, see this article for interesting observations about the command line.

To duplicate my own efforts, you will need (in no particular order) to get a hold of the following (“package (version)”):

  • cdrdao (1.1.9)
  • cdrtools (2.00.3)
  • ProDVD (2.01 [maybe?] i586-pc-linux-gnu)
  • xcdroast (0.98alpha15)

Installation/setup is as-per instructions. The hardest part was sorting out ProDVD - but like all Linux issues, it's usually solved by very carefully following instructions (see here for ProDVD instructions).

The howto manual that can be found on the xcdroast site is very clear, provided you clear your mind of any Nero-esque notions beforehand.

Mounts / Shares

Samba

Setup /etc/samba/smb.conf - RTFM is the answer to most of the problems out there regarding smb.conf. However, I always forget the simple task of using smbpasswd to instantiate the users for the daemon.

Add a user: smbpasswd -a $user Change user password: smbpasswd $user

ntfsprogs

If, like me, you only have a single-user system (that is, you only have 1 user login) then you'll find it incredibly frustrating to only be able to read any NTFS partitions (namely the win partitions used in the dual-boot) as root! It is perfectly simple to allow users read access to these partitions using the umask function of ntfsprogs in fstab.

The final fstab looks like this:

/dev/hda6 	swap 		swap 		defaults 		0 0
/dev/hda5 	/ 		ext3 		defaults 		1 1
/dev/hda1 	/boot 		ext3 		defaults 		1 2
/dev/hda7 	/home 		ext3 		defaults 		1 2
/dev/hda2 	/mnt/windrive 	ntfs 		auto,user,umask=0222 	0 0
/dev/hda8 	/mnt/winshare 	vfat 		auto,user 		0 0
/dev/cdrom	/mnt/cdrom 	iso9660 	noauto,user,ro 		0 0
/dev/hdd	/mnt/dvdrw 	iso9660 	noauto,user,ro 		0 0
/dev/fd0	/mnt/floppy 	auto 		noauto,user 		0 0
devpts	/dev/pts 	devpts 		gid=5,mode=620 		0 0
proc		/proc 		proc 		defaults 		0 0

Take note of the additional umask=0222 option when mounting the ntfs tab. The details on using this can be found here.

Other Hardware

Second DVD Drive

Devices attached to IDE channels can all be referenced in the same manner:

  • Primary master: hda
  • Primary slave: hdb
  • Secondary master: hdc
  • Secondary slave: hdd

If it's a hard disk drive, you would append a number on the end to represent a partition, but you can simply use /dev/hdx (where x is a, b, c or d) to reference other IDE devices such as CD/DVD drives.

I have a DVD drive and DVD-RW drive. Slackware creates a sym-link called /dev/cdrom that links to the first CD-esque device it finds, but doesn't bother looking for anymore - if you want them, you have to fish them out yourself.

Create a new directory in /mnt/, copy the permissions from /mnt/cdrom and add the necessary line into fstab.

For permissions:

chmod 755 $new-mount-point

Printer

lpd and apsfilter are the 2 key ingredients to getting a printer running under Slack. Install both packages, plus any other pre-requisites (ghostscript and a2ps spring to mind) and follow the instructions for installing your printer using apsfilter.

Mine's installed under /usr/share/apsfilter, thus I run /usr/share/apsfilter/SETUP (as root) and configure the necessary. Having a JetDirect card in my printer meant using the following key options:

  • Printer driver: ljet4d
  • Interface setup: network
  • Default Printing Method: auto

Run through each option, sorting as applicable and then run a test page. Be aware that lpd must be running before you attempt the test page.

To verify if your printer is where you think it is, use telnet from the command line to try and telnet over to it. Mine is fixed on a static IP address, so I'll always know where we are.

Final Notes

This document used to be a lot bigger, because at the time I was converting from Windows to Linux, so a lot of this is pertinant to that. However, because I think that the two are large issues on their own, I broke the document up. You'll find basically the Windows-Linux conversion process part of this document under the Articles section of the site.

Don't forget to read the other Linux sections for more information.

Who am I? I answer to Piete or Pieter and I try to be more than just my job title.

Browse my blog, read about me, or listen to my music.