############################################################################### Notes from Installation of Slackware-12.00 ############################################################################### These are my re-worked annotated notes from installing Slackware-12.00 on my workstation. They may seem a bit terse at times but man pages, how-to's, forums and google can fill in the details if needs be. I will only detail set up on workstation There is another set of notes which will detail how our server is set up Box specifications are as follows. Gigabyte K7 series motherboard with an AMD Athlon XP-2800+ CPU and 1.5 Gb RAM. The spec's are very similar for our other workstations so these notes are relevant to all machines except for the server which I'll keep on Slack-11 awhile longer. I have never used the onboard graphics or audio on this motherboard which has lived in two seperate cases since purchase three years ago. Instead I have installed a generic 10/100 nic, a budget AudioExcel 6 channel sound card, a Dvico Fusion HDTV DVB-T (video) card and a a Nvidia GeForce2 MX/MX 400 graphics card. The Monitor is a 19" widescreen LCD Fujistu with common garden variety generic mouse and keyboard. Relevant lines from lspci are directly below: 00:09.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10) 00:0a.0 Multimedia audio controller: C-Media Electronics Inc CM8738 (rev 10) 00:0b.0 Multimedia video controller: Conexant CX23880/1/2/3 PCI Video and Audio Decoder (rev 05) 00:0b.2 Multimedia controller: Conexant CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (rev 05) 01:00.0 VGA compatible controller: nVidia Corporation NV11 [GeForce2 MX/MX 400] (rev b2) The hardware may seem a bit long in the tooth to some, but it gives me no trouble and with Slackware installed it is quite responsive and only bogs down a bit when processing/encoding videos as would be expected. Total time for install from dvd boot was 17 minutes or so including post install configuration before rebooting at end of install. For the most part, what follows is some pre-install things I did and how I configured the maqchine post install. I have omitted most of the actual installation as it is pretty routine and is documented well enough by others. In some cases I will only provide a brief explanantion and the commands I used. This may be fine for some and either educational or frustrating for others. Take your pick. Do not neglect to read notes and README's and the RELEASE_NOTES, Slackware_HOWTO, et.al. that are found on the install disk(s). ############################################################################### Intro (above) Pre-Install: 1. Backing up existing data 2. Partitioning Post Install: 3. Selecting Services 4. Network Configuration 5. Accessing cdrom and/or dvd 6. Changing kernels and mkinitrd 7. Changes to lilo boot loader 8. Setting up Nvidia module 9. Changing default runlevel 10. Adding users and working as root. 11. Accessing network file shares (NFS) 12. /etc/fstab 13. Accessing network printers 14. Accessing network scanning 15. Accessing DVB devices 16. Getting HAL working 17. /usr/local 19. Installing stuff 20. KDE config setup/config 21. Installing Digikam ############################################################################### 1. Backing up existing data I am not in a hurry to install the latest and greatest anymore. I have found a deliberate and methodical approach is best. First comes backup. Prior to this install I will be shifting around hard drives and re-partitioning in this. The first thing I will be doing is backing up my personal directory, /usr/local/, opt /etc and /usr/local. /usr/local contains allot of my own scripts plus fonts, backgrounds, etc. /opt contains some self contained applications like Moneydance, Crossover Office, Open Office, etc that do not have to be re-installed. Normally I would leave these intact by not formating them during an install. Since I'm re-partitioning they need to be backed up this time around. This workstation is on a network and these directories/partitions are periodically backed up with the backup utility cpbk in scripts run as cron jobs. I'll run the backup scripts manually this time around. The utility cpbk is a simple CLI application that suits me just fine although there's lots of newer things around. Backups go to NFS directories located on another box. Here is what one of the scripts look like. #!/bin/bash ##################################################################### # backup_"name-here" RM 20050111. # This script requires cpbk. I use it for backing up to a networked # box that also provides print /scanner shares as well as access to # saved dvb-t programs. # I keep cpbk in /usr/local/bin, and the cpbk config files (one for # each back up directory) in /usr/local/etc/cpbk. The path/directory # where the log files go is up to you. /var/backups on any box on my # lan is an nfs share on a server so this script # Check out the manpage for cpbk. There is an example config included # in the cpbk package ##################################################################### # Change variable to suit. SRCDIR=/etc # This says /etc but will be relevant only in host system. NAME=etc-rick # Change accordingly. echo "Starting backup script for $SRCDIR `date`" > /var/backups/var/log/backups/$NAME cpbk -c /usr/local/etc/cpbk/cpbk_$NAME echo "Backup of $SRCDIR completed `date`" >> /var/backups/var/log/backups/$NAME echo "Total size of $SRCDIR is `du -sm /var/backups$SRCDIR | \ awk '{print substr($1,0,8)}'` mb." >> /var/backups/var/log/backups/$NAME There are two hard drives in this box, 160 gb (/dev/hda) and 80 gb (/dev/hdc) with the smaller one being a later addition. The 80 gb hd holds all my mp3's plus some video created from digital TV broacasts (legal for personal use here). There are also some more multimedia files on a 90 gb paartition on the larger disk I want to change things around so that my installation goes onto the 80 gb hd and the 160 gb hd becomes my media repository. There's not enough room on the server for this right now so I'll have to be creative. First I copy everything over onto dev hdc. Then I say goodby to anything left on /dev/hda and reboot with my Slackware-12 install dvd in the slot. The Slackware install disk boots into a virtual Busy Box system with everything I need, After entering root at the promp I will: a/ Re-partition /dev/hda into one partition (hda1) using cfdisk b/ Format /dev/hda1 using the command mkfs.jfs c/ Use mkdir to create a /hda1 and /hdc1 in my root (virtual) filesystem d/ Use mount to mount the devices as filesystems, e.g. mount /dev/hdc1 /hdc1 e/ Cd into /hdc1 and cp -pr ./* /hda1 to copy evrything onto hda1 (the 160 gb hd) f/ Once everything is copied over, reformat /dev/hdc with the partitions I want for my new install g/ Shutdown the box After power down I will switch around my hard drives so that the 80 gb hd is now connected to be /dev/hda and the 160 gb hd will now become /dev/hdc. since the both remain masters on there respective IDE cables, I do not have to changes jumpers around. ############################################################################### 2. Partitioning Partitioning actually happened above. However, it's worth noting that cfdisk is my choice for partitioning if it's on board. In fact the man page for fdisk recommends using cfdisk. You can read why at the bottom under the heading BUGS. Cfdisk is easy to use and after playing around partitioning something a couple times. This is what the CLI display from cfdisk looks like now for my /dev/hdc (formerly hda). cfdisk 2.12r Disk Drive: /dev/hdc Size: 160041885696 bytes, 160.0 GB Heads: 255 Sectors per Track: 63 Cylinders: 19457 Name Flags Part Type FS Type [Label] Size (MB) -------------------------------------------------------------------------------------------------------------------------- hdc1 Primary Linux JFS 160039.28 [Bootable] [ Delete ] [ Help ] [Maximize] [ Print ] [ Quit ] [ Type ] [ Units ] [ Write ] Toggle bootable flag of the current partition Below is my partitioning for /dev/hda through the courtesy of cfdisk. cfdisk 2.12r Disk Drive: /dev/hda Size: 80026361856 bytes, 80.0 GB Heads: 255 Sectors per Track: 63 Cylinders: 9729 Name Flags Part Type FS Type [Label] Size (MB) -------------------------------------------------------------------------------------------------------------------------- hda1 Boot, NC Primary Linux ReiserFS 3503.97 hda5 Logical Linux swap 1003.49 hda6 Logical Linux ReiserFS 8356.89 hda7 Logical Linux ReiserFS 6423.95 hda8 Logical Linux ReiserFS 6423.95 hda9 Logical Linux ReiserFS 12477.75 hda10 Logical Linux ReiserFS 8356.89 hda3 Primary Linux JFS 33476.89 [Bootable] [ Delete ] [ Help ] [Maximize] [ Print ] [ Quit ] [ Type ] [ Units ] [ Write ] Toggle bootable flag of the current partition This is what it all means in relation to my new Slackware-12.0 install. Filesystem Size Used Avail Use% Mounted on /dev/hda1 3.3G 211M 3.1G 7% / /dev/hda6 7.8G 2.8G 5.1G 35% /usr /dev/hda7 6.0G 33M 6.0G 1% /usr/local /dev/hda8 6.0G 33M 6.0G 1% /opt /dev/hda9 12G 33M 12G 1% /home /dev/hda10 7.8G 33M 7.8G 1% /mnt/hda10 /dev/hdc1 150G 64G 87G 43% /mnt/hdc1 Note that I will be using hda10 and hdc1 for media files and that jfs is my preference because it is fast which matters allot if you are deleting very large files. Otherwise I prefer using reiserfs. Later on I will symlink /mnt/hda10 and /mnt/hdc1 as /home/rick/mediafiles and /multimedia respectively for easier access. I have not yet my backups into the partitions listed above for /usr/local, /opt and /home/rick. ############################################################################### 3. Selecting Services There are only two parts of the installation that I will discuss here. One involves the selection of startup services. towards the end of an install there is an opportunity to select what optional services I want to start at boot. My selection was cups hald inetd messagebus ntpd rpc scanluns syslogd sshd I did not select hplip because I will be accessing printers via CUPS server on another box. I deselected pcmcia which is useful for laptops. but not a PC. This is not the complete list of services/daemons that will run on this box. Check out /etc/rc.d for all of them. Running them at boot is simply a matter of whether or not they are executable. ############################################################################### 4. Network Configuration I was also presented with the option of configuring my network during the installation which I took up. We use a D-Link DSL-502T for our ADSL connection. The modem is our internet gateway and it has been set up with a permenent IP address of 192.168.1.1. Going down the list of questions: a/ I have given this box the hostname "rick" b/ My domain is miles.home, it could be anything c/ The lan uses static IP d/ The IP of this box is 192.168.1.2 e/ Netmask is default 255.255.255.0 f/ The gateway is 192.168.1.1 g/ Our ISP assigns our DNS, I answer "yes" and provide our ISP's primary DNS If you miss this configuration or get it get it wrong you can always run "netconfig" as root some other time, go through the list of questions again and change your network settings. ############################################################################### 5. Accessing cdrom and/or dvd drives I have a dvd/cd drive on /dev/hdb. The install creates a /dev/cdrom that points to /dev/hdb. There is also a line added to the /etc/fstab for a /dev/cdrom to be mounted on /mnt/cdrom which has also been created by default, i.e. #/dev/cdrom /mnt/cdrom auto noauto,owner,ro 0 0 I will uncomment this line and make a few other changes: /dev/hdb /mnt/cdrom auto noauto,users,ro 0 0 /dev/cdrom is OK but I prefer to think of it as it is, ide hdb. Changing "owner" to "users" will allow users other than root to mount/unmount the drive. This can work just fine even though I also have HAL enabled. If all I did was access the drive via my KDE desktop HAL might be all I need but I do allot of stuff CLI and like to be able to mount a mount point in the file system and cd into it. I have yet to figure out where this /media/system is and how to cd into anything therein. ############################################################################### 6. Changing kernels and mkinitrd I don't need everything provided by the default huge-smp kernel so before I set up my Nvidia and DVB modules I'll have to make a few changes so I'm running the 2.6.21.5-generic kernel. It is actually recommended in the CHANGES_AND_HINTS.TXT to switch over to one of these, "It is recommended that you use one of the generic kernels (either the plain kernel-generic or kernel-generic-smp) for daily use." First I'll need to modify my kernel source as per the README found in /extra/ mount my dvd drive here's the commands I used: root@rick:# /mnt/cdrom root@rick:# cd /mnt/cdrom/extra/linux-2.6.21.5-nosmp-sdk/ root@rick:# ls README.TXT kernel-headers-2.6.21.5-i386-2.txt kernel-headers-2.6.21.5-i386-2.tgz linux-2.6.21.5-smp-to-nosmp.diff.gz kernel-headers-2.6.21.5-i386-2.tgz.asc patch-to-non-smp.sh root@rick:# less README.TXT root@rick:# ./patch-to-non-smp.sh Running that the patch-to-no-smp.sh script has modified my kernel source I'll make some changes so the I'm booting the generic.s kernel. root@rick:# cd /boot root@rick:# umount /mnt/cdrom root@rick:# eject root@rick:# rm vmlinuz root@rick:# ln -s vmlinuz-generic-2.6.21.5 vmlinuz Now that vmlinuz points to the generic-s kernel I'll have to also make an initrd that will include modules for both reiserfs and jfs: mkinitrd -c -k 2.6.21.5 -m reiserfs:jfs Everything here comes from /boot/README.initrd and /mnt/cdrom/extra/linux-2.6.21.5-nosmp-sdk/README ############################################################################### 7. Changes to lilo boot loader I will also have to edit my /etc/lilo.conf and add a line to load the initrd. This is a good time to clean up the original lilo.conf created post install and get rid of all the unnecessary comments. My final lilo.conf looks like this: # LILO configuration file # Start LILO global section boot = /dev/hda # message = /boot/boot_message.txt prompt timeout = 120 # Override dangerous defaults that rewrite the partition table: change-rules reset # VESA framebuffer console @ 1024x768x256 vga = 773 # End LILO global section # Linux bootable partition config begins image = /boot/vmlinuz initrd = /boot/initrd.gz root = /dev/hda1 label = Linux read-only # Linux bootable partition config ends I will have to run /usr/sbin/lilo before shutting down a rebooting into the generic.s kernel. This give me a message: "Warning: LBA32 addressing assumed" This is something I've never had before but it iis just a warning message and everything works just fine upon rebooting. root@rick:# lilo Warning: LBA32 addressing assumed Added Linux * One warning was issued. root@rick:# ############################################################################### 8. Setting up Nvidia module Now that my kernel source has been patched and I'm running the generic.s kernel I can compile and install my nvidia driver by running the script, NVIDIA-Linux-x86-1.0-9639-pkg1.run, which I downloaded from the Nvidia website. This one works with my chip/card. I'll let it also modify /etc/X11/xorg.conf so that the next time I boot. The xorg.conf that was setup during install had the following for my graphic devic: Section "Device" Identifier "VESA Framebuffer" Driver "vesa" #VideoRam 4096 # Insert Clocks lines here if appropriate EndSection After running this script it looks like this: Section "Device" #VideoRam 4096 # Insert Clocks lines here if appropriate Identifier "VESA Framebuffer" Driver "nvidia" EndSection This is all I'll worry about for now. I can change my monitor settings later. The defaults are safe enough to use. I'll play with compiz settings some other time. This install is for a working box not a crash and burn box. ############################################################################### 9. Changing default runlevel This is pretty simple. when prompted during post install setup I selected xinitrc.kde for my default window manager. To have KDE start up at boot I need to boot into runlevel 4, not 3. To do this I will edit the line 24 of /etc/inittab from "3" to "4" # Default runlevel. (Do not set to 0 or 6) id:4:initdefault: ############################################################################### 10. Adding users and working as root. This shouldn't be necessary but I'll say it anyway, Create users and don't work as root unless you have to. I very rarelyt log into an x-session as root. Almost everything I need to do as an administrator can be done from a command line either in or out of X. In a pinch, if I want to use a KDE application such a kuser I will do an Alt-F2 then enter "kdesu kuser". The command kdesu will work cli in konsole as well. You can als0 change from a user to root in konsole with the command "su" and when you have finished what you want to do change back to a user with "su [username]" I have verey limited experience with Xfce so I can not say if there are any comparable commands in that desktop. ############################################################################### 11. Accessing network file shares (NFS) Our server has a hostname "box" and is found at 192.168.1.4. We have a large hard drive on this box used for saving and storing digital televison programs (timeshifting dvb-t). A the largest partition on hda is used for backups from workstations as discussed above. We access these drives/partitions with NFS. I discuss this in greater detail in my server notes and the NFS Howto explains it very well. Suffice to say here that all I need to do is create the NFS mountpoints on this machine add two lines to my /etc/fstab root@rick:# mkdir /videos root@rick:# mkdir /var/backups 192.168.1.4:/mnt/hda8 /var/backups nfs rw,hard,intr,rsize=24576,wsize=24576 0 0 192.168.1.4:/mnt/hdd1/videos /videos nfs rw,hard,intr,rsize=32768,wsize=32768 0 0 ############################################################################### 12. /etc/fstab This is what my /etc/fstab now looks like. /dev/hda5 swap swap defaults 0 0 /dev/hda1 / reiserfs defaults 1 1 /dev/hda6 /usr reiserfs defaults 1 2 /dev/hda7 /usr/local reiserfs defaults 1 2 /dev/hda8 /opt reiserfs defaults 1 2 /dev/hda9 /home reiserfs defaults 1 2 /dev/hda10 /mnt/hda10 reiserfs defaults 1 2 /dev/hda3 /mnt/hda3 jfs defaults 1 2 /dev/hdc1 /mnt/hdc1 jfs defaults 1 2 192.168.1.4:/mnt/hda8 /var/backups nfs rw,hard,intr,rsize=24576,wsize=24576 0 0 192.168.1.4:/mnt/hdd1/videos /videos nfs rw,hard,intr,rsize=32768,wsize=32768 0 0 /dev/cdrom /mnt/cdrom auto noauto,users,ro 0 0 /dev/fd0 /mnt/floppy auto noauto,owner 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 proc /proc proc defaults 0 0 In Slack-11.0 I used the following /etc/fstab line for mounting my combo usb mp3/memstick: /dev/sda1 /mnt/rumba vfat noauto,users,umask=0 0 0 This will also work in Slack-12.0. I knew that if no other similar usb device was plugged in, that this device would always be assigned /dev/sda1. Hal does this kind of stuff automatically. To ensure that the same device assignment every time you would have to create a udev rule. I still haven't wrapped my head around HAL and maybe I'll decide I don't need/want it. My 13 yo daughter is quite happy just using her mp3 player with the above fstab setting and a (device) icon on her desktop. ############################################################################### 13. Accessing network printers In previous versions of Slackware the was a /etc/cups/client.conf file that could be edited so that cups on the workstation knew where to find the network printers. This file is not to be found in Slackware-12.0 but the solution is simple for me. I create a file named /etc/cups/client.conf and add one line to the file, "ServerName 192.168.1.4". When I restart the cups server with "/etc/rc.d/rc.cups restart" I will be able to access my network printers. I discuss setting up network printers with CUPS more thoroughly in my server notes. ############################################################################### 14. Accessing network scanning To access my network scanner I will have to make sure that /etc/sane.d/net.conf looks like this: # localhost 192.168.1.4 and /etc/saned.d/dll.conf has a line a containing the single word "net". On a clean install this should be the first line in this file anyway. I discuss setting up network scanning with SANE more thoroughly in my server notes. ############################################################################### 15. Accessing DVB devices I had to compile my dvb-t modules for 2.4 and 2.6 kernels and do some tweeking in /etc/udev to create /dev/dvb/[devices] on Slack-10.1. This was not the case in Slack-11 where the 2.6 kernel in testing had the modules I needed for my dvb-t card and the scripts were already included in /etc/udev. In Slackware-12.00 it's back to compiling my own dvb-t modules. For some reason the correct modules appeaer to be onboard but devices are not being correctly recognised at boot and consequently udev doesn't do its stuff and create the devices root@rick:# ls -l /dev/dvb ls: cannot access /dev/dvb: No such file or directory I can fix this by compiling and installing modules with the latest source from the package v4l-dvb found at www.linuxtv.org. Linuxtv uses mercurial to access their cvs repository. I downoload mercurial-0.9.4 as a tarball, extract it to a directory, cd into that directory, and compile mercurial with "make local". I will not install mercurial but from within this directory I will run the command: ./hg clone http://linuxtv.org/hg/v4l-dvb to retrieve the v4l-dvbs source tree which will be downloaded into the same mercurial-0.9.4 directory. I use "make" and "make install" to compile my new modules. Normally I am fussy about only installing things as slack packs but in the case Of installing modules this is not an issue for me After rebooting I can see in dmesg that my devices are now being recognised and registered correctly: cx88[0]/0: found at 0000:00:0b.0, rev: 5, irq: 10, latency: 32, mmio: 0xe2000000 cx88[0]/0: registered device video0 [v4l2] cx88[0]/0: registered device vbi0 cx2388x dvb driver version 0.0.6 loaded cx8802_register_driver() ->registering driver type=dvb access=shared CORE cx88[0]: subsystem: 107d:665f, board: WinFast DTV1000-T [card=35] cx88[0]/2: cx2388x based dvb card DVB: registering new adapter (cx88[0]) DVB: registering frontend 0 (Conexant CX22702 DVB-T). While the kernel modules needed to be compiled udev in Slack-12.0 needs no tweeking and it creates my dvb-t devices root@rick:# ls -l /dev/dvb total 0 drwxr-xr-x 2 root root 120 2007-08-11 21:10 adapter0 root@rick:# ls -l /dev/dvb/adapter0/ total 0 crw-rw---- 1 root video 212, 4 2007-08-11 21:10 demux0 crw-rw---- 1 root video 212, 5 2007-08-11 21:10 dvr0 crw-rw---- 1 root video 212, 3 2007-08-11 21:10 frontend0 crw-rw---- 1 root video 212, 7 2007-08-11 21:10 net0 ############################################################################### 16. Getting HAL working I'm not quite sure I'll stick with HAL on this box but I'll set up as per R. Workmans kind advice "12.0 and HAL - READ THIS!" at http://www.linuxpackages.net/download.php?id=9970 This is a matter of adding users to the groups plugdev, power, cdrom, video and running "/etc/rc.d/rc.messagebus reload". There's lots of ways to add users to groups, you can sort that out yourself. ############################################################################### 17. Copy over old /usr/local If you have a look, you will find that post install athe /usr/local directory tree will be empty. We use /usr/local for personal stuff only. All our boxes are setup with /usr/local on its own partition so it is not overwritten on new installs. /usr/local/bin only contains scripts and C aps that I have written for my own use. The other significant directories are in /usr/local/share comprising backgrounds, icons, fonts, howto's and notes I have set aside over the years. Additionally, /usr/local/source is a personal software repository. I keep a copy of all installed software, hard to find source code, etc. here. This partition is regularly backed up on my workstation and it is a simple matter to copy recursively the complete backup onto my newly installed system. As root the command would be: scp -pr /192.168.1.4:/backups/usr/local /usr/local If backed up, I can do the same with any users home directory as well although with /home always on the same partition they would never be intentionally lost during an install unless I have reformatted or repartitioned. ############################################################################### 18. Installing stuff As you might guess from above, I do not install software software in /usr/local. when building your own remember to use ./configure --prefix=/usr. This goes for KDE aps frpm now on too. Here are some random thoughts on packaging and installing software. I have no complaints with regards to how packages are managed in Slackware. Indeed both the simplicity of the package system as well as the ease in which most things could be compiled were factors which attracted me to Slackware. I prefer installing/uninstalling with Slackware's "pkg" tools. Unlike some, I do not consider RPM's evil, but I don'y use them and on the very rare occasion when I have needed an obscure library that was only available as an rpm, and not source, I have used "rpm2tgz to convert the rpm to a slackpack. I will not go into any specific details here. Suffice to say that there are some major changes in Slackware-12.0 and while some packages from earlier versions may work. Note that KDE now lives in user and the prefix for KDE aps is no longer /opt. I will only be installing slack-12.0 packages or compiling and packaging my own for our boxes. Since release, the package repositories and slackbuild sources have been filling up with new packages and scripts but I will still need to compile from scratch applications like Gopdit, for editing mpeg.ps files, and Geany, a lightweight IDE a use for C programming. Compiling packages is not difficult in most cases. There are lots of information available on the web including one I wrote which can be found at linuxpackages.net as "Source Install" or on my website here: http://www.turtlespond.net/help/tarballs.html. Make sure you know what your dependencies are and that you have whats required installed first me say that when compiling my own packages My first stop after unpacking the source code is The README and INSTALL files. Don't compile without reading the docs included with source. Checkinstall has always been a convenience when I compile my own slackware packages but it is not working right in Slack-12 and rather than fiddle around with making it work right I have been building my own packages with "makepkg" see the man page on its use and check out the howtos at linuxpacakages and elsewheren building packages. This is not that diificult and does not take much more time. I've seen some complaints posted by people bemoaning how long package creation takes without checkinstall. AFAIC, if this is more of an issue than the integrity of their system perhaps they are running the wrong distro. ############################################################################### 19. KDE setup and config things I have no complaints about using KDE (other than maybe ARTS) and while I do use none KDE applications I appreciate the merits of using an integrated desktop. This install I decided to set up a new user directory and copy in my configs, archives and most of the other junk that has accumulated of the years. Sometimes I start off with new settings for applications and sometimes I start off with a fresh new configs. This is simply matter of copying your old ~/.kde (or any other config) into your new home directory. To keep all my Kmail settings I need to copy in my backed up ~/.kde/share/config/kmailrc and ~/.kde/share/config/apps/kmail. My address book is in my backed up ~/.kde/share/apps/kabc so this direcory has to be copied over too. For sound I prefer ALSA so I will set Control Center > Sound & Multimedia > Sound System > Hardware to Advanced Linux Sound Architecture. I like using Kscd for playing cd's but its never configured right after a new install. In Extras > Configure Kscd > CD Player I tic "Use direct digital playback" and change the slection from "arts" to "alsa". All I want are my konqueror bookmarks so I'll copy over ~/.kde/share/apps/konqueror/bookmarks.xml to my new home directory. I have a hundred or so fonts I have collected from here and there which come in handy from time to time. I install them globally via Control Center > System Administration > Font Installer. This can only be done in Administrator Mode. The button is at the bottom. I will not be able to use cdrecord as a user without changing permissions. I can do this via K3b with Settings > Setup System Pemissions... ############################################################################### 21. Installing Digikam This is the first KDE packages that presented a challange albeit I do not think it was a specifically Slackware-12.0 problem We have a Canon Powershot A400 digital camera and access photos and clips on it via digiakam. The packages required to run Digikam are listed in the slack-required file found at http://www.slacky.eu/repository/slackware-12.0/graphic/digikam/0.9.2/src/. However, that list includes everything some of which are included in the default install if you just want to know what I started out with which were all downloaded from slacky.eu, here it is: digikam-0.9.2-i486-1sl.tgz libkexif-0.2.5-i486-1sl.tgz digikamimageplugins-0.9.1-i486-1sl.tgz libkexiv2-0.1.5-i486-1sl.tgz exiv2-0.15-i486-1as.tgz libkipi-0.1.5-i486-1sl.tgz jasper-1.900.1-i486-1sl.tgz sqlite-3.4.2-i486-1sl.tgz libkdcraw-0.1.1-i486-1sl.tgz Note that Gphoto2 is not required to run Digikam but the slack-required file calls for >= libgphoto2.2.4.0 but I found that that I could not get this to work with my camera. It was recognised but the files could not be accessed. I tried to cpmpile my own libgphoto2.2.4.0 but I had the same problem. The libgphoto2 package I had originally tried from slacky.eu was: libgphoto2 >= 2.4.0-i486-1sl On my test install of Slackware I had Digikam working with a mix of packages compiled for Slack-11 and some I compiled on 12.0. These included a recently downloaded Gphoto-suite which contained libgphoto2-2.3.1. This worked with the following lines in /etc/udev/rules/10-local.rules: BUS!="usb", ACTION!="add",GOTO="libgphoto2_rules_end" SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="30b7", MODE="666", GROUP="camera", SYMLINK+="camera" These are the same lines (in the same file) that I used in slack-10.2 and 11.0. They work. libgphoto-2.3.1 and later will generate an /etc/udev/rules.d/90-libgphoto2.rules. I suppose that will work but since I already had created a group named camera and put the users in it, I'll keep it the way I'm used to doing it. This topic was discussed by myself and others at http://www.linuxquestions.org/questions/showthread.php?t=577445&highlight=digikam ############################################################################### I hope this all will prove usefull to others. That's all for now. Perhaps I'll add more at a later date. Cheers rickmiles at turtlespond dot net