Archive for the 'Technology' Category

Fedora Core 7 Upgrade

Saturday, August 18th, 2007

Not an early adopter, I. Not for technologies I’m not helping develop….

I finally upgraded to Fedora Core 7. It went smoothly, with just two hiccups, one which Fedora could ease, and the other which was entirely my fault but serves as a good warning of how things could go wrong.

When updating the laptop, Anaconda complained about there not being enough space to proceed with the installation. I had to resize my root partition. Partition resizing is relatively easy in general if you’re using Logical Volume Management (LVM), as I am, but has an extra wrinkle when you’re trying to resize the root partition itself. Here are the steps that I took, gleaned from various sourced but mostly from the LVM HOWTO:

  • Boot from the rescue disk, mount filesystems when prompted
  • Unmount the partition you’ll be shrinking to make room for the partition you’ll be extending. My shrinking partition was /dev/VolGroup00/LogVol06, mounted on /mnt/sysimage/scratch

    umount /mnt/sysimage/scratch
    
  • Check the shrking partition’s filesystem

    e2fsck -f /dev/VolGroup00/LogVol06
    
  • Resize the shrinking partition’s filesystem. The second argument below is the new size of the partition expressed as the number of 4K blocks

    resize2fs /dev/VolGroup00/LogVol06 965120
    
  • Reduce the shrinking partition, extend the growing partition. In my case, the growing partition was /dev/VolGroup00/LogVol00

    cd /usr/sbin
    lvm lvreduce -L-350M /dev/VolGroup00/LogVol06
    lvm lvextend -L+350M /dev/VolGroup00/LogVol00
    
  • Reboot from rescue disk, do not mount filesystems when prompted

  • Expand the growing partition’s filesystem

    cd /usr/sbin
    lvm vgchange -a y
    e2fsck -f /dev/VolGroup00/LogVol00
    resize2fs  /dev/VolGroup00/LogVol00
    

After doing all this, I could successfully upgrade my system.

The second hiccup occurred on my desktop. After upgrading and a day or so of subsequent use, I suddenly found that post-boot, the login screen (gdm) would not appear; in its place, X showed only a message box that said Greeter application appears to be crashing. Attempting to use a different one. VNC sessions would not boot up properly, logging instead (in ~/.vnc) a different message: GConf Error: Failed to contact configuration server; ...

After much web research, I found two possible culprits. One was the accessibility option in gdm, so I turned that off: I sshd in remotely, ran gdmsetup and turned off accessibility. That made the greeter show up, and I could log in….but my session immediately terminated with a different dialog box showing a log message that I was out of disk space. VNC sessions still would not initiate properly.

The other possible culprit was my root partition being full. Unlike my laptop, my desktop does not use LVM, as I’ve been upgrading through several generations of Linux for, egads, eight years now. df showed my root partition being full at 100%, although, interestingly, the ratio of the df-reported Used and Available space was clearly less than 100%. Apparently, the system restricts about 10% of the disk from non-root use (otherwise Really Bad Unrecoverable Things Happen), and df takes that into account when reporting the Use% column.

Anyway, I deleted or moved/symlinked all the files or directories that I thought were safe, but to no avail. I discovered on the Internet that a standard utility, parted, will resize partitions—but you can’t change the starting location of an ext2 or ext3 partition, and in my case, the root partition was the last one on the disk. I was really SOL, up a creek without a paddle, on a trip without a toothbrush….you get the idea.

This particular story had a happy ending, though. Looking through / again, I discovered backup directories that shouldn’t have been there. Apparently something had gone wrong with my automatic back-up scripts and they had been written to the wrong location. I deleted those directories, my root partition usage fell by almost half, and my system is functional again.

The morals of this story are:

  • never let your root filesystem get too full
  • use LVM whenever you can to make partition resizing easier

Delurk!

Friday, January 12th, 2007

I just found out via Reclusive Leftist that it is officially Delurking Week. I know my blog does not get many regular visitors yet, but if you read me, won’t you please consider saying “Hi!” in a comment?

Cheerio, and happy reading!

“Captain’s log…”

Wednesday, December 13th, 2006

One of the problems I’ve noticed in my trips is that it is something of a hassle to record your adventures after the fact. On the Newfoundland bike trip, for example, every few days I would sit in camp updating my hand-written journal. When I got back home, it took me several weeks to slowly transcribe those notes into my computer, and several weeks more to actually pull a few entries and blog about them. In fact, it was so much hassle that my life had already moved on and I did not get to blog as much as I wanted.

To fix this problem, I’ve been lusting after a voice-recording solution so I can record my adventures on the fly. Finally, last night I bought a Belkin TuneTalk for iPod. I just tested it out, and it seems to work fine! I’ll be using it on the cross-country move trip.

My dream is to get voice recognition on my computer so that I can automatically transcribe my audio logs into text files. Unfortunately, voice recognition on Linux appears to be pretty much dead at this moment (email me if you know of a one that is currently available). I may have to take a risk and buy Naturally Speaking and hope it works on Wine….

Mobile services

Wednesday, November 29th, 2006

The New York Times has a useful article on cool services you can access via cell phone. The one that caught my eye is Pinger, which allows you to record a voice message and have the person notified on their cell phone (or email account) that a message is waiting.

Because Pinger is much faster and more direct than voice mail, it’s great for sending quick voice notes when you’re driving or walking between meetings. It’s also ideal when you can’t risk being stuck in a 20-minute conversation with no polite way out.

Bonus features: You can broadcast a message to a whole group at once (”Baby girl, seven pounds — mom doing well!”), forward a message to a third party (any cellphone carrier), or retrieve and manage your messages on the Web.

The non-intrusiveness of texting together with the ease of voice. Nice!

UPDATE: For those of you who are unconvinced, another Pinger feature I didn’t mention is that once you’re signed up, you have a webmail-style interface to your Pinger voicemail: Inbox, Outbox, etc.

Webcam

Sunday, November 26th, 2006

I am now Webcam-enabled! Give me a call! You need to use software that complies with the SIP or H.323 protocols. AFAIK at the moment, here’s how:

SIP: I have an SIP address registered at ekiga.net. (You should get one too, BTW!) Give me a heads-up and then point your videoconferencing software my way:

  • On Linux, use Ekiga
  • On Windows, get an SIP client, such as the free 3CX VOIP (not an endorsement; I haven’t tried them)

H.323: This is the protocol that Windows NetMeeting uses. Go to Start > Run… and type conf. If I know your username and hostname/IP, I can initiate a call. You can probably do the same if you have that information on me.

IM: Gaim does not yet seem to support video chat, and Ekiga does not seem to support the usual IM protocols (I think). I’ve read that Windows Messenger (but not MSN Messenger nor Windows Live Messenger) supports these protocols. Let us hope Microsoft will start/continue being SIP/H.323 compliant, and that the open source packages will learn to work with IM protocols.

One caveat is that I’ve only tried this within my intranet— so it may take some fiddling the first time to make sure it works fine across my router/firewall.

Here’s a list of programs that work with Ekiga.


Technical Details

I bought a Logitech QuickCam for Notebooks Pro

I downloaded the UVC driver using

svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk

and installed it using

# gmake clean
# gmake
# gmake install

On my desktop (but not on my laptop) I ran into an Anaconda installer problem: the wrong architecture is set up for compiling header modules. The fix is here.

I ran ekiga, and it just worked (after configuration the input and output audio devices)

Fedora Core 6

Friday, November 17th, 2006

I upgraded my desktop and laptop to Fedora Core 6. I downloaded the discs using BitTorrent for the first time (I first installed BitTorrent using yumex). The installation went smoothly. Here are some caveats:

  • The Anaconda installer’s dependency resolution takes a long time when upgrading, but it really is running. One just has to be patient. Really.
  • I think there’s a bug with the synaptic touch pad driver. A bunch of the windowing utilities on the laptop (buttons and menu) do not respond after you make a selection until you move the mouse some more. This is not happening on my desktop, which is why I suspect a bug in the driver and not in Gnome.
  • To update the previously installed packages using yumex, you must first go to the yumex Tools menu and select Reset Repository Cache.
  • The FC-provided nVidia driver works out of the box—but it does not support the desktop effects. Since the proprietary driver is free, I am installing this manually instead.
  • Software suspend (suspend2) works out of the box when you run, as root, /usr/sbin/hibernate…and even when you choose Suspend from the Gnome menu. Nice! It appears to be unnecessary to force the nvidia module to unload when suspending.
  • To install the fancy desktop effects, you need to install the compiz package, which adds a Desktop Effects option to your menus. Neither my desktop nor laptop video drivers supports Desktop Effects. Here’s how to configure the nVidia driver for the effects—but this seems to work only for beta versions of compiz, which I have not yet installed.
  • I recommend using mjmwired’s reference page to finish updating the installation with useful utilities. In the process, I found I had to resize my root partition. Since system-config-lvm insisted on unmounting the root partition (impossible in a normal boot), I booted from a rescue disk and did vgdisplay and lvscan to display the logical volumes and partitions, and pvextend to resize the logical partition. I then booted the system normally and did resize2fs for online resizing of the file system into the larger partition.

Fast User Switching

Saturday, June 10th, 2006

Since Knox’s laptop (Windows, poor soul) is getting repaired from its deathbed, I wanted to let him use mine without logging out of my terminal session. I just could not find the user-switch option or applet which I was sure I’d seen in FC4. After Googling for a while, it turns out that the fast [console] user switch is still there but turned off in the menu by default. To turn it on, just right click on the menus and choose “Edit Menus,” then select “New login.” I learned of this here

Memory upgrade

Wednesday, June 7th, 2006

Installing the extra laptop memory I ordered went off without a hitch. I just followed the instructions in the S580 User’s Manual.

Hibernating and suspending

Friday, May 19th, 2006

I’ve been playing around with suspend2 since the Fedora 4 install. I’d gotten it to almost work: I could hibernate from run level 3, which meant I got the benefits of a quick boot but not of having my session preserved. The problem was the graphics card. I didn’t have time to investigate, and at any rate, I figured Fedora Core 5 would come out soon.

I have just gotten suspend2 to work with Fedora 5 and the nVidia drivers! I can now truly hibernate my sessions!

I followed the directions in Matthias Hensler’s page. I set upyum to access his repository, and then installed the modified kernel sources and the eye-candy progress meter: # yum install userui-suspend2-fbsplash userui-suspend2-theme-fedorabubbles # yum install kernel-suspend2

I added kernel parameters to the kernel line in /etc/grub.conf to disable SELinux, set the framebuffer for the progress meter, and disable the kernel’s AGP support:

   kernel /vmlinuz-2.6.16-1.2111_1.rhfc5.cubbi_suspend2 ..... selinux=0 vga=791 agp=0

I also add a duplicate line with the additiional kernel option noresume2 to boot without resuming a hibernated kernel.

In nVidia device section of /etc/Xorg,conf, I enable nVidia’s own AGP: Option “NvAgp” “1″

I modified the /etc/hibernate/hibernate-conf script using this as a reference. Aside from unloading the necessary modules, and such niceties as locking the screen on hibernation and resetting smartdimmer on resume (since the screen brightness does not appear to be persistent) the crucial line appears to be the expected_compression:

 ProcSetting expected_compression 50

That’s it! Typing, as root, pm-hibernate hibernates me nicely. Andrei’s page says he had trouble suspending/resuming on battery power, but I don’t seem to have that problem. The eye candy does not work perfectly: the expected_compression line makes the progress meter appear only fleetingly both on suspend and resume, which is too bad– but at the end of the day, insignificant.

One thing I wonder: many of the references imply there’s a hibernate button in the “Logout” dialog. I don’t see it. I may be missing the corresponding package. I will try installing gnome-power-manager and see how that works. (Either that or a shell script will be necessary to invoke pm-hibernate as non-root.)

Configuration path

Friday, May 19th, 2006

Not too long ago, I mused about how pleasant it is to discover that someone had paved a trail where you through you were stumbling alone. I just came across Andrei’s page on configuring Linux on the S580 laptop. Granted, he’s using Gentoo and I’m using Red Hat, and he uses KDE and I use Gnome. Still, for the low-level configuration, his page is a good resource for configuration settings to try.