Wednesday, December 24, 2008

Happy Holidays everyone!

I've been taking a break from computing for a week or so, and I'm just now back and rarin to go!

Got a hold of a Dell Inspiron laptop 5000e with 64 megs of ram, a 5 gig hard drive and no networking. Ordered some parts to upgrade the ram to 512 megs and a wireless pcmcia card for networking, and every single part did not work. So I'm waiting on an rma for these, and in the meantime decided to see if XP pro would even install on it. It did, and performance is actually ok. I'm going to wipe it however, and install tinyme or vectorlinux lite once I get working parts.

I did install vector linux lite and tinyme on here to see how that would work. VL-lite actually performed quite well. Tinyme however didn't. I can't blame the distro though as the minimum specs are 64 megs for tinyme, and since the video shares 8 megs of this ram, that left only 56 megs of usable ram, so I'm not surprised at the performance being sub-par.

Hopefully you all are having a wonderful holiday season and I'll post back soon.


Monday, December 15, 2008

Slackware on the Acer Laptop

It didn't take long for the family to bork things on the ubuntu install with this laptop... The latest upgrade of wicd broke compatibility with the wpa network, and compiz somehow ended up broken as well... probably from my own user error in switching things over to xubuntu from straight ubuntu. ;p

So I had this nice and shiny slackware 12.2 dvd and it was time to replace ubuntu with something rock solid that would be less likely to suffer breakage.

The install for slackware hasn't really changed in this past millenia, so I won't bore you with the details. It's ncurses based, but very straightforward and easy to do. Once the base system was installed, I had a fully functional vanilla kde 3.5.10 desktop.

One nice caveat is that the card reader that I had to manually configure in ubuntu was found, and functional straight out of the box in slackware! I'll have to be sure to keep the relevant kernel modules in play after I trim down the huge kernel for everyday use. The huge series of kernels tend to be a bit bloated, but have a TON of stuff compiled right in, so just about all hardware works right out of the box.

The generated xorg.conf is quite bland and vanilla, as it requires user intervention to get it functional. I copied over the xorg from my old arch linux install and it works nicely. Even the synaptics touchpad works perfectly with scrolling in all directions.

Since Slack uses the older and more stable 1.4.2 version of xorg server, I was able to use the "export Intel_Batch=1" hack to increase graphics rendering speed. I added this to the bottom of /etc/profile to activate this system wide.

I used to build most of my packages, and to download a few binaries that either wouldn't compile from the slackbuilds or simply were not available. The transcode binary built for version 12.1 is such an example as it fails to compile in 12.2, due to an imagemagick error, yet the binary from built for 12.1 works perfectly.

The longest compilation was for qt 4.4.3, as it took nearly an hour to compile... yet it did so with no errors, and works just fine.

For wireless, wicd is included in /extra and I used ndiswrapper for the broadcom wifi card and experience very few drops. I like the stx driver, but it's not quite as stable as simply using ndiswrapper, so I'll stick with ndis for now.

I was going to recompile the kernel, but can't find an excuse to do so quite honestly. Boot up times are a tad slow, but nothing terrible, and the system is running quite nicely, so I'm loathe to really mess with things.

Openoffice 3.0 compiled and works great, and so did wine, devede, smplayer, and mplayer. We're using Thunderbird for email and Firefox for browsing, and the included software is quite robust.

Ran into one issue with installing playonlinux (which is great for managing wine games and programs), as the program would not run when invoked from the command line, but gave no error message. The arch linux aur version has a nice pkgbuild which gave me the hint I needed, as wxpython is needed, so I built this from, and playonlinux launched and ran just fine.

Slackware isn't for everyone, as some people simply just don't like compiling their own programs from source.... for a variety of reasons... but if you put in the time and effort, you have a rock solid Operating System with exactly what you want running.

I'll be happy to post my xorg.conf or help with compiling packages upon request.

Thursday, December 11, 2008

Slackware 12.2 and TinyMe 8.1 are out!

Now I'm really pumped. The distro that I cut my teeth on has a new release... That being Slackware of course! I'm downloading the dvd as I write this, and lemme tell you I'm excited. All my custom slackbuilds will have to be updated, and reinstalled, but that kind of controlled tweaking is my forte. This is a perfect opportunity to document my entire install process and to show prospective new slackers just how much power is under the hood.

That being said, I'm also excited about TinyMe 8.1 issuing a new release. It's a slimmed down PclinuxOS utilizing the lxde environment, and I saw just how lightweight lxde can be on my nieces arch linux installation. We'll see how it compares to my custom pclos install with openbox, pcmanfm, and fbpanel. The lxpanel is based on fbpanel, so I'm sure some tweaking can be done with this as well.

I'm going to install Slack on a spare 20 gig ide hard drive, compile all my programs and then use that hard drive on the legacy pentium 233 system that I'm looking to build. Should be fun.

Wednesday, December 10, 2008

Ubuntu 8.10 on Acer 3680-2682

After a few hiccups and a few needed tweaks being applied, the laptop is finally fully functional and working nicely.

I had done an initial install of straight ubuntu with a full gnome desktop. Everything went fine as the installer makes things really easy for the user to gain a fully functioning system quickly.

I did end up with a couple of show stopping issues right off the bat. Gnome-network manager did not want to play nicely with the new broadcom wireless drivers. I've been a fan of wicd for some time (it's easy to set up on Slackware as well), so I added the wicd repos to synaptic and replaced gnome-network-manager with wicd and my wireless worked nicely. The far larger problem was that nautilus was crashing frequently, and this is not something that one can deal with very well on a gnome desktop. So I figured that Ubuntu has many options available and instead chose to install Xubuntu-desktop (xfce) and replace Ubuntu-desktop (gnome).

After installing the xubuntu desktop, I had a few things to configure. The fonts were much uglier than a default gnome install, so I changed the font to dejavu-serif bold, changed the font dpi to 100, and turned on full hinting and subpixel hinting.

I moved all the default applications to one panel and deleted the top panel, and it looks very similar to a gnome install. Installing the medibuntu repositories enabled me to install mplayer and mplayer-plugin, and then installing adobe-flash and sun-java6-jre rounded out a nice browsing experience.

Virtual Box compiled nicely and they now have a nice windows xp installation within ubuntu. This is important for a few of their programs that are windows only (such as their massive solitaire suite).

The 2nd show stopper was that the media card reader built-in to the laptop was not functioning. No devices were found initially for the card reader, so I had to do a little investigating to get it to work. lspci showed the hardware to be a
Mass storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)
The relevant modules are "tifm_sd, tifm_7xx1, and tifm_core". So I added these to /etc/modules and at boot the system detects the card reader and when plugged in thunar shows the sd card on the left as accessible! There is no xd card support yet, but luckily they have sd cards and only one xd card.

All in all it works rather nicely. There were a few issues, but with proper tweaking the system is now running great.

Monday, December 8, 2008

Building really old computer

It's been a few days since I got my hands dirty, so I'm looking for some new projects.

I got my hands on an old sis 5598 motherboard that's a socket 7 and uses edo ram! It has 128 megs installed on board, and has an es1869f (ess audiodrive) sound chip built in.

I'm pumped at the thought of putting this back to work as a torrent slave. Now I just have to get a cheap computer case, as I already have a 200 watt atx power supply sitting here doing nothing. I'm going to pop in an old pci voodoo 3 card for video, and I have an ancient 3com etherlink 3 isa network card that I'm dying to see if it still works. I also need to locate an old socket 7 processor, and it can't even do 100 mhz for the cpuclock, so I'm probably going to try and snag a pentium 233 mhz mmx processor instead of a k6. I'll keep you all posted on this, and if any of you have thoughts on which distro to try, please drop me a line.

My other project is converting an acer 3680-2682 laptop from windows vista (ugh) to ubuntu intrepid 8.10. This should be interesting as well. I upgraded the ram to 1.5 gigabytes from the standard 512 megs and saw performance at least become somewhat bearable. I also know that ubuntu is no speed demon, but it should behave nicely and easily for my parents to whom this laptop is going.

The onboard video is an intel gma 950, again, no speed demon, but more than adequate for basic video needs. It has an 80 gig hard drive and a cdrw/dvd combo drive. I'll tackle this one shortly and post back here.

Thursday, December 4, 2008

Openbox on Pclos part 3

Well, I think I've tweaked my openbox setup to a nice and usable desktop environment on pclinuxos. The software works well and it responds much better than the initial kde install, which just felt.... slow....

The gtk themes work nicely, as do the icons, once you figure out how to make openbox access them. To access your icons you create a file called .gtkrc.mine in your home directory and add your icons in this format

gtk-icon-theme-name = "nuoveXT-aero"
Where nuoveXT-aero is my choice for the icon theme. You can see what icon themes you have installed in /usr/share/icons. Simply substitute for your preferred icon theme. Then you log out of openbox and back in and your icons will have been changed!

Obconf handles themes, and you can install new themes into /usr/share/themes for Obconf to easily find.

When I opened up openoffice, I found that it had NO clue what theme to use and saw a REALLY ugly interface. So I added the following to my ~/.config/openbox/ file

export OOO_FORCE_DESKTOP=gnome &
This told openbox to force the nice gnome gtk theme on openbox so it doesn't look hideous.

I installed xscreensaver, which has several nice sets of screensavers actually in the repos, and told openbox to start it on login by adding to my file

xscreensaver -no-splash &
Pcmanfm is a great file manager and it can handle both your desktop background and desktop icons. I don't like desktop icons personally, but if you do, then do the following

pcmanfm -> edit -> preferences -> Desktop

Then click manage the desktop and show file icons. You can then choose your wallpaper and how to display it. Easy eh?

Although I love pcmanfm as a filemanager I don't want icons on my desktop... and I also want to maintain my ability to right click on the desktop and bring up my openbox menu, as sometimes it's just faster than moving the mouse all the way to the bottom of the screen on the left to access the fbpanel start menu. So I'll use the great little program called feh. It can be found in the repositories.

Simply execute the command

feh --bg-scale /path/to/image.file

Where /path/to/image.file is the full path to your desired desktop background wallpaper image.

Then you add the following to your file

eval `cat $HOME/.fehbg` &
This will cause openbox to load this wallpaper upon login.

Here's what I added to my ~/.config/openbox/ file

pcmanfm &
conky &
fbpanel &
volwheel &
eval `cat $HOME/.fehbg` &
xscreensaver -no-splash &
export OOO_FORCE_DESKTOP=gnome &
Have fun with openbox!

Wednesday, December 3, 2008

Openbox on Pclos part 2

My quest to tweak Pclinuxos continues.

Today I decided to tackle the mplayer/smplayer update. As I mentioned in part one, these are very out of date, and I prefer to run the svn version of both mplayer and smplayer. Which also meant a rebuild of the svn versions of x264 and ffmpeg. Not a huge deal as these are fairly easy to compile with mplayer. For reference I used the following script and created the packages with checkinstall.

if [ "$UID" != "0" ]; then
echo The mplayer installation requires root privileges.
echo Please login as root, and run:
echo again
echo Press ENTER to continue...
read dummy
exit 0
# Use checkinstall to create uninstallable rpm's for your system
apt-get install checkinstall git-core
# move to build directory
cd /usr/src
mkdir mplayer
chmod 777 mplayer
cd mplayer
# update mplayer source
svn checkout svn:// mplayer

# update ffmpeg source
svn checkout svn:// ffmpeg

# update x264 source
git clone git://

#configure ffmpeg
cd ffmpeg
cd ffmpeg
cd ..

# configure x264
cd x264
./configure --enable-pthread
cd x264
cd ..

#configure mplayer
cd mplayer
./configure --prefix=/usr/local --confdir=/etc/mplayer --disable-gui --enable-largefiles --enable-menu --with-extraincdir=/usr/src/linux/include:/usr/src/mplayer/x264 --with-extralibdir=/usr/src/mplayer/x264
cd /usr/src/mplayer/mplayer
# note the location that checkinstall moves your rpm's to as you will have to manually install with rpm
This all compiled nicely and I was able to install with rpm.

Next up was smplayer.... which was not nearly as nice. The svn version of smplayer requires qt4 and specifically qmake for qt4. I installed everything qt4 from synaptic (from the testing repo) and did not find qmake anywhere on my system. I thought it would be installed from "libqt4-devel" but it was not. So I figured what the heck... may as well install it from source!

So I grabbed the tarball from here , unpacked the tarball. Ran ./configure make and make install and, after a 45 minute compile, I was good to go! As an aside here, I've done this before so I know that uninstalling using make uninstall works great, which is why I didn't bother rpm'ing this.

It iustalled to /usr/local/Trolltech/Qt-4.4.3/ and since /usr/local was already in my path any apps I wanted to install would find the executables! a quick "which qmake" confirmed this and I was then able to compile smplayer. Checkinstall choked on the rpm creation, but SMPlayer also plays nicely with make uninstall, so I wasn't too worried about not having an rpm for this either. So long as I was careful not to delete these directories, I'd be fine.

Everything is working great and I have no complaints at this point. It's entirely possible that I did something screwy with the rpm's downloaded using synaptic and qmake with qt4 is in fact somewhere on them. Or possibly the mirror I was synced to just hadn't updated properly or recently. Who knows. It doesn't really matter as qt-4.4.3 is running fantastic.

Note that on the mplayer portion of the script at the ./configure section... it's one line and ends with x264. So if you're copy and pasting be sure to edit that portion!
I received this comment and felt it warranted a revised script on my blog.
Blogger kdulcimer said...

There's one issue with your script: anything coded for PCLinuxOS shouldn't use sudo! PCLinuxOS isn't set up for sudo. You should have your script check to make sure it's being run as root instead


Thanks for the input. I setup my pclos install to use sudo out of habit. All it takes is to edit the sudoers file with visudo and add the user like so.

# su -
# visudo

Then edit the user privelege specification so it looks something like this.

"# User privilege specification
root ALL=(ALL) ALL
mini ALL=(ALL) ALL"

Where mini is the name of the user. Substitute your user name of course.

type "wq!" to save and exit and sudo is setup!

Revising the script to your specs would look something like this. With files downloaded and compiled in /tmp. It checks to see if the user is root and if not, then exits.

if [ "$UID" != "0" ]; then
echo The mplayer installation requires root privileges.
echo Please login as root, and run:
echo again
echo Press ENTER to continue...
read dummy
exit 0

#compile smake for pclos

cd /tmp
tar -zxf smake-1.2a41.tar.gz
cd smake-1.2
cp Gmake.linux /usr/bin/Gmake
cp /opt/schily/bin/smake /usr/bin
chmod +x /usr/bin/smake

#compile cdrtools for pclos
cd /tmp
tar -zxf cdrtools-beta.tar.gz
cd cdrtools-2.01.01
smake install

# Ensure root ownership for proper operation
chown root:root /opt/schily/bin/*

# Backup cdrkit files
cd /tmp
mkdir cdrkitbackup
mv /usr/bin/wodim /tmp/cdrkitbackup
mv /usr/bin/readom /tmp/cdrkitbackup
mv /usr/bin/genisoimage /tmp/cdrkitbackup
mv /usr/bin/btcflash /tmp/cdrkitbackup
mv /usr/bin/devdump /tmp/cdrkitbackup
mv /usr/bin/isodump /tmp/cdrkitbackup
mv /usr/bin/isodebug /tmp/cdrkitbackup
mv /usr/bin/isoinfo /tmp/cdrkitbackup
mv /usr/bin/isovfy /tmp/cdrkitbackup
mv /usr/bin/icedax /tmp/cdrkitbackup

# Remove soft links to cdrkit programs
rm /usr/bin/cdrecord
rm /usr/bin/cdda2wav
rm /usr/bin/mkhybrid
rm /usr/bin/mkisofs
rm /usr/bin/readcd

# Create soft links to cdrtools programs
# Create soft links to cdrkit naming conventions for compatibility
ln -s /opt/schily/bin/cdrecord /usr/bin/cdrecord
ln -s /opt/schily/bin/cdrecord /usr/bin/wodim
ln -s /opt/schily/bin/mkisofs /usr/bin/genisoimage
ln -s /opt/schily/bin/mkisofs /usr/bin/mkisofs
ln -s /opt/schily/bin/mkhybrid /usr/bin/mkhybrid
ln -s /opt/schily/bin/readcd /usr/bin/readom
ln -s /opt/schily/bin/readcd /usr/bin/readcd
ln -s /opt/schily/bin/cdda2wav /usr/bin/cdda2wav
ln -s /opt/schily/bin/cdda2wav /usr/bin/icedax
ln -s /opt/schily/bin/btcflash /usr/bin/btcflash
ln -s /opt/schily/bin/isodebug /usr/bin/isodebug
ln -s /opt/schily/bin/isodump /usr/bin/isodump
ln -s /opt/schily/bin/isoinfo /usr/bin/isoinfo
ln -s /opt/schily/bin/isovfy /usr/bin/isovfy

Tuesday, December 2, 2008

Openbox on Pclos part 1

Well, I decided to play around a bit with pclinuxos and tweak it to my liking.
I installed openbox, with obconf, fbpanel, pcmanfm, conky, and a little app known as volwheel that acts as a mixer with a panel icon. I also installed menumaker to update the openbox menu, and feh to handle the wallpaper.

I tweaked fbpanel as for some reason, the included firefox svg file didn't show correctly. I downloaded a set of icons, and installed one that was to my liking in the /usr/share/fbpanel/images/mozilla-firefox.svg location. Right were the fbmenu default file looks for it. I also pointed the terminal icon to gnome terminal, the file manager to pcmanfm, and the editor to geany. The default star icon was ok, but I found one more to my liking, placed it in the images folder mentioned above and pointed the fbpanel default file to it instead.

Volwheel is a great little program that adds an applet to your panel dock and it works as a front-end to alsamixer so you can easily change your volume with a few clicks. The homepage is here.

For some reason, the included icons weren't being called upon, which I found kind of odd as they were included in the download and there were no instructions for placement. Luckily, the coder is a fellow Archer (arch linux user) and he had a pkgbuild in the aur. After perusing the build I found the icons were supposed to be placed in a folder called /usr/share/volwheel. So I created the folder, and placed the icons folder within it. I then restarted openbox and voila! volwheel had a nice little icon and was ready to go!

All in all, it doesn't run too badly. Some of the apps are outdated, like mplayer and smplayer, and I'll probably rebuild them right quick, but the box seems pretty stable since I cut the cruft off of the bloated minime install.

Once I get all the programs finalized, I'll post the results.

Monday, December 1, 2008

Arch linux resurrects ancient Desktop Part 2

Back again with the good old 450 mhz p2, and now that lxde is installed, I've decided on some software to run with it.

GDM -> graphical login manager
Yaourt -> Access additional unsupported repositories using pacman-like commands
Firefox -> Web Browser
Flashplugin -> view flash in web browser
jre -> view java in web browser
mplayerplugin -> view embedded video in web browser
Thunderbird -> lightweight Email Client
Mplayer -> Movie viewer
Songbird -> music collection manager
Abiword -> Word processor
Abiword-plugins -> Common plugins
Transmission-gtk -> Bittorrent client with gtk gui
Xpdf - > view pdf documents
Limewire - > gnutella/bittorrent client
Pidgin - > Chat software
Shaman - > Easy program manager

I won't be going into detail on how to install these packages. If you read part one, then you have a handle on how pacman works. Yaourt works in the same manner, it can download pkgbuilds from the aur however and compile them on your machine. To check what versions of a package are available use the pacman/yaourt search function ie..
yaourt -Ss filename
What I will be doing is informing on whether or not the programs were able to perform acceptably, and if not, what programs I chose to replace them with. These tests were my subjective analysis of what I felt worked best and fastest. No quantitative evidence is shown to support my theories, so your results (if you were to try this) may vary from my own.

GDM - > The system seemed slow to boot with GDM, and the options available turned out too confusing for my niece to handle. I removed GDM and replaced it with SLIM. The default options and simplicity are just what the doctor ordered, and the improvement in bootup time was noticable.

Yaourt - > Works as advertised! If you don't have it... GET IT! Fantastic tool to simplify installation of programs not in the regular repositories.

Firefox - > Surprisingly the default firefox install was the best performing of the browsers I tried on this box. I was expecting kazehakase and opera to outperform firefox, but they did not. Flash performance was noticably better on Firefox than the other browsers and embedded video was shown flawlessly. A note on flash, performance is not fantastic, but it's definitely watchable. I kept firefox on this machine, although I was fully expecting the need to switch.

Thunderbird - > Thunderbird performance was not what I would call usable. With other applications open, such as firefox and songbird, we quickly entered the realm of swap usage, and on this old machine that just won't cut it. I replaced Thunderbird with Sylpheed and ended up using about 40 megs of ram less! Sylpheed lacks some features Thunderbird has, but is more than adequate for her basic email needs.

Mplayer - > Performance of the base mplayer seemed ok. It lacked the ability to show video in 16:10 ratio, so I installed SMplayer to handle this. Smplayer then complained about the version of mplayer installed as being too old to utilize all smplayer functions. I replaced mplayer with mplayer-svn-nogui (no need for a gui as smplayer handles this ) from aur to gain full functionality. Installing codecs and libdvdcss allowed her to watch dvd's from the drive as well.

Songbird - > I like the promise of this application. When the bugs have been worked out, I think this will be a great app. Unfortunately, that time is not now. seg faults were common and the app didn't always cleanly shut down, requiring a killall songbird from the terminal. This might be ok for me, but not for the inexperienced. I replaced Songbird with a couple of apps. Gtkpod to sync with her ipod and Quodlibet to handle her music library. Gtkpod works as advertised and her ipod collection was quickly assimilated on this box. Quodlibet seems very lightweight and handles her music playback needs great.

Abiword and Abiword Plugins - > Work as advertised! Lightweight compared to openoffice and very functional.

Transmission-gtk - > Seemed to work ok, although the version in the repository I was connected to seemed outdated. I replaced this with transmission-svn from aur and now she's running the latest and greatest.

xpdf - > Works as advertised! lightweight and functional. Look no further than this for your pdf browsing needs

Limewire - > A bit of a resource hog to be quite honest, but an easy way to access the gnutella network for your filesharing needs. The one thing that bugged me was limewire continually asking me to upgrade to the Pro version. I installed frostwire instead and have an almost identical interface and no more complaining about upgrading! WOO HOO!

Pidgin - > Worked out of the box with no problems whatsoever.

Shaman - > A gui front-end to pacman. Very simple to use and my niece can upgrade her system on her own without outside intervention! A bit of a resource hog, so I made sure she understood to shut down other programs first before running this.

So the final list of installed apps is:
Slim -> graphical login manager
Yaourt -> Access additional unsupported repositories using pacman-like commands
Firefox -> Web Browser
Flashplugin -> view flash in web browser
jre -> view java in web browser
mplayerplugin -> view embedded video in web browser
Sylpheed -> lightweight Email Client
Mplayer-nogui-svn-> Movie viewer
SMPlayer-svn -> Slick gui for mplayer
Quodlibet> music collection manager
Gtkpod -> Sync ipod
Abiword -> Word processor
Abiword-plugins -> Common plugins
Transmission-svn -> Bittorrent client with gtk gui
Xpdf - > pdf viewer
Frostwire - > gnutella/bittorrent client
Pidgin - > Chat software
Shaman - > Easy program manager

All in all, it works pretty well. Some of the programs are a bit slower than on modern system, such as flash and shaman, while others are pretty much unusable on such an old system. However, with a bit of tweaking and proper software selection, you too can save an old system from the scrap heap and put it back to work.

Tips and comments are welcome.

Sunday, November 30, 2008

cdrtools script

Based on a thread over at the pclinuxos "hack" forums I've found there to be a decent demand for the cdrtools package as opposed to cdrkit that is included in many distributions.

I've written this script for pclos, but it should be applicable for just about any linux distrobution.

The script assumes proper setup of sudo on your distro for your user.
Be sure to chmod +x the script before running it.

Here is the script for reference.


#compile smake for pclos
cd ~
tar -zxf smake-1.2a41.tar.gz
cd smake-1.2
sudo cp Gmake.linux /usr/bin/Gmake
sudo cp /opt/schily/bin/smake /usr/bin
sudo chmod +x /usr/bin/smake

#compile cdrtools for pclos
cd ~
tar -zxf cdrtools-beta.tar.gz
cd cdrtools-2.01.01
sudo smake
sudo smake install

# Ensure root ownership for proper operation
sudo chown root:root /opt/schily/bin/*

# Backup cdrkit files
cd ~
mkdir cdrkitbackup
sudo mv /usr/bin/wodim ~/cdrkitbackup
sudo mv /usr/bin/readom ~/cdrkitbackup
sudo mv /usr/bin/genisoimage ~/cdrkitbackup
sudo mv /usr/bin/btcflash ~/cdrkitbackup
sudo mv /usr/bin/devdump ~/cdrkitbackup
sudo mv /usr/bin/isodump ~/cdrkitbackup
sudo mv /usr/bin/isodebug ~/cdrkitbackup
sudo mv /usr/bin/isoinfo ~/cdrkitbackup
sudo mv /usr/bin/isovfy ~/cdrkitbackup
sudo mv /usr/bin/icedax ~/cdrkitbackup

# Remove soft links to cdrkit programs
sudo rm /usr/bin/cdrecord
sudo rm /usr/bin/cdda2wav
sudo rm /usr/bin/mkhybrid
sudo rm /usr/bin/mkisofs
sudo rm /usr/bin/readcd

# Create soft links to cdrtools programs
# Create soft links to cdrkit naming conventions for compatibility
sudo ln -s /opt/schily/bin/cdrecord /usr/bin/cdrecord
sudo ln -s /opt/schily/bin/cdrecord /usr/bin/wodim
sudo ln -s /opt/schily/bin/mkisofs /usr/bin/genisoimage
sudo ln -s /opt/schily/bin/mkisofs /usr/bin/mkisofs
sudo ln -s /opt/schily/bin/mkhybrid /usr/bin/mkhybrid
sudo ln -s /opt/schily/bin/readcd /usr/bin/readom
sudo ln -s /opt/schily/bin/readcd /usr/bin/readcd
sudo ln -s /opt/schily/bin/cdda2wav /usr/bin/cdda2wav
sudo ln -s /opt/schily/bin/cdda2wav /usr/bin/icedax
sudo ln -s /opt/schily/bin/btcflash /usr/bin/btcflash
sudo ln -s /opt/schily/bin/isodebug /usr/bin/isodebug
sudo ln -s /opt/schily/bin/isodump /usr/bin/isodump
sudo ln -s /opt/schily/bin/isoinfo /usr/bin/isoinfo
sudo ln -s /opt/schily/bin/isovfy /usr/bin/isovfy

Arch linux resurrects ancient Desktop Part 1

Those of us that have worked on computers for a while invariably end up with other people's discards. It was my luck to come into possession of an old Gateway ---. It's a pentium 2, with a 450 mhz processor and 64 megs of ram. It also comes with a 24x cd-rom (dead on arrival), a ten gig hard drive, and a standard floppy. It came with a voodoo banshee 8 meg agp card, but the vid card is dead (hence the reason for my coming into possession of this box).

I figured that it was time to pimp this bad boy out and put it back to work, and my niece was in need of her own computer... So I scrounged around and decided to add the following .A 32 meg matrox g450 to handle the video duties. A soundblaster live! (emu10k1) sound card will handle audio (as the onboard audio is crap). An additional 10 gig western digital hard drive, slaved to the 10 gig matrox for storage... An addition 192 mb of pc100 ram, in the form of another 64 mb stick, and a 128 mb stick. Standard ps2 keyboard and mouse, and a 4.8x Toshiba DVD drive to replace the cd-rom. I also wanted wireless, so I threw in an old atheros wireless card that I had recently resoldered. A 15” packard bell monitor, and some old stereo pc speakers round out the hardware, and it's on to choosing an operating system to power this machine.

There are many possible choices here, and a good case could be made for many, but at the end of the day, I chose Arch Linux to power this machine. The reason being, I'm very familiar with Arch, and I've been running Arch on my main desktop (a core 2 duo 4300 @ 2.4 ghz) for quite some time. I also knew that I would be building the OS from the ground up, and I would choose EXACTLY what was going to run on this machine.

I followed the excellent instructions from the beginner's guide located at

For my installation media, I burned the current core iso, as an ftp install could be a pain as I'd have to get wireless up and running first.

I entered /arch/setup and started on my way. I ignored the section on networking at the start for now. The current kernel has both the ath5k module and the ath_pci module available so I knew I was going to have to deal with this in rc.conf, which I'll cover later.

I decided to set up a one gig swap at the beginning sector of the first hard disk (sda1). I probably could have gotten away with a 512 mb swap, as hard disk thrashing could slow things down considerably on an old machine like this, but I wanted to ensure that my niece's computer was rock stable.

Normally, I like to have a separate /boot partition to house grub as my boot manager, but as this was going to be the only operating system on this computer, I didn't feel the need to do this. So I simply made a root (/) partition for the remainder of the first hard disk (sda2).

The second hard disk houses home (/home), and I used the entire 2nd hard disk for the user and her files.

The installer wanted a reboot at this point so after entering /arch/setup once again I was back on track.

It's time to select and install packages! The only things I really had to look out for in choosing packages was to make sure that I selected the madwifi packages, wireless tools and wpa_supplicant. If I forgot anything else right now, at least with these packages installed, I can access the net later and install them.

I didn't need to customize anything else with the kernel, and then selected nano as my text editor, which I would need to edit the config files next. Vim is great, but I tend to be a tad lazy sometimes and nano is just too easy.

Next up was editing rc.conf. There were a couple of things I wanted to take care of here. First off, I changed the timezone to “US/Central”. Next up, I checked out the modules. Sure enough, both ath5k and ath_pci were listed, so I placed a ! in front of ath5k to let rc.conf know not to load it. The ath5k module has come a long way, but it's still not at the functional level of ath_pci at this point, and since I'm going to be connecting to a wpa2 network ath_pci is simply a better choice at this time.

Commenting out the eth0 portion was my next step, and then I added a line under that one so that my atheros wireless card could access dhcp. (ath0=”dhcp”)

Heading on down to the daemons section of rc.conf, I placed a @ in front network, so that the machine wouldn't wait for network to come up before fully booting. Ctrl X and I was done with rc.conf

I verified /etc/fstab and found it to be populated correctly. Since I'm going to be using hal to mount my dvd drive, I placed a # in front of that entry to comment it out, so that hal will handle the drive.

The next file I had to look at was /etc/hosts. /etc/mkinitcpio and /etc/modprobe.conf didn't need any editing. In /etc/hosts I added the hostname for the computer like so   localhost.localdomain   localhost yourhostname   She's not going to be using ssh, so /etc/hosts.deny and /etc/hosts.allow can be left in their default state.  On to /etc/locale.gen.  Upon perusing the file, I ensured that en_US ISO-8859-1 and en_US.UTF-8  were uncommented.  Ctrl X out of this file and locale.gen generated my locales.  Setting a root password and selecting a local pacman mirror were done.  I had to edit one line in grub to set root to hd0,1. Saved the file and I was ready to reboot!  I rebooted into my new arch system and decided my next step was to get wireless running.  A quick lsmod showed me that ath_pci was loaded.  The iwconfig command verified that I had a usable interface (ath0).  Next was activating the device which was done with “ifconfig ath0 up”. I then typed “iwconfig ath0 essid MyNetwork” to associate with my network.  It was now time to configure wpa_supplicant.  I typed “mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original” to back up the wpa_supplicant file in case I somehow managed to hose it.  Then I had to generate the code that wpa_supplicant would use to access my network “wpa_passphrase myssid mypassphrase > /etc/wpa_supplicant.conf” where myssid is the name of my network and mypassphrase is the name of my password to access the network.  “nano /etc/wpa_supplicant.conf” and verified the files and success!  It's time to activate wpa_supplicant “wpa_supplicant -B -Dwext -i ath0 -c /etc/wpa_supplicant.conf”. And then “dhcpcd ath0”. “ifconfig ath0” verified that I was indeed connected to my router and net access was attained!  “pacman -Syu” was my next step to fully update the system to current.  The wireless needed to come up with the machine and automatically connect, so I selected the package known as “autowifi”. I also wanted dhcp to be used so I selected dhclient as well.pacman -S autowifi dhclient Following the arch wiki , I added this to the begining of /etc/wpa_supplicant.conf “ # general options # Don't change this path to something else: ctrl_interface=/var/run/wpa_supplicant # Give everyone in the group "users" access to the control interface # required if you want to dynamically configure the network via wpa_cli or wpa_gui # without being root ctrl_interface_group=users eapol_version=1 ap_scan=1 fast_reauth=1 Then I edited the file /etc/conf.d/autowifi to access my ath0 module and not the default wlan0.INTERblsp-spelling-error" id="SPELLING_ERROR_40">ath0" CONFIG="/etc/wpa_supplicant.conf" “

/etc/autowifi/networks/default had dhcp selected, so no modification was needed here.

I was sure to add dhclient to my daemons array in /etc/rc.conf and I backgrounded it to speed up bootup. Ie, added a @ in front of the dhclient entry. Then I added autowifi to my daemons in /etc/rc.conf file as well to ensure it would start at bootup as well.

It was now time to reboot the system as when updating the system, there was a new kernel and several other new files as well, and to take advantage of them a reboot was in order.

After the reboot it was time to set up a user account. Logged into root, and then issued the following:

useradd -m -G users,audio,lp,optical,storage,video,wheel,power,hal -s /bin/bash myuser 

This gave me a user with access to common functions, and ensured she would be able to access her external usb hard drive, and her ipod.

Sudo was the next item on my list to install, so I went ahead and typed “pacman -S sudo”.

As a side note, you can use nano to setup visudo (the sudo configuration file). I didn't bother as I'm familiar with vi, but for those that aren't you can start visudo with nano by issuing this command

EDITOR=nano visudo  In the section labeled User privelege specification add your user like so

# User privilege specification

root ALL=(ALL) ALL

myuser ALL=(ALL) ALL

Ctrl X to save in nano or :wq! In vi and you're set with sudo!

It's now time to install alsa for sound and xorg for a working graphical environment. The soundblaster live! and the matrox g450 are both well supported under linux, so this should prove no trouble..

sudo pacman -S alsa-utils

Then “sudo alsamixer” I set the volume and tick the soundblaster digital output jack. Escape to exit and then “sudo alsactl store” to save the settings.

I want alsa to start at boot so I add it to the daemons array in /etc/rc.conf

sudo pacman -S libgl

sudo pacman -S xorg

sudo pacman -S mesa”

sudo pacman -S xf86-video-mga

This will install an xorg environment for use with the mga matrox video driver.

There are several ways to detect your hardware in xorg. I prefer an application known as “hwd”.

sudo pacman -S hwd

sudo hwd -xa

This will populate xorg, and it does a pretty good job of this.

sudo nano /etc/X11/xorg.conf” to peruse the results. The little 15” monitor doesn't handle 1024x768 very well, so I removed those resolutions from the modes subsections of the screen section. Saved and exited.

With the limited resources of this box, I would have to choose a lightweight desktop environment to gain functionality. Since I promised my niece the use of this box once I'd fixed it up, it would also have to be easy enough for her to use with minimal intervention of my behalf.... so a straight openbox build was not going to be familiar enough for her. I narrowed it down to 2, IceWM and lxde. Seeing as lxde will auto populate the menus without outside intervention, and also the fact that I've never used it and I'm curious about it, lxde it is.

I want pmount to handle automounting of disks, and the filemanager pcmanfm handles this task nicely with pmount... which is a good thing as pcmanfm comes standard in an lxde install.

sudo pacman -S pmount

This pulls in hal and dbus as well.

Then I added hal to the daemons array in /etc/rc.conf to start at boot.

It's now time to install the DE.

sudo pacman -S lxde gamin”

This installs lxde along with gamin, which is a drop-in replacement for fam. Fam is default on arch, but I've always found it pretty buggy and much prefer gamin.

The lxde programs installed are gpicview, lxappearance, lxde-common, lxlauncher, lxpanel, lxrandr, lxsession-lite, lxtask, lxterminal and pcmanfm.

“As a note here, lxterminal segfaulted whenever I tried to run it. So I installed gnome-terminal instead. “sudo pacman -S gnome-terminal” gnome terminal does not require gnome to be running and pulled in no other dependencies.”

It's now time to set up my .xinitrc file to allow logging into X.

cp /etc/skel/.xinitrc ~/”

nano ~/.xinitrc

There is no default entry for lxde, so I added the following line

“exec startlxde

I made sure there was no # before it and that all other entries had a # before it. Saved and exited the file.

I figure it's time for some fonts so that the DE doesn't look like crap. =)

sudo pacman -S ttf-ms-fonts ttf-dejavu ttf-bitstream-vera

It's now time to see what we have.


I've now booted into a nice shiny lxde installation and I must say that it looks good. It's laid out in a sane manner, with a nice menu.

That's all for today. Next up, I'm going to select lightweight software to run on this box and install the login manager “slim” to start at bootup.

Thanks for reading and if you have questions, feel free to drop me a line.