Archive for the ‘Jake B’ Category

LFS, pre-KDE: Errors Compiling qca-2.0.3

November 2nd, 2011 No comments

If you’re going through the Beyond Linux From Scratch guide, and run into this error while compiling qca-2.0.3 (and I assume many other versions of qca), I think I can help.

You don’t seem to have ‘make’ or ‘gmake’ in your PATH.
Cannot proceed.

The fix is relatively easy. Just make sure to have which installed on the machine. Jake found this out the hard way by looking through the configure script. Doing this experiment on Linux From Scratch has really given me an appreciation for distributions that come with basic utilities such as which.

Since which is very difficult to find on Google, here is a link:

Linux from Scratch: A Cautionary Tale, Part 2

November 1st, 2011 3 comments

What Next? Chroot

Once you get into the chroot environment, you will get the incredibly annoying PC speaker beep every time you foul up a command.

When compiling glibc in section 6.9, first ensure that there’s no “lib64” directory in your root; for some reason I had a symlink of lib64 pointing to itself. Make sure you’ve run the sed script correctly or the “make install” portion will fail. Specifically, use -Wl (the letter l) in the command, not -W1 (the number 1). After you fix the idiotic transposition of 1 and L, remove both the glibc-build and glibc-2.14.1 directories under /sources and restart section 6.9 from the beginning. If you don’t restart from the beginning, you’ll still get “glibc cannot find dynamic linker” even though the file exists in /lib64.

Keep Watching What You Type

In section 6.10, when running the grep command to ensure the correct startfiles are used, make sure you use [1in] with a one and not [lin] with an L in the command:

grep -o '/usr/lib.*/crt[1in].*succeeded' dummy.log

In section 6.11 and 6.12, I had to run ldconfig before the new libraries were picked up. It seems like the same problem encountered on this mailing list but I’d confirmed that my PATH was set correctly. The same applied for section 6.22; run ldconfig before attempting the configure/make/make install process for E2fsprogs.

For procps-3.2.8, when applying the sed command in chapter 6.27.1, make sure you’ve copied and pasted it (or at least check your typing.) I missed a forward slash in the regex about four times, causing an error during make:

...undefined reference to `get_pid_digits'
collect2: ld returned 1 exit status

But hey, at least I have things sort of working:

My next few posts will deal with specific problems with reasonable solutions.

Linux from Scratch: A Cautionary Tale, Part 1

October 30th, 2011 1 comment

And I’m started with Linux from Scratch! Here are some helpful pointers for anyone considering running LFS on their own. Caution: this is highly nerdy and keyworded to hell to hopefully allow your favourite search engine to grab solutions from this post.

Getting Started, AKA: Use a Distribution You Know

LFS needs an existing Linux environment. Don’t try and use unetbootin on the LFS liveCD (I used lfslivecd-x86_64-6.3-r2145-min.iso to get started, but there is a newer revision 2160 available on one of the mirrors.) unetbootin in this configuration is just a bag of hurt and you’ll spend an inordinate amount of time trying to get your root volume to work, so just burn a CD.

If I was building LFS again I’d have started from a stable Debian base or other Linux distribution where I’m comfortable and have network access – there are a number of reasons below I suggest this, but you really want your host system kernel to be 2.6.25 or higher.

Make sure to have all the patches from are downloaded and in a location you can access from your host distribution. USB sticks are OK for this if you don’t have network access (mount the stick, and then copy the patches and packages to the sources directory). Use DownThemAll or a similar mass downloading application/extension on the patches page to save time and grief.

Watch What You Mount

Augh, out of space! It’s quite possible to mount /mnt/lfs on two partitions at the same time by missing a directory, like this:

$ mount /dev/sdb3 /mnt/lfs
$ mount /dev/sdb1 /mnt/lfs

Oops – I missed /boot at the end of the second mount command. To confirm this before copying any files, “mount” should show only one partition active at /mnt/lfs. Since my /dev/sdb1 partition was only 200MB I got to the GCC extraction step and was promptly disappointed. I ended up unmounting everything, recreating the filesystem (mke2fs -v /dev/sdb1) and then remounting (mkdir -pv /mnt/lfs/boot; mount -t ext2 /dev/sdb1 /mnt/lfs/boot).

For more tales of installation havoc, keep reading…

Read more…

Preparing for a new experiment

October 27th, 2011 1 comment

We’re currently in discussions to begin a new Linux Experiment for 2011. Stay tuned to the website as we should have new posts, a new podcast and new contributors very soon! If there’s anything you’d like to see us try out or do differently this time, please post your thoughts in the comments section.

Categories: Jake B Tags:

Fix for mount error(12): Cannot allocate memory

October 2nd, 2011 16 comments

Do you have the following situation:

  • You’ve got a share on Windows (XP, Vista, 7) that you’re trying to access from a Linux system, in this case Ubuntu.
  • Mounted through /etc/fstab or directly through the command line.
  • Initially, it works great, but then loses the mountpoint – you’ll go to, say, /mnt/server/mountpoint but there are no directory contents. “mount” shows the path as still mounted.
  • umount’ing the directory and then trying to remount it provides this gem of a message:
    mount error(12): Cannot allocate memory
    Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

Of course, since you’re probably a reasonable system administrator, you go and check the memory allotment. top looks fine and nothing else on the system is complaining.

The solution, kindly provided by Alan LaMielle’s blog, gives a registry fix on the Windows side of things. In case that link ever breaks, here is the summary of what needs to happen on the Windows system:

  • In HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management, set the LargeSystemCache key to 1 (hex).
  • In HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters, set the Size key to 3 (hex).’
  • Restart the “Server” service and its dependencies (on my Windows 7 box, these were “Computer Browser” and “Homegroup Listener”, and I had to restart the service twice for the dependencies to also come back up.) Alternatively you can just restart the Windows system as you’re probably due for a large set of updates anyway.

Then re-run the mount command (for entries defined in /etc/fstab, use sudo mount -a) and your shares should be restored to their former glory.

Categories: Jake B Tags: , , ,

VOIP with Linode, Ubuntu, Asterisk and FreePBX

October 29th, 2010 1 comment

Overview and Introduction

I’ve been dabbling with managing a VOIP server for the past year or so, using CentOS, Asterisk and FreePBX on a co-located server. Recently Dave and I needed to move to our own machine, and decided to use TEH CLOUD to reduce management and get a fresh start. There are hundreds of hosts out there offering virtual private servers (VPS’s). We’ve standardized on Linode for our small business for a few reasons. While I don’t want to sound like a complete advertisement, I’ve been incredibly impressed with them:

  • Performance. The host systems at Linode run at least 4-way 2GHz Xeon dual-core CPUs (I’ve seen higher as well) and you’re guaranteed the RAM you pay for. Pricing is generally based on how much memory you need.
  • Pricing. For a 512MB Linode, you pay $19.95 US per month. Slicehost (a part of Rackspace, and a Linode competitor) charges the same amount for a 256MB slice. Generally you want at least 512MB RAM for a Linux machine that’s not a test/development box.
  • Features. If you have multiple VMs in the same datacenter, you can assign them private IPs and internal traffic doesn’t count toward your bandwidth allowance. Likewise, bandwidth is pooled among all your VMs; so buying two VMs with 200GB bandwidth each gives 400GB for all your systems.

With full root access and the Linux distribution of your choice, it’s very easy to set up and tear down VMs.

When people hear VOIP, they generally assume either a flaky enterprise system with echoing calls or something like Skype. Properly configured, a VOIP system offers a number of really interesting features:

  • Low-cost long distance and international calling. The provider we use,, offers outgoing calls for $0.0052 per minute to Canada and $0.0105/minute to the US on their value route.
  • Cheap phone numbers – direct inward dialing – are available for $0.99 per month in your region. These phone numbers are virtual and can be configured to do nearly anything you want. Incoming calls are $0.01/minute, and calls between numbers are free.
  • Want to take advantage of cheap long distance from your cell phone? Set up a Direct Inward System Access path, which gives you a dial tone for making outgoing calls when you call a local number. Put your DID number on your My5 list, and you’re set to reduce bill overages.
  • Voicemail becomes much more useful when the VOIP server sends you an email with a WAV attachment and caller ID information.
  • Want to set up an interactive voice response menu, time conditions, blacklist telemarketers, manage group conferences or have witty hold music? All available with FreePBX and Asterisk.

Continue reading for server setup details and security best practices…

Read more…

Categories: Asterisk, FreePBX, Jake B, Ubuntu Tags:

10 reasons why Mint might not fail in India

July 7th, 2010 14 comments

Last evening while reading the SA forums, I encountered a thread about Linux and what was required to bring it to the general public. One of the goons mentioned a post that indicated ten reasons why Ubuntu wasn’t ready for the desktop in India. I kid you not – the most ridiculous reason was because users couldn’t perform the important ritual of right click/Refreshing on the desktop five or more times before getting down to work.

Here are Bharat’s reasons why Ubuntu fails, followed by why I think Mint might succeed instead in its place (while still employing his dubious logic.) When I refer to Indian users, of course, I’m taking his word for it – he’s obviously the authority here.

GRUB Boot Loader does not have an Aesthetic Appeal.

Bharat complains about the visual appearance of Grub – how it does not create a good first impression. This is, of course, in spite of Windows’ horrible boot menu when there’s more than one operating system or boot option to select. Apparently Indian users all have full-color splash screens with aesthetic appeal for BIOS, video card and PCI add-in initialization as well; this is just the icing on the cake that makes them go “eurrrgh” and completely discount Ubuntu.

To improve relations with India and eliminate this eyesore, Mint has added a background image during this phase of boot. My good friend Tyler also informs me that there’s a simple option in the Mint Control Center called “Start-Up Manager” that alllows easy configuration of grub to match a system’s native resolution and color depth.

Login Screen-Users are required to type in their username.

Again, another seemingly impenetrable barrier. Has nobody in India worked in an environment where typing in usernames AND passwords is required – like, for example, posting a blog entry on WordPress or signing into Gmail? In any event, Mint’s GNOME installation definitely gives a clickable list for this awfully onerous task.

Desktop-The Refresh option is missing!

I’m just going to directly lift this description as to the burning need for right click / Refresh:

What does an average Indian user do when the desktop loads in Windows?He rights clicks on the desktop and refreshes the desktop about 5-6 times or until he is satisfied.This is a ritual performed by most Indian Users after switching on the computer and just before shutting down the computer.
When this average user tries to perform his ‘Refresh’ ritual in Ubuntu,he is in for a rude shock.The Ubuntu Desktop does not have a Refresh Option or any other simliar option like Reload in the Right Click Menu.
So I advice Ubuntu Developers to include to a Refresh or a Reload option in the right click menu on the Desktop and in the Nautilus File Manager.The option should be equivalent of pressing Ctrl+R.As of now ,pressing Ctrl+R refreshes the Desktop in Ubuntu.

Mint’s developers have unfortunately not come around to this clearly superior way of thinking by default yet.

Read more…

Setting up a RocketRaid 2320 controller on Linux Mint 9

July 4th, 2010 8 comments

After the most recently recorded podcast, I decided to take a stab at running Linux on my primary media server. The machine sports a Highpoint RocketRaid 2320 storage controller, which has support for running up to eight SATA drives. Over the course of last evening, I found out that the solution wasn’t quite as plug-and-play as running the same card under Windows. Here’s what I found out and how you can avoid the same mistakes.

Remove the RocketRaid card when installing Mint.

Make sure you have decent physical access to the machine, as the Mint installer apparently does not play nicely with this card. I replicated a complete system freeze (no keyboard or mouse input) after progressing past the keyboard layout section during the installer. Temporarily removing the 2320 from its PCI-Express slot avoided this problem; I was then able to re-insert the card after installation was complete.

Compile the Open Source driver for best results.

Highpoint has a download page for their 2300-series cards, which points to Debian and Ubuntu (x86 and x64) compatible versions of the rr232x driver. Unfortunately, the Ubuntu 64-bit version did not seem to successfully initialize – the device just wasn’t present.

A post on the Ubuntu forums (for version 9.04) was quite helpful in pointing out the required steps, but had a broken link that wasn’t easy to find. To obtain the Open Source driver, click through to the “Archive Driver Downloads for Linux and FreeBSD” page, then scroll to the bottom and grab the 32/64-bit .tar.gz file with a penguin icon. I’ve mirrored version 1.10 here in case the URLs on the HighPoint site change again: rr232x-linux-src-v1.10-090716-0928.tar.gz

The process for building the driver is as in the original post:

  • Extract the .tar.gz file to a reasonably permanent location. I say this because you will likely need to rebuild the module for any kernel upgrades. I’m going to assume you’ve created something under /opt, such as /opt/rr232x.
  • Change to the extraction directory and run:cd product/rr232x/linux
    sudo make
    sudo make install
  • Reboot your system after the installation process and the kernel will load the rr232x driver as a module.

Install gnome-disk-utility to verify and mount your filesystem.

I’m not sure why this utility disappeared as a default between Mint 8 and 9, but gnome-disk-utility will display all connected devices and allow you to directly mount partitions. It will also let you know if it “sees” the RR2320 controller. In my case, after installing the driver and rebooting, I was able to click on the 3.5TB NTFS-formatted storage and assign it a mount point of /media/Raid5 in two clicks.

What’s next?

Most of the remaining complaints online revolve around booting to the RR2320 itself, which seems like more of a pain than it’s worth (even under Windows this would seem to be the case.) I personally run a separate system drive; the actual Ubuntu installation manual from Highpoint may have additional details on actually booting to your RAID volume.

I’ve yet to install the Web or CLI management interface for Linux, which should happen in the next few days. One of the really neat items about this controller is that it can email you if a disk falls out of the array, but I’ll need to get the Web interface running in order to change some outgoing mail servers.

I also haven’t done any performance testing or benchmarking with the controller versus Windows, or if there would be an improvement migrating the filesystem to ext4 as opposed to NTFS. I do plan to stick with NTFS as I’d like portability across all major platforms with this array. From initial observations, I can play back HD content from the array without stuttering while large files are being decompressed and checksummed, which is my main goal.

Restore the default Linux Mint 8 theme and colours

January 18th, 2010 3 comments

After playing with the GNOME Appearance preferences on my new Mint 8 installation, I managed to completely lose the color scheme, window decorators and other options for the default Helena theme – which I actually liked.

Due to an unrelated incident that I will blame on an abuse of Compiz (which really doesn’t play nice with the Xinerama extension), I recreated my GNOME profile this morning and saved out the default theme. For my own future reference (and anyone else who doesn’t want to nuke their profile), I’ve uploaded the default Mint 8 theme. Extract it to your ~/.themes/ directory and it will appear in Control Center > Appearance as “Default Mint Theme”.

This theme should theoretically work on any Linux distribution with GNOME, as well, but you’ll need the “Shiki-Wise” control set, “Shiki-Colors-Metacity” window border, and the “GNOME-Wise” icon set for more than just the gray and green hues.

Eclipse in Ubuntu-based distributions missing update site list

January 17th, 2010 2 comments

If any of you are using a Ubuntu-based distribution (Ubuntu, Kubuntu, Xubuntu, Linux Mint) and do any sort of Eclipse development, the current 3.5.1 package available with the distribution (3.5.1+repack~1-0ubuntu3) is missing the standard Galileo and 3.5 update sites in the Available Software Sites list:

This bug has already been reported to Launchpad, but here are the relevant sites you can add to enable Galileo updates and install new plugins:

Name: The Eclipse Project Updates

Name: Galileo

(This has also been cross-posted to my personal site, “Bus error”.)

Trying Mint – I likes what I sees.

January 16th, 2010 8 comments

While my initial plan for January was to stick with Windows 7 and perhaps try out Fedora 12, a bad DVD interrupted the Fedora install progress. Out of sheer convenience, I’d planned on running Linux Mint in a VM and had pulled the ISO earlier in the week. “Aha!” I thought. “I’ll install this instead of Fedora and see what’s what.”

My initial impressions are that Mint is perhaps the first Linux distribution that I’d enjoy using on a day-to-day basis. With only a few minor tweaks (activating multiple monitors and using optical out for sound), I have a completely functional desktop environment. Compiz is totally integrated into the experience, degrades gracefully if needed, and is used to enhance the UI rather than provide unneeded eye candy.

Taking a page out of Jon’s book, I also installed Banshee for media playback. What a difference from previous media player experiences – my BlackBerry was automatically detected, synced with my library and folders were built properly in the MediaCard/BlackBerry/music directory. Now, all I need is some better music and I’ll be set!

End of the road with Gentoo – new year, new experiences

January 2nd, 2010 2 comments

Since my admittedly outdated last post, I’ve been keeping busy in real life – most recently, I was out of the country for seven days, braving airport security and experiencing relatively nice temperatures in Colorado.

I’ve also been apartment-seeking and dealing with my Logitech Z-5300 speaker system that one day mysteriously refused to power on. This was unfortunate as it left me without a convenient way to blast the latest 30 Seconds to Mars album at high volume. (OK… maybe I’ve also been overplaying the Glee soundtrack too.)

My taste in music aside, here are my conclusions from the experiment and what I plan to do for my computing environment in 2010:

My initial ambitions

To gain additional experience with Linux and figure out which open source applications make viable alternatives to commercial software. Being platform-agnostic, while maintaining as much data out of the privacy-reducing “cloud” as possible, is one of my top priorities.

Gentoo is certainly the distribution to pick for the additional experience goal. I have a much better understanding of the Linux filesystem and how package management works than I did in September, and I could probably maintain a Web or file server environment with Gentoo – even AFP worked nicely and more reliably than SMB once it was set up. I also gained additional experience with Songbird, KeePassX, Synergy and OpenOffice. These desktop applications are excellent examples of enabling a more positive user experience.

What didn’t go as expected?
My initial conceptions about Gentoo included a cutting-edge environment, with a difficult-to-master package management system and customization abilities that allowed for drastically improved performance. I learned that the stock version of Gentoo is very stable, but not necessarily cutting edge – many GNOME packages are still marked as ‘unstable’ for x64 architectures past 2.20, which was originally released in September 2007.

Unlike a Debian environment, where the ‘testing’ branch is reasonably usable for a non-project developer, the ‘unstable’ environment packages in Gentoo can completely break Portage, leaving you without a good way to manage software.

While desktop performance was quite in line with my idea of improved performance, certain elements are not quite at the level of more desktop-oriented distributions like Ubuntu. The bootup sequence happens in series by default and waits on a DHCP response before even thinking about GDM/KDM or other services; turning on parallel-boot options for reduced startup time caused my network adapter to need several mashings of “ifdown eth0; ifup eth0” in a terminal before it would consider acquiring an IP address.

Cloud computing and privacy
Through the experiment I also did not succeed with my goal to keep data out of the ‘cloud’ as much as possible. Through numerous reinstalls, filesystem changes and hardware swaps, I found that the most reliable and convenient way to save and access data was to store it with Google – either in Gmail, Documents or another service. It’s the little things, like how Thunderbird will not save a SMTP password until you first send a message with that account… and then you have to fire up KeePass, and by that time you may be dealing with another message and forget about the original email.

I will be working on reducing my dependence on Google in the new year by migrating documents, keychains and other important files to a server in a local datacenter, which is not subject to the USA PATRIOT act. I expect this will be a long and slow process of learning and breaking old habits.

What’s next for me?

  • My main machine now boots Windows 7 Professional. This is due to the recent Steam holiday sale – one of my favourite games right now is Torchlight, which is heavily influenced by Diablo/Diablo II. I also enjoy having a Windows machine around for Visual Studio development.
  • During January, I will be installing Fedora 12 and trying to make some additional games work using some of these instructions.
  • I also now have a second machine running Xubuntu 9.10. I chose XFCE as the computer has a limited amount of memory and disk space, and makes a perfect test environment for Linux applications.
  • In the future, I might try managing an Asterisk installation from the Xubuntu system for more experience with telephony server administration.
Categories: Gentoo, Jake B Tags:

Back to relative stability with Funtoo

November 21st, 2009 No comments

In my last post, I’d mentioned that I planned on reinstalling Gentoo to fix several dependency issues that had made upgrading packages an impossibility. I chose to use the Funtoo variant and have since become an expert with the install process.

My first attempt was an installation of Funtoo unstable, which included packages that are normally masked out for stability reasons. This particular installation went fine and worked properly, until the hard drive I’d installed it on decided that it had better things to do than spin up when booting the computer. The end result was a kernel panic on boot and inability to mount the drive. One thing that I did notice under GNOME 2.28 is that “alacarte”, the menu editor, is not installed as a default package or chained as a dependency. As a result, the “Edit Menus” option in GNOME merely displayed a list of installed applications, with no way to add new ones or edit the properties of existing ones.

The latest and most current version I’m running now is Funtoo stable. It’s a very snappy and responsive environment, and I haven’t yet run into package conflicts or dependency problems. Unfortunately, two of my most-used apps (Songbird and VLC) have problems running – VLC refuses to display a user interface (but runs in a terminal seemingly properly), and Songbird insists that my request to play a song should be met with a core media error. I may end up trying the mailing list or IRC channel to see what the level of support is for VLC at least, or the appropriate process for migrating a “stable” release to the “unstable” one.

Update: I’m apparently plagued with the “didn’t read the documentation” curse. Here’s what VLC says when I try to reinstall it:

 * Messages for package media-video/vlc-1.0.3:

 * You have disabled the qt4 useflag, vlc will not have any
 * graphical interface. Maybe that is not what you want...

I’m not sure if I really want to build it with QT support… but in the meantime, I’ve added “media-video/vlc qt4” to the /etc/portage/package.use file and it seems to work fine.

Once again, portage perplexes and enrages me

November 3rd, 2009 No comments

I haven’t needed to reinstall my system nearly as many times as Jon or Tyler, which is a good thing – Linux is supposed to be reasonably stable once it’s up and running, right? My first reinstall of Gentoo was based on a circular dependency with portage, but left me with a stable system that was running GNOME until I tried emerging world. (This is the Gentoo equivalent of “apt-get update && apt-get upgrade”.)

This morning’s fiasco involved the system still thinking that QT3 was installed, even though I’d specifically removed the “kde” flag from my make.conf file. After repeatedly trying to unmerge and purge the unwanted KDE packages from my system, I ran “revdep-rebuild” (suggested on for the particular OGG library that was refusing to compile) which threw all the KDE packages back in place – and worse, suggested a dependency on GNOME!

There are too many issues that can occur when your system won’t update. I have a client’s Windows machine rebuilding because FakeXPA and “Windows Antivirus Pro” snuck past Symantec AntiVirus – and with new remote exploits coming out all the time, I don’t need my SSH server compromised by a script kiddie.

As a result, I’m currently installing a variant of Gentoo called Funtoo Linux, which uses the same portage package management system but differs in its use of source control, initialization scripts and core overlays. It uses the Gentoo LiveCD to install, and appears to have a more liberal approach as to which packages are available at any point in time. I also agree with Daniel Robbins’ approach to blockers and blocked packages, which has been hashed out on the Gentoo bug tracker in great detail. Wish me luck!

Quick fix: Compiz on Gentoo, resolving text corruption in terminal

October 26th, 2009 2 comments

This will be a brief reference post mostly for my own benefit, but a good fix for an issue where Compiz shows black boxes or invisible characters in the GNOME terminal when typing:

As for the text corruption issue… Is the “Force X and GLX synchronization” option enabled in the workarounds plugin in ccsm?

In my case, the option was enabled in CompizConfig Settings Manager, but the Workarounds plugin wasn’t:

Enable the Workarounds plugin under the Utilities category

Select the "Force synchronization between X and GLX" checkbox

Hopefully this is useful for those of you using the terminal on a regular basis! I’ll likely have a full update on switching back to GNOME and installing Compiz shortly.

KDE on Gentoo: slightly less inflammatory but still difficult

October 24th, 2009 1 comment

After the shitstorm that was Dana’s post about KDE, I figured I’d go into more details about how my day to day use is going.

Multiple Libraries Make Baby Jesus Cry
All the base system software in the Gentoo kdebase-meta package compiles against the QT4 libraries, but many of the optional packages still depend on QT3. Popular programs like KTorrent and AmaroK either still haven’t been updated or tagged in the Portage repository, so at any given time a desktop user will have programs running that use two separate graphical widget libraries. My level of use is such that I have programs running with GTK+, QT3 and QT4 on the same monitor – not to mention apps like Songbird that draw their own custom interface.

From an efficiency and system resource standpoint, this is really poor utilization. I have 4GB of RAM for intensive tasks such as music library organization, not to show slightly different scrollbars and window controls in every third application. Under GNOME 2.26, there was nowhere near this level of display potpourri with the default system utilities. (It also helps that Firefox is GTK+, which is close to the top-used app on my machine.)

Some Applications Just Suck
I’ve attempted to use all of the built-in KDE applications to combat the mismatched desktop effect, and often I’ll find them wanting compared to the GNOME or GTK+ equivalents. Dolphin seems like a very capable file manager, but it will lock up when hovering over some video thumbnails or seemingly randomly when in my home directory. (The rest of the system remains responsive, so it looks like Dolphin’s the culprit.) Konqueror is fast, but the configuration and settings are confusing to say the least – and without proper add-on/AdBlock Plus support, I can’t consider making it my primary browser.

Another example of application suck is ksnapshot, which is supposed to do what you think it would – take screen captures of active windows or the entire desktop. I made the unfortunate selection of selecting to capture a region, specifically the “Settings” menu in Konqueror. After selecting a nice 300×300 pixel area, pressing Enter to confirm the region did nothing. Escape did nothing, nor did any combination of mouse buttons. Since ksnapshot takes focus away from the entire desktop, it wasn’t possible to exit the application. I had to SSH in from another machine and manually kill the process to regain control.

Desktop Effects Are Nice
Once I’d mangled xorg.conf and set up my nVidia drivers in TwinView mode, I still ran into issues enabling the built-in KDE compositing effects. The command in Gentoo to learn is “eselect”, which when combined with “eselect opengl list” allows a display of all the possible OpenGL rendering engines. Apparently even when the nVidia drivers are enabled, one must specifically tell X to use the correct renderer.

The problem I’ve encountered is that while some effects are smooth as butter, such as moving Wobbly Windows, resizing them is delayed and causes display tearing. I have no idea what’s causing this, and the behaviour shouldn’t exist.

Going back to GNOME
As of tomorrow, I have no doubts that I’ll be returning to GNOME for regular desktop use. KDE has some compelling features but my experience with it has been less than ideal. I can’t afford to have my file browser lock up during regular use – and GNOME’s environment seems much more predictable.

Portage drops the canoe, crushing my Gentoo installation

October 13th, 2009 No comments

In the process of migrating to KDE as my desktop environment (selected as I have no experience with the newest versions, and I want an entire desktop environment as opposed to just a window manager) I decided to use the fateful eselect profile utility.

Gentoo has a system profile selector, where you can choose the Portage profile that best suits your environment and needs for the computer. My existing profile was default/linux/amd64/2008.0, and I decided to switch to default/linux/amd64/10.0/desktop. I then ran emerge –update –deep –newuse world to completely rebuild and update packages accordingly.

Bad idea.

Portage indicated that I had hundreds of dependency conflicts and refused to update or install additional packages, no doubt aggravated by my use of “autounmask” and Portato’s dependency resolver. The most visible problem was Ekiga depending on GTK+ 2.6, which depends on GNOME 2.26, which itself depends on Ekiga. It was a giant circular mess that left me unable to resolve dependencies. I tried all the traditional fixes, including depclean and trying to reset my package.keywords file.

Faced with an intermittently working desktop, I flattened and reinstalled the system last night and am continuing to get things back up in working order, this time with the QT libraries enabled. (KDE is currently compiling – I’m using twm, the default X window manager, to run a web browser.) A few things I noticed this time around:

  • Don’t necessarily put a whole ton of USE flags in your /etc/make.conf file at first. Portage is pretty good at telling you if a flag is required for a package, and you can always recompile something if you need to.
  • In the latest amd64/10.0/desktop profile, comes with version 1.6. I had no end of difficulty getting an xorg.conf file created with X -configure – it would start and load with only a black screen. I ended up running using startx, then using nvidia-config to generate a base file.
  • evdev (for input device support) works great, provided you have hal and dbus USE flags and the appropriate daemons are started. I didn’t even have to touch the input device section of xorg.conf.
  • Select your system profile first, before changing it will cause grief!

The problem with Gentoo: my reactions

October 9th, 2009 1 comment

One of the articles Tyler passed me this morning was a brief post on three problems with Gentoo by Dion Moult. There are a few things he’s mentioned that I definitely agree with. Having used the distribution for a little over a month, some minor changes would go a long way to making the experience less painful and more usable.

Updated Documentation
This is the biggest factor that I think impacts Gentoo uptake, adoption and continued use. While the installation guide is very detailed, it’s beginning to show its age: there’s no mention of the ext4 filesystem, and it only details XFS briefly. Since choosing a filesystem and partitioning scheme is one of the first things that needs to be done during the installation process, it’s important to give the most amount of information possible to prevent users from having to change things down the line.

Likewise, the configuration guide discusses the difference between using /dev/input/mice and /dev/mouse as a pointer input device, but both configurations neglect the more recent evdev and HAL. To their credit, the wiki maintainers indicate that the information is out of date, but getting up and running is absolutely essential for a desktop or workstation configuration.

Dion mentions that things should just work out of the box. As far as hardware goes, my only difficulty so far has been getting my mouse to work (due to the evdev/HAL issue mentioned above.) I run an nVidia card and by following the nVidia guide, I had no issues with getting accelerated graphics working. Likewise, after installing GNOME and setting USE flags, my external hard drives and USB devices are now working consistently.

Since my main machine is a desktop, I haven’t really investigated the usual problem points of hibernate and standby. One thing that might improve compatibility would be an installer or set of meta-packages that takes care of the hardware usually present for desktops or laptops. For example, a set of common wireless modules, power management tools and ACPI/DSDT fixes would provide a convenient way to get a netbook or laptop user up and running.

Better communication between developers and users
I also agree that when developers maintain a dialog with their users, it’s much easier to understand the rationale behind program design decisions or why a package isn’t included in the distribution. As of this point, I have no idea why the default KDE version in Gentoo is 3.5 – and searching through bug reporting databases isn’t an easy way to figure this out. I expect it’s due to stability concerns, but at least make the reasons behind that known. Providing easy instructions for adding overlays or unmasking packages to achieve a user’s goals also helps foster good relationships.

The Songbird ebuild is another case in which I don’t know what to do. Is there a way to install the package or not? I’m satisfied with the stability of Songbird on my own system, but there’s no clear and easy way to get it loaded into Portato.

Perhaps the only way to really understand the Gentoo installation process is to install Gentoo itself, then try again and use what you’ve learned. 🙂

TrueCrypt, kernel compilation and where’d /boot go?

October 5th, 2009 1 comment

Since I’ve installed Gentoo, I haven’t had access to my other drives. One of them is an NTFS-formatted WD Raptor, and the other is a generic Seagate 300GB drive that contains my documents, pictures and Communist propaganda inside a TrueCrypt partition. Getting the Raptor to work was fairly simple (as far as Gentoo goes) – I added the entry to my /etc/fstab file and then manually mounted the partition:

/dev/sdb1               /mnt/raptor     ntfs-3g         noatime         0 0

The TrueCrypt drive proved to be more of an issue. After installing the software and attempting to mount the partition, I encountered an error:

device-mapper: reload ioctl failed: Invalid argument 
Command failed

A quick Bing and the Gentoo Wiki described this problem exactly, with the caveat that I had to recompile my kernel to add support for LRW and XTS support. Into the kernel configuration I went – the only difference I noticed is that LRW and XTS are considered “EXPERIMENTAL” but aren’t noted as such on the requirements page:

Kernel configuration options

(This may come down to an x64 vs. x86 issue, but I haven’t run into any issues with these options enabled (yet!))

Of course, then came the make && make modules_install commands, which didn’t take too long to complete. The question then became, how do I install the new kernel? Looking in my /boot partition, I only had a few template files – and not the kernel itself or any grub settings. Essentially, /boot had nothing in it but the system still launches properly!

I then tried mounting /dev/sda1 manually, and the kernel and grub.conf showed up properly in the mountpoint. Something is obviously wrong with the way my system remounts /boot during the startup process, but at least now I’m able to install the new kernel. After copying /arch/x86_64/boot/bzImage to the newly available directory, I rebooted and the new kernel was picked up properly. TrueCrypt now lets me open, create and delete files from /media/truecrypt1, and automatically uses ntfs-3g support to accomplish this.

Overall, I’m pretty pleased at how easily I can recompile a kernel, and installation was seamless once I figured out that /boot wasn’t pointing to the right location. I expect I’ll try and manually remove the directory from /dev/sda3 and see if that makes a difference.

Perhaps the most useful Songbird addon ever: The Exorcist

October 3rd, 2009 4 comments

Mad props (to use some ‘hip’ language) to the developers of The Exorcist, a Media View plugin for Songbird that does two things, and does them very well:

  • Finds and removes duplicate tracks from a Songbird library.
  • Finds and removes ‘ghost’ tracks (files no longer present on the filesystem) from a Songbird library.

These two issues are the most frequent contributors to “iTunes library rot” on my Mac – try as I might, somehow my library always gets desynchronized from the actual filesystem and it’s just easier to rebuild it every few months. The Exorcist looks like it’ll help me avoid this problem!