Archive for April, 2008

The great Slackware 12.1 RC1 has been released a few weeks back (now is already RC2). As a Linux users who is been using Slackware for more than 10 years, I am definitely eager to download it and give it a test run. From my experience, when Slackware enters RC stage, there shouldn’t be that much problem in terms of stability. However, since I am also Dropline GNOME, a 3rd party add on to Slackware, there are going be some issues popping up. These days, I don’t think I can live with Dropline.

Anyway, I decided to give it a try. Slackers are well known in our hardcore Linux culture – the willingness to get down to dirty business of troubleshooting the system. Besides, that is the fun of Slackware. So, the objective here is try to make Dropline GNOME works with Slackware RC, as much as possible.

Step 1: Since I already have a working Dropline installed in my laptop that is current Slackware 12.0, I will use it to upgrade or sync with the Slackware current tree. Upgrading is done with utility: swaret. First I edit the swaret.conf file in /etc/ directory, to make sure it will upgrade those packages that maybe distributed by Dropline and make sure it points to Slackware current instead of Slackware 12 tree. Then, I run the following commands:

$> swaret –update
$> swaret –upgrade

Swaret would prompt me the list of packages that are available for upgrade. Go through them one by one to install the packages that required. For my case, I decided to upgrade all.

NOTE: This should be done in the init 3, in the text console. Since we would be updating X and many of Slackware libraries, running X and applications that depend on them may not be a good idea.

Step 2: Next, I run a simple script to look for missing dependencies in all the executable binaries in /usr/bin directory. Is just a simple Perl script that uses ldd to find which binaries have missing dependencies:

#!/usr/bin/perl -w

use File::stat;
use IO::File;

my $path = $ARGV[0];

my @filelist = <$path/*>;

foreach my $cmd (@filelist) {

my $st = stat($cmd);
if( !defined($st) ){

warn “file not exist: $cmd – $!”;
next;

}
CheckLDD($cmd);

}

sub CheckLDD
{

my $file = shift;
my $cmd = “ldd $file”;

my $fh = new IO::File “$cmd |”;

while( ){

my $line = $_;
chomp($line);

if( $line =~ /not found/i ){

print $cmd, ” not found: $line\n”;

} elsif ($line =~ /missing/i) {

print $cmd, ” missing: $line\n”;

}

}

}

From here, I able to generate a list and use it to find the related Dropline packages that need to be rebuilt by compare them with the package description files in /var/log/packages directory.

Step 3: Download the Dropline Build System and use to to rebuild those packages that was found in Step 2.

NOTE:

  • While rebuilding them, there may need to rebuild some of the associating packages that are not found in Step 2. So be mindful of such potential while hunting and searching for require packages to rebuild.
  • The Drople Build System is still base on GNOME 2.18.x, so it needs to be updated to use 2.20.x source tree.

The following list are the packages I had rebuilt:

  • liferea-1.4.13-i686-1dl
  • evolution-data-server-1.12.3-i686-1dl
  • evolution-webcal-2.12.0-i686-1dl
  • evolution-exchange-2.12.3-i686-1dl
  • evolution-2.12.3-i686-1dl
  • goffice-0.4.2-i686-1dl
  • gnome-vfs-2.20.1-i686-1dl
  • nautilus-2.20.0-i686-1dl
  • gnome-control-center-2.20.3-i686-2dl
  • gnome-keyring-manager-2.20.0-i686-1dl
  • gnome-power-manager-2.20.2-i686-1dl

From here, I manage to start my Dropline! Everything seems to running just fine here. However, some issues pop-up as I was using it:

  • Need to manually download and switch to util-linux-ng-2.13.1-i486-1 in order use the automount feature.
  • I need install/upgrade my GNOME Bluetooth related packages in order to use my laptop bluetooth to send and receive data with my Sony Ericsson P1i phone.
  • I make the decision to use nautilus-sendto-0.14.0 instead of the one comes with Dropline. Somehow, I need to use this for my bluetooth data transfer to work
  • Pidgin was manually built and upgraded instead of using the one comes with Dropline or Slackware. The version from Dropline cannot run in the RC, since there is dependency issue; while the one comes with Slackware does not enable gtk-spelling support – this is one of the feature I love, so I must have it.
  • I use the Compiz-Fusion packages found in Dropline forum instead of compiz-0.7 that comes with Slackware, it is not enable with GNOME support, so can’t use it for my setup.

I have been using Dropline + Slackware RC for almost a month, so far so good.

Advertisements

VMware Server 1.0.5 and Kernel 2.6.25

Linux kernel 2.6.25 has been released. As usual, I download it and try it out with my Dell Vostro 1400 laptop. The good news, this kernel support my Intel-HDA perfectly, there is no need to download and get the latest driver from ALSA (as I previously had). The bad news is, VMware does not work with this kernel.

After some searching at google, I manage to find a solution.

Step 1 – Download the Patches for VMware 1.0.5

Download the patches for VMware 1.0.5 from here (thanks to jondaley). Basically, the two patches for vmnet and vmmon.

Step 2 – Apply the Patches

Apply the patch file by copying the vmnet.tar and vmmon.tar from /usr/lib/vmware/modules/source directory to an empty directory. Decompress both files by running tar xvf vmnet.tar and tar xvf vmmon.tar. Two new directories should appear in this directory, they are respectively vmnet-only and vmmon-only Copy both of the downloaded patch files into this directory as well.

From here, do:

$> cd vmnet-only

$> patch -p1 < ../vmnet-2.6.25.patch

$> cd ../vmmon-only

$> patch -p1 < ../vmmon-2.6.25.patch

Both patches should patch correctly without warning. Create the tar files again by doing: “tar cvf vmnet.tar vmnet-only/” and “tar cvf vmmon.tar vmmon-only/” and overwrite the original files at /usr/lib/vmware/modules/source directory.

Step 3 – Rebuild VMware

Rebuild vmware by running the vmware-config.pl

NOTES:

  • Make sure “Enable unused/obsolete exported symbols” must be selected under the “Kernel hacking” of the Linux Kernel configuration.
  • This only works for Non-any-any-patch VMware. If VMware has been previously patched with any-any-patch, it needs to be reinstalled again. Don’t worry about the error message while reinstalling VMware, is expected, since it not patched yet. Just copy both tar files and follow the steps mentioned above