Installing VMware Server 2.0.2 with Linux Kernel 2.6.31-*-rt Ubuntu Studio 10.04

I’m working on a virtualized environment to run scalable instances of the Public Mapping Project app.

While the project offers an EC2 AMI, my boss wanted to run this on our own hardware, so we’re going to use VMware.  To develop the instance images, I wanted to install VMware Server 2.0.2-203138 on my notebook which is running Ubuntu Studio 10.04 with a 2.6.31-11-rt kernel.

The installer provided by VMware doesn’t work out of the box for Ubuntu Systems.  So, I followed the instructions in the Ubuntu Community VMware Server Documentation which instructs users to use a patching system developed by Radu Cotescu.  While this was easy to use and clearly documented, it didn’t work for me.  This is what happened:

ghing@geoffsnotebook:~/Downloads$ sudo ./raducotescu-vmware-server-linux-2.6.3x-kernel-71f8b66/vmware-server-2.0.x-kernel-2.6.3x-install.sh .You have VMware Server archive: 	VMware-server-2.0.2-203138.i386.tar.gzChecking for needed packages on UbuntuYou do have the linux-headers-2.6.31-11-rt package...You do have the build-essential package...You do have the patch package...Extracting the contents of VMware-server-2.0.2-203138.i386.tar.gzFound .tar file for vsock moduleFound .tar file for vmci moduleFound .tar file for vmmon moduleFound .tar file for vmnet moduleExtracting .tar files in order to apply the patch...Untarring ./vmware-server-distrib/lib/modules/source/vsock.tarUntarring ./vmware-server-distrib/lib/modules/source/vmci.tarUntarring ./vmware-server-distrib/lib/modules/source/vmmon.tarUntarring ./vmware-server-distrib/lib/modules/source/vmnet.tarTesting patch...Creating some simlinks for the newer kernels...ln: creating symbolic link `/usr/src/linux-headers-2.6.31-11-rt/include/linux/autoconf.h': File existsln: creating symbolic link `/usr/src/linux-headers-2.6.31-11-rt/include/linux/utsrelease.h': File existsApplying patch...Preparing new tar file for vsock modulePreparing new tar file for vmci modulePreparing new tar file for vmmon modulePreparing new tar file for vmnet moduleChecking that the compiling will succeed...Trying to compile vmci module to see if it worksPerforming make in ./vmware-server-distrib/lib/modules/source/vmci-onlyUsing 2.6.x kernel build system./home/ghing/Downloads/vmware-server-distrib/lib/modules/source/vmci-only/linux/driver.c: In function ‘LinuxDriver_Open’:/home/ghing/Downloads/vmware-server-distrib/lib/modules/source/vmci-only/linux/driver.c:363: error: implicit declaration of function ‘init_MUTEX’make[2]: *** [/home/ghing/Downloads/vmware-server-distrib/lib/modules/source/vmci-only/linux/driver.o] Error 1make[1]: *** [_module_/home/ghing/Downloads/vmware-server-distrib/lib/modules/source/vmci-only] Error 2make: *** [vmci.ko] Error 2There is a problem compiling the vmci module after it was patched. :(

I began to suspect that my problem could be related to the realtime kernel used by Ubuntu Studio. Googling, I found that other realtime kernel users were having problems installing VMware products.

This thread offers a description of the problem and a patch for another VMware project. Based on this I was able to create my own patch for the VMware server kernel module sources. I then modified Radu’s patch and was able to run his shell script to successfully install VMware server.

Relevant files:

To use, simply download my updated version of Radu’s patch and save it in the directory where you unarchived Radu’s installer scripts.

hfs+ on linux

I got a new MacBook from work and need to migrate files from my old Dell notebook running Xubuntu Linux.  Luckily, I had recovered a drive from a bricked machine that was donated to pages that I could use to transfer the files.

I don’t like the Fat32 file system, so I formatted the external drive as hfs+.  My workstation, running Debian, mounted the drive fine, but I couldn’t write.  I found that I had to disable journaling on the drive before I could write it in Linux:

$ diskutil disableJournal /Volumes/ghingexternal

Note: that command has to be run on the Mac.

Once I did this, I could write to the disk, but only as root.  Permissions of hfsplus partition, a thread on the Ubuntu message boards, provides this insight which is likely the case:

I got a new MacBook from work and need to migrate files from my old Dell notebook running Xubuntu Linux.  Luckily, I had recovered a drive from a bricked machine that was donated to pages that I could use to transfer the files.

I don’t like the Fat32 file system, so I formatted the external drive as hfs+.  My workstation, running Debian, mounted the drive fine, but I couldn’t write.  I found that I had to disable journaling on the drive before I could write it in Linux:

$ diskutil disableJournal /Volumes/ghingexternal

Note: that command has to be run on the Mac.

Once I did this, I could write to the disk, but only as root.  Permissions of hfsplus partition, a thread on the Ubuntu message boards, provides this insight which is likely part of the problem (since the mountpoint of the hfs+ formatted drive has uid:gid 99:99 on my Linux box):

I have to preface my entry with the warning that I am a complete newbie. I was having the same problem with accessing my files on my hfs+ partition. What I discovered is that by default OSX doesn’t allow any access for the gid for files and folders in your User’s folders. I don’t know if this is the wisest thing, but I went into the Finder, did a “Get Info” on all the files/folders I wanted to access in Ubuntu, I then went under permissions and switched the Group ID to something I could use in Ubuntu. I then made sure that the line in the fstab that mounts my hfs+ partition had a “gid=XXX” statement that matched what I set in OSX. I also made sure that the user I was using in Ubuntu was part of the group mentioned above. If this doesn’t make sense, let me know and I will clarify. Also, if you need help with OSX permissions, here is a link to an Apple KB article: http://docs.info.apple.com/article.html?artnum=107039

howto make a quarter sheet daily planner from an ical file in linux

My Planner

Update: Photos of my planner! Mine is on the left, next to a moleskin to give you an idea of the relative size.  Below is what each day looks like.

Inside of my planner

I use Sandy for most of my calendaring, but don’t have a PDA or mobile phone with a convenient calendar app (and can’t afford one).  So, I needed a paper daily planner that could be generated on a weekly basis from the events that I shoot into Sandy.  I find that it’s no too hard to do a daily paper->electronic sync to update my calendar in Sandy.  Sandy has an ics export which is really nice if I want to view my appointments along with appointments from my other calendars (like my work one, managed by Webcalendar).

What you need:

  • Calendar software that supports printing a daily view (I used KOrganizer)
  • psutils package

Import your remote calendar(s)

I first imported my calendar into KOrganizer (File->Import->Import Calendar and then entered the URL of my iCal feed in the Location field) .

Print the calendar to a postscript file

I printed a page for each day of my calendar with  File->Print and then chose Print Day for the Print Style.  I selected a month worth of dates for the Date & Time Range.  I clicked Print and chose the Print to File (Postscript) option for the printer Name.  The ability to print to a file came with my default KDE setup, but it shouldn’t be too hard to get this ability from whatever printing management system you’re using.

Make the postscript file 4up

I used the psnup program to put four days on one letter sized page.

 ghing@silvertongue:~/tmp$ psnup -pletter -b0.25in -4 planner.ps planner-up.ps

The above options say that the output paper size is letter, that there should be a .25 inch margin around each page (I did this to allow for a binding on the left hand side of the sheets), that there should be 4 pages from the file planner.ps combined into every one page in the output file planner-up.ps.

Open the postscript file and print it

I used evince to open and print my planner.

Cut the pages into quarters

I used a paper cutter to cut the printed pages into quarters.  Take care to keep track of the order of pages so it’s easier to assemble your calendar.

Find a cover and a binding

For mine, I used part of the cover of a notebook that I dumpstered in Bologna and held everything together with a butterfly clip that I got from the supply closet at work.  Be resourceful!

Liveblogging from Linuxfest

Linuxfest 2008 web page.

In the first talk the presenter said that he felt the greatest contribution of Linux was that it was the great equalizer and that it was responsible for the generation of skilled IT workers in India, China, and other parts of the world that are emerging as producing a lot of technology and technology workers.

Building Community and Taking Linux to the Masses

Zonker talked about Linux and Community and offered this definition of community, saying that FOSS communities have a lot to learn from communities in general:

“Community is when a group of people come together for common cause, work together, and become something greater than the sum of the individuals.”

He pointed out that community building in FOSS is taking software and not just making it free of cost but letting people drive the creation of the technology.

Despite his employment with Novell, he said that people using Linux, even if it’s not OpenSUSE, is a win for him and he’s happy to point out other FOSS communities that are doing things right.

FOSS communities getting it right: Fedora, Mozilla.

FOSS communities getting it wrong: KDE (releasing beta release as 4.0, dropping support for KDE 3.5), OpenOffice (great product, not growing or good community, lots of head butting with Sun)

Community building

When do you start building a community? As soon as you start a project!  Do you want people to contribute to your code, or are you just pushing it to the world?

OpenSUSE is responsive to calls from Japan for more translations.  He feels like Europe has accepted English as a lingua franca for Linux distros, but Japan hasn’t.  Zonker pointed out that this is totally legitimate and noted the challenges of western Europeans/Americans trying to navigate signs in a non-latin alphabet.  He said signs leading to people being invovled in your community need to be clear to lots of different people.

Community building is in the long term (years ! months).  With FOSS projects it’s important to realize that the projects have to be responsible to the community and not just managers or developers.  From the Ubuntu community manager his job is “Making sure the community is getting screwed by Canonical and making sure that Canonical isn’t getting screwed by the community.”

How do you manage community?  Build up trust so that people (developers) want to contribute.

How do you meet the goals of both the community and managers?  E.g. different milestones for Novell and OpenSUSE community.

A community manager’s job is finding and connecting the body parts, but the community itself provides the spark to bring the project to life.

One of the challenges at Novell was to take people who had worked forever answering to managers and they had to learn how to also be responsive to people who weren’t their managers and didn’t even work for the company.

openSUSE build system allows people to build packages for distros that aren’t just openSUSE.

Cool stuff: Helping Hands sessions to help new users with using openSUSE.

Zonker came to being a community manager from being a technology journalist.  This experience has been helpful because it’s made him a good writer and communicator which is crucial for managing a community.  He misses the objectivity of being a journalist and not being perceived as being connected with a company.

Developing on Mac

Had a really nice slideshow.  Lots of big icons.  As with Zonker, the slides were really sparse with most of the details being filled in with the talk.

Presenter defined the fundamental concept of Unix as:

$ ls | wc

“Little bits of functionality that you can link together in interesting ways”

Quartz composer tool is analogous to the pipe.  Patches link together graphic effects.  All the animations on the Mac are built this way. 

This Japanese artist uses Quartz composer in cool ways to make cool works (and he gives you the source).

This stuff is so cool.  The downside is that you have to be able to afford mac hardware and the OS.  I think the reason that people like Macs so much is because they’re fun to use.  Apparently all 6,7, and 8 graders in Maine get new Mac notebooks.  Kids found a way to cheat on a test, even with iChat disabled by creating ad-hoc wireless networks named things like ‘The answer to question 5 is D’.

Virtualization

There were two talks on virtualization.  The first was on enterprise virtualization and the second was on virtualization security.  Apparently, a lot of the big apps at IU like Oncourse, Onestart, and the IU home page are all running on virtual servers.  They did a cool demo where they moved a virtual machine from on physical host to another with no perceivable downtime.

One big advantage of a virtualization that I didn’t really think about was the fact that, by consolidating VMs on fewer physical machines, all the environmentals like electrical, cooling, cabling, space.

Xubuntu Gutsy Gibbon on Dell Latitude D810

I got Rich’s old notebook from work and installed Xubuntu 7.10 (Gutsy Gibbon) see update below on it. I’m tracking issues I’m having with the distro/platform here.

Spell Checking in OpenOffice Writer – FIXED

After having this machine for a while, I just noticed this issue.  I followed some instructions I found here and tried File > Wizards > Install New Dictionaries.

Update: Volume Control Widget – FIXED

My volume control widget up and disappeared.  This post made the suggestion that instead of clicking the ‘Add’ button from the widget list (accessed by right clicking on the taskbar and choosing ‘Add New Item’), you can drag the volume control widget from the list window onto the taskbar and it works.

Update: Upgraded to 8.04

I upgraded via package updates to 8.04 (Hardy Heron) without any problems.

Can’t lock screen – FIXED

I added the screen locking widget to my top panel, but clicking it didn’t do anything. I fixed this by installing the xlockmore-gl package.

Can’t suspend/hibernate – FIXED

When I try to use the buttons to suspend/hibernate (I think these are from some gnome program), the screen goes blank, but I’m not able to resume.

Link to launchpad bug report about this issue.

Apparently, others with this laptop were able to have success by using the uswsusp package. However, they were running Feisty, not Gutsy.

Link to userspace software suspend home page.

Debian has a newer version of the uswsusp package, so I tried installing that because I found what appeared to be thorough docs on using the 0.7 version. Things still didn’t work.

I found another post on the ubuntu forums that aggregated a bunch of information about this issue. link.

I removed the fglrx video driver (a non-free driver) as this was mentioned as causing problems. After removing this driver, suspend to ram didn’t work, but hibernate did using the default login,shutdown,etc. menu. Using the s2ram program from the command line also worked!

Update: If I want to lock the screen on resuming from suspension, I use

s2ram; xlock&

Trackpad is slow

The trackpad seems to move extremely slowly. I can configure the eraserhead using the Mouse Settings panel, but this doesn’t effect the trackpad.

EVDO Card – FIXED

This was the most straightfoward thing so far. This forum thread helped my get my PC5750 EVDO card working just fine with pppd and wvdial.

Playing Encrypted DVDs

Add the following line to /etc/apt/sources.list

deb http://packages.medibuntu.org/ gutsy free non-free

Then run

sudo apt-get install libdvdcss2

Function Keys on Keyboard

These are the keys on the keyboard with additional functionality (written in blue on the keys and accessed by holding down the Fn key to the right of the left-hand-side Ctrl key) that do things like switch between CRT/LCD, eject CD media, change volume or brightness, etc.

fixing sound in debian

I’m running debian lenny/sid with  kernel 2.6.26-1 on my workstation and for a while, my audio hasn’t been working in most applications (I was most annoyed by the lack of sound in flash), though it has been working in amarok.  I was getting error messages like this when trying to do audio playback.  These particular messages are from Ekiga:

ALSA lib confmisc.c:1286:(snd_func_refer) Unable to find definition 'defaults.namehint.extended'
ALSA lib conf.c:3513:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:3985:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2144:(snd_pcm_open_noupdate) Unknown PCM plughw:0
ALSA lib confmisc.c:1286:(snd_func_refer) Unable to find definition 'defaults.namehint.extended'
ALSA lib conf.c:3513:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:3985:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2144:(snd_pcm_open_noupdate) Unknown PCM plughw:0
ALSA lib confmisc.c:1286:(snd_func_refer) Unable to find definition 'defaults.namehint.extended'
ALSA lib conf.c:3513:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:3985:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2144:(snd_pcm_open_noupdate) Unknown PCM plughw:0

I finally looked into this and was able to fix it with the simple command

 $ sudo asoundconf reset-default-card

Fixing annoying behavior in various Linux desktop appss

I finally got off my butt and fixed a few things that had been driving me nuts with the settings on my workstation.

Weird KDE copy/select behavior

First, I use KDE, and the copy and paste behavior was driving me nuts.  If I copied text in an application with ctrl-c and then selected text with the mouse, my copied text would get clobbered by the selected text.  It turns out that the culprit was Klipper.   I made the functionality the way I wanted it by checking the ignore selection option in the Klipper configuration window (right click on Klipper icon in tray -> Conrigure Klipper).

Klipper Configuration

Default Browser for Tomboy

I like the Tomboy note taking program.  However, it was opening URLs in notes in Epiphany instead of Firefox.  Even though I run KDE for my desktop environment, since Tomboy is a Gnome app, I have to set the default browser for Gnome apps.  You can do this with the  gnome-default-applications-properties command.

disabling tap-to-click on synaptic touchpad in ubuntu

I was leant a Dell Latitude D810 that has a Synaptics touchpad.  Eventually, I had to admit that the tap-to-click setting was a little to sensitive and kind of annoying (most frequently, I accidently clicked things in my bookmarks toolbar in Firefox).  I found that I could disable the tap-to-click feature by adding the line:

 Option        "MaxTapTime"        "0"

to the appropriate section of my /etc/X11/xorg.conf file so that it looks like this:

Section "InputDevice"
    Identifier    "Synaptics Touchpad"
    Driver        "synaptics"
    Option        "SendCoreEvents"    "true"
    Option        "Device"        "/dev/psaux"
    Option        "Protocol"        "auto-dev"
    Option        "HorizEdgeScroll"    "0"
    Option        "MaxTapTime"        "0"
EndSection

linuxing the imac

There’s an old imac under the table at bz’s house that’s gathering dust and I was going to try to put Linux on it. I’ve had a good experience with xubuntu running well on older hardware and having good, easy-to-use features (and it’s debian based), so I’m going to try that and document my experience here.

I had a little trouble finding the iso for PPC xubuntu, but eventually found it at http://cdimage.ubuntu.com/xubuntu/ports/releases/7.04/release/

This article gave some information on installing xubuntu on various platforms, and said that the firmware needed to be upgraded on the iMac before xubuntu could be installed. I found the firmware for this particular iMac (slot-loading, 350 MHz, 128MB SDRAM) at http://docs.info.apple.com/article.html?artnum=88010 (or maybe at http://docs.info.apple.com/article.html?artnum=75130) and instructions for installing the firmware at http://docs.info.apple.com/article.html?artnum=60385.

The machine ended up being bricked, but I thought I’d post this for future reference.