Archive for November, 2007

Creating a starter kitchen

My sister recently moved to a new place and wanted to know what to get for the kitchen. This is not that easy of a question to answer. Not everyone cook the same way. Martin Yan’s kitchen probably looks a lot different than Julia Child’s. Before answering the question, I had to understand her kitchen, the type of food she cooks, and her philosophy on food.

How is cooking a philosophy? How do you see food? Do you enjoy food or do you feel that it is just something to keep your body going? If it’s the later, I would not spend money on good cookware, since it would not yield you pleasure in return.

What type of a person are you? Are you the type of person who must have the exact right tool for the job, or are you a minimalist who adapt using what you have? Most people are somewhere in between but sway toward one side. In the case of my sister and I, we both sway toward minimalism. We both have limited kitchen space and budget. We rather try to get a tool that have multiple use than not. I would recommend getting what you need rather than buying a large set and have a lot of stuff you don’t end up using.

Form follows function. The type of kitchen you own and the type of food you cook will determine what tools you should get. Some items you will always need. You need knifes to cut stuff. You need something to stir and turn over food. However, a sauce pan isn’t all that useful if you don’t plan to make sauce. A round bottom wok isn’t going to be all that useful if you don’t have a gas range.

My sister’s stove is a smooth top electric range, which appears to be a sheet of glass over electric burners. According to her manual, the cookware needs to be metal, have smooth bottom, and has a diameter roughly the size of the elements (the circle on the range top). Ridged bottom pots and pans can apparently create hot air pockets that can crack the glass. This mean standard uncoated cast iron will work, but may scratch up the glass if you move it around. Enameled cast irons are OK since they are smooth on the bottom.

Her cooking tend to be stir frying and then putting the item in the oven. This means pots and pans that can take high heat and have handles and lids that are oven safe. Here’s my take on what’s need in her kitchen:

Knifes and cutting items

Unless you plan to eat mashed potato every day, every cook needs a knife. I actually have a full set of knives, but I find that I normally only use two knifes:

  • A Chef Knife 8-10 inches.
  • A paring knife

With these two knives will cover just about every cutting situation in cooking. If you eat a lot of bread, you may consider getting a serrated bread knife, which works well on stuff with a tough crust and soft insides. Good brands to look for are Global, Misono, Henckels, and Wusthol. With the exception of Misono, all of the brands can be easily found everywhere.

Always keep your knife really sharp. A lot of knife accidents actually occur from slipping blades (Example: You try to cut an onion, but the blade is not sharp enough, so instead of cutting into the onion, it slides into your finger), which having a sharp blade will prevent.

As for cutting boards, get one that is large enough to cover the counter space and have deep channels along the side so juices don’t flow over the edge when you cut into meats. Ideally, you should get a separate board for meats and non-meats for sanitation reasons.

The jury is out for plastic vs wood for sanitation. One advantage of plastic is that you can put it into the dishwasher and use the high heat drying cycle to eliminate germs. Just make sure you get the harder polyethylene or polypropylene plastic boards. The cheaper boards are often too soft and may impact bits of plastic into your food.

Store knives in a block so they don’t get dulled in your drawer or use one of the magnetic knife hangers.

Pots and Pans

My personal cooking style involves very high heat. At these temperature, Teflon coating will start disintegrating. This is why I like cast iron so much. In the case of my sister, I would recommend not getting cast iron since she has a smooth top range because it may scratch the surface.

I would recommend getting the following:

  • A 10-12 inch stainless steel skillet
  • A 8 inch Teflon coated aluminum skillet.
  • A 8-12 Qt Stock Pot. Stainless steel or anodized aluminum.
  • A 5 Qt Dutch Oven
  • A 3-4 Qt Saucepan

The stainless steel skillets is used to sear and cook food. This is ideal for stir frying where you need high heat. The plus side to stainless is that it is light. The color of the pan is silver, so you can see the browning. The disadvantage is that it is not as non-stick as cast iron.

When shopping, get a skillet that’s relatively heavy, has a metal handle (so you can put it into the oven) and have a copper or aluminum core. Most of the brands are pretty good including All-Clad, Viking, etc. Just make sure you try lifting up the skillet at the store. I don’t like the All-Clad brand because I find the handle uncomfortable.

The 8-inch Teflon skillet is for cooking eggs and other really sticky items. I actually don’t use Teflon pans often because I like to brown food and then deglaze them with some liquid. With Teflon, there is often no brown bits to deglaze.

Teflon pan is where spending a lot of money does not make sense. While you should get a pan that has heavy gauge aluminum so it heats evenly, you should not spend a lot of money on supposedly lifetime coating. Often, the more expensive the pan, the less non-stick it is because they are trying to make the coating more durable, which makes them less slippery.

The 8-12 Qt pot is for broiling water for pasta, blanching vegetable, and making soup. The items can be made out of various materials, but it should be fairly heavy gauge. I suggest a stainless steel or anodized aluminum. I would not go for plain aluminum since it reacts with acidic foods. It should also have a tight fitting lid.

The 5-Qt dutch oven is use for stews, but you can cook a lot of different things in it. In my college days, the only cooking item I own was a 5 quart cast iron dutch oven. With it, I could stir fry, cook soup, bake, even cook eggs. Obviously, it was not the ideal tool for the job, but it worked and was cheap and indestructible. The only downside was the weight and that you had to clean it carefully.

I really like cast iron for dutch ovens, but you can’t use uncoated cast iron on smooth top stoves. Look instead for enameled cast iron like Le Creuset, stainless steel, or anodized aluminum with a tight fitting lid that is oven proof. Before you buy, lift the dutch oven. Cast iron pots are heavy, if you can’t lift it when it’s filled, you should look at something else.

A 3-4 Qt sauce pan can be use to make sauce and saute smaller stuff. It should have a tight fitting lid and have oven proof lid and handles. The pan should be made of heavy material so it heats evenly, but it should be light enough to lift.

Other Kitchen Gadgets

You’ll also need the following:

  • Spatula – I tend to like wooden or heat proof plastic. They don’t scratch the surface of the pan.
  • Silicon scrapper – they are an improve version of the rubber scraper but are more non-stick and heat resistant.
  • Whisk – I tend to like metal or silicon coated metal ones.
  • A set of mixing bowls. The bowls interior should be round so it will be easy to scrap out the batter or eggs. They should be made of Pyrex so they can go into the microwave. One of the bowls should be large enough to sit on top of your pots so you can use it as a double-boiler.
  • Colander to drain vegetable and pasta
  • Fine mesh strainer.
  • A salad spinner if you plan to eat salad. My favorite is by Oxo.
  • Garlic press – best is by Zyliss.
  • A food processor – which can handle the taste of chopping up vegetable and nuts into little bits and sort of work as a blender.
  • A pair of oven mitts. Beware of the lobster like silicon ones that make things hard to grip.
  • A set of measuring cups and measuring spoons.
  • A small grater for cheese and fruit peels (I like the one from Microplane).
  • A vegetable peeler – you could use your paring knife, but I am not good enough to peel with knife without taking out large chunks of vegetable.

All of the above should be enough to get a kitchen started. You may notice that I did not recommend any baking material. This is because I personally do not bake and so don’t really have opinion to offer. As you cook, you will discover what you will need and buy what is necessary.

November 25, 2007 at 2:09 pm 9 comments

Installing Damn Small Linux as VirtualBox guest

Damn small linux is a tiny Linux. Because it uses very little resource, it is ideal for a virtual machine.

Creating the Virtual Machne

  1. Create a virtual machine with 256 Mb of memory and 4 Gb of Disk space.
  2. Boot from the Damn Small Linux CD or Image.
  3. Open Apps and then Tools folder.
  4. Double-click on the Aterm window.
  5. Enter the command sudo cfdisk /dev/hda.
  6. Press Y when prompt if you want to start with a zero table. This loads the cfdisk.
  7. Press “N” to create a new partition.
  8. Press “P” to select Primary.
  9. Press Enter to use the default size.
  10. Press “T” to select the type.
  11. Enter “83” as the file system type.
  12. Press “B” to set the partition as bootable.
  13. Use the arrow key to move to write and press OK.
  14. When asked if you want to destroy data, press “yes” and then OK.
  15. Press Quit to exit the application.
  16. Enter the command sudo dsl-hdinstall.
  17. When prompted to enter target partition, enter “hda1” and press OK.
  18. When asked if you want to install with multi-user login. Type “y” and press OK.
  19. When prompted if you want to journal file system. Type “y” and press OK.
  20. When prompted for last chance. Type “y” and press OK.
  21. When prompted to install a boot loader, type “y” and press OK.
  22. When prompted for Grub or Lilo, type “g” and press OK.
  23. When prompted to reboot, type “y” and press OK.
  24. Unmount the DSL CD.
  25. After reboot, you will be asked to enter a password for root and dsl.
  26. select the XVesa video option.
  27. Select No for USB mouse.
  28. Select Yes for IMP/s mouse.
  29. Select your screen resolution and depth.
  30. Select No for dpi option.
  31. Select your keyboard options.

Installing the Guest Additions

Damn Small Linux uses a repository call MyDSL. I tried installing gcc1-with-libs.dsl and the kernelsource.dsl from mydsl. Unfortunately, the kernel source from the mydsl is a bit old.

To install, I would have to download the kernel for 4.0, then patch it with Knoppix patch. While this is not difficult, it’s rather too much work for getting guest additions to work.

November 22, 2007 at 3:52 pm 20 comments

Installing Ubuntu 7.10 i386 on an Averatec 2370

The following are instructions to install Ubuntu 7.10 on an Averatec 2370. I am installing the i386 of Ubuntu. While Averatec 2370 is a 64-bit machine, the laptop can only address 2 Gb of memory any way, so there is very little advantage in using a 64-bit OS.

  1. Boot the laptop using the Ubuntu CD.
  2. Press the first menu option to start Ubuntu.
  3. When the CD complete booting, click on the Install Icon.
  4. Follow the instructions. The options I would stop at is at the disk space, I change my drive to make the entire drive “/” except for a 1 Gb swap space. Since I have 2 Gb of memory, I don’t see a need for more swap space. After the installation is complete, click on the reboot button. Remove the CD and reboot. Login as the user you created in the install (WARNING: the splash noise will be set to maximum volume).

Most of the items will work just out of the box.

Post Installation Customization

Enabling the Software Repositories

Before you continue, enable all of the necessary software repositories:

  1. Login as a user with Sudo rights.
  2. Select the menu System->Administration->Software Sources.
  3. Check the option for main, universe, and restricted.
  4. Click on the update tab.
  5. Check the security update checkbox.
  6. Click on the close button.

Switching off the Synaptic’s Touchpad’s tapping

I do not like tapping, since it often cause me to click on something that I did not intend to click.

  1. Select Preference->Mouse.
  2. Click on the Touchpad.
  3. Uncheck the Tap to Click.

Setting the time to Local time

Actually, I prefer to use UTC, but I also plan to run Windows OS in Virtualbox. Even Vista does not support UTC properly, however Linux has no problems supporting both formats so I went with local time.

  1. Login as a user who can sudo.
  2. Right-click on the date and select Preference.
  3. You will be prompted to enter your password, enter it.
  4. Uncheck the checkbox for “Use UTC”.
  5. Right-click on the date and select “Adjust date & time”.
  6. Change the time to the local time and date.

Enabling Nvidia binary driver

Since I don’t do any gaming, I don’t really need 3D. Unfortunately, neither the VESA nor the “nv” dirver will allow suspend on this laptop. The problem appears to be the Nvidia hardware. When the computer suspend to disk, the Nvidia display adapter does not turn off. This problem cannot be fix until Nvidia release specs on how to turn off the display adapter. To get suspend, you must use the binary driver.

Before you start, make sure you have access to the internet, since Ubuntu must download the driver.

  1. Login as a user who can sudo.
  2. Select Administration->Restricted Driver Manager.
  3. Click on the enable checkbox and press Close.

Fixing a problem with display shrinking

Whenever you supend or hibernate, resume and then logout. The screen shrinks. To fix this problem, see the following blog.

Things that still does not work

  • Modem
  • When you plug in the headphones, the laptop speaker does not mute.
  • Wireless will occasionally drop connection and die.
  • When you suspend, the laptop will occasionally fail to wake up.

November 21, 2007 at 4:33 pm 7 comments

Video screen shrinks if you logout after sleep or hibernate in Linux

On my Averatec 2370 running the binary Nvidia drivers “Nvidia”, if I set it to go to sleep or hibernate, then wake the computer, and then logout, the screen goes from the 1280×800 to 1024×768. This problem affects both Ubuntu 7.10 and Fedora 8.

Xorg gets the screen size from reading the Extended display identification data (EDID) information from the monitor. It appears that the EDID is read correctly when you start up, but after hibernation or sleep the info gets scrambled.

To correct the problem, I copied the correct EDID info into file when the EDID info is not scrambled. I then have xorg read the file instead of reading it from the monitor.

Instructions for Ubuntu

  1. Login as a user who can sudo.
  2. Open a command line window.
  3. Run the following command to launch the Nvidia Settings application:

    gksudo nvidia-settings
  4. Click on the “DFP-0 – (Seiko) option. This brings up the options for the LCD monitor
  5. Click on the “Acquire EDID” button. This gets the EDID config info from the LCD monitor and ask where to save it. I saved it as “/etc/X11/SeikoEdid.bin”.
  6. Sudo edit the /etc/X11/xorg.conf file. Add the following line to the section for “Monitor”.

    Option "CustomEDID" "DFP-0:/etc/X11/SeikoEdid.bin"

What seems to be happening is when you start X, it reads the EDID from the monitor. After a suspend or hiberate, you can no longer read the EDID for some reason. As a result, the driver defaults to a lower resolution, causing the screen to shrink. What I am doing is to record the correct EDID information into a file when it is correct and have X read from the file instead of the device. This should work around the problem.

For Fedora 8, the instruction is similar, except that you login as root and run the Nvidia-Settings menu from the menu.

November 21, 2007 at 12:48 pm 1 comment

Tips on running Sun Virtualbox

The following are tidbits I have learn while running Virtualbox on various systems.

Host Related Issues

Running Virtualbox on an Ubuntu Host

There are two issues:

  1. When you click attempt to open the settings on a virtual machine, you get the following error:

    Could not load the Host USB Proxy Service (VERR_FILE_NOT_FOUND). The service might be not installed on the host computer.

    The cause of this problem is that usbfs is not turned on in Ubuntu. To fix this, you need to edit the file /etc/init.d/ (remember to use sudo). Search and uncomment out all of the code lines:

    # Magic to make /proc/bus/usb work
    #mkdir -p /dev/bus/usb/.usbfs
    #domount usbfs "" /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
    #ln -s .usbfs/devices /dev/bus/usb/devices
    #mount --rbind /dev/bus/usb /proc/bus/usb
  2. Unfortunately, this does not solve the problem entirely. When I attempt to access the USB from the guest, I get the following error message.

    Failed to attach the USB device

    Even though you enabled usbfs, the user do not have permission to use USB. You can set up a rule to give each user access. Because everyone who use Virtualbox has to be in the group vboxusers. The easiest way to give every Virtualbox user access would be to give vboxusers access. Sudo edit the file /etc/udev/rules.d/40-permissions.rules, locate the following line:

    # USB devices (usbfs replacement)
    SUBSYSTEM=="usb_device", MODE="0664"

    Change the line to:

    # USB devices (usbfs replacement)
    SUBSYSTEM=="usb_device", GROUP="vboxusers", MODE="0664"

Running Virtualbox on a Mandriva Host

When you install Virtualbox on Mandriva (I am using Virtualbox 1.6.2 on Mandriva 2008.1), it throws an exception when I run the VM:

Virtualbox kernel driver not installed.

This error is encountered if I install the Virtualbox OSE from the Mandriva repository or the Virtualbox rpm from (note: the version I am using is for Mandriva 2008.0, a 2008.1 was not available). The problem is that Mandriva needs a kernel package to compile the Virtualbox kernel driver. First, you need to determine what kernel module you are using. On a desktop, you are likely to be using kernel-desktop-devel-latest and on a laptop you are likely to be using kernel-laptop-devel-latest. When you boot up your machine, you can see which one you have in the boot menu. You should install Virtualbox in the following order.

  1. Install the kernel-desktop-devel-latest or kernel-laptop-devel-latest (depending on whether you have a laptop or desktop). This must be install first because Virtualbox need it to compile a new kernel module.
  2. Download and install the Mandriva Virtualbox rpm from
  3. Add the users that will use Virtualbox to the group vboxusers.

Guest Related Issues

Installing guest additions on CentOS / RedHat

The following have been tested on CentOS 5.2 and 5.4, which is a clone of RedHat enterprise Linux 5.2. You’ll need to install the gcc and kernel source by running the following command as root:

yum install gcc -y
yum install kernel-devel -y

When you run the Linux addition, you’ll get an error indicating that the Linux module cannot be built. Before you compile, you need to set the KERN_DIR variable. To figure out where the directory is, go to /usr/src/kernels. Inside should be the kernel version directories.
type the following command:

uname -rp

The command will return the kernel version and the type of processor. For example, mines return the following:

2.6.18-164.e15 i686

In the /usr/src/kernels is the directory 2.6.18-164.11.1.el5-i686, so we will set the directory using the command:

export KERN_DIR=/usr/src/kernels/2.6.18-164.11.1.el5-i686

Now you can run the Linux Additions.
After the installation, you may notice that the OS was unable to detect the correct resolution, so you have to manually add the the appropriate modes line to your display section. The following is an example from my laptop:

Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
	DefaultDepth     24
	SubSection "Display"
		Viewport   0 0
		Depth     24
		Modes   "1280x800"

Note that seamless and automatic guest display will not work because it requires xorg server 1.3 or later. CentOS / RHEL 5.2 only has version 1.1.

Installing guest Additions on Linux Mint

Install build-essentials. This will install the kernel header, source, and compiler so you can run the guest additions.

Installing guest Additions on Suse 10.3

When you try to run the guest addition, you’ll get an error message that you have to install header, source, and gnu c. You need to use YAST to do the following

  1. Use YAST and add OSS source to the repository list.
  2. Install the packages gcc, kernel-source, linux-kernel-headers.

After the header, source and compiler is installed, the guest additions seems to work only some of the time. Suse runs the init scripts in parallel and sometimes the vboxadd script end up running after the Xorg.

There are two way to fix this:

  1. Set RUN_PARALLEL=no in /etc/sysconfig/boot. This may cause a slight delay in runtime.
  2. You can add a dependency to /etc/init.d/.depend.start so that vboxadd is executed after xorg. To do this, find the line for xdm: and add vboxadd to the end of the line. If you reinstall the guest addition, you may have to do this again.

Shared Folder on a Linux Guest

Virtualbox allow you to pass data between host and guest through a shared folder. The instructions in the manual is not necessary very clear. The manual states that you are suppose to run the following command in a Linux host to mount the shared folder:

mount -t vboxsf [-o OPTIONS] sharename mountpoint

The trouble is that users may not understand what the sharename and mountpoint is and that shared folder under Linux is quirky and weird.

Here’s how it works, in the settings for each machine, you can add a shared folder. The process is fairly intuitive, you click on the add button and select a directory where the share directory will be a sharename is automatically created. This is the share name you will use in the mount command. The mount point is simply a directory that you will mount the share folder to. You will have to do this as root or use sudo. For example:

mount -t vboxsf vshare /home/paulsiu/vshare

The problem is when you tried this, you get the following error:

/sbin/mount.vboxsf: mounting failed with the error: Protocol error

If you look at syslog, you’ll see the following error:

Nov 8 19:28:09 wxbuilder kernel: vboxvfs: sf_glob_alloc: vboxCallMapFolder failed rc=-102
Nov 8 19:28:09 wxbuilder kernel: sf_read_super_aux err=-71

Apparently, you’ll only get this error if you use the default sharename. When you create a new shared folder, Virtualbox will ask where your shared directory is on the host. When you select the shared directory, the sharename will default to that directory. If I create a shared folder at “/home/paulsiu/vshare”, virtualbox will generate a sharename of “vshare”. Unfortunately, if you use this default sharename, you will get a protocol error, so you should rename the sharename to something other than default, such as “vboxshare” for example. I have no idea why, but that appears to be what’s happening.

With the new shared name, you can now mount the shared directory. Unfortunately, the directory is mounted as root with the group of root and read writable only by root. Since it is a bad idea to login as root, your shared directory is readonly.

The user manual suggests using the mount options and set the uid, gid, and mode. But the manual lies, you cannot set the mode. The permission on the shared directory is locked to writable by user only. This mean you cannot create a single persistent directory for all users on the system.

One way around this is to create a vshare directory in each of the user’s home directory and have the login script mount the shared directory to this home directory as the user.

mount -t vboxsf -o uid=<user> <sharename> /home/<user>/vshare

Seamless Mode or Auto-resize Guest Display is grey out on a Linux Guest

According to the user manual, you must have Xorg Server 1.3 or later. To check what version you have type the following command at the command line:

X -version

If the Xorg X server is lower than 1.3, Seamless and Auto-resizing will probably be disabled. Ironically, enterprise Linux like RedHat, CentOS, and SLED are likely to be using an older Xorg Server, so corporate users will most likely to be hit by this limitation.

Windows guest startup with a inaccessible boot device message

When I boot up windows 2000, I got the message “INACCESSIBLE_BOOT_DEVICE”. The problem was traced to the IDE controller type. I had set the IDE controller to PIIX4 when it was previously set to PIIX3. Setting it back to PIIX3 corrected the problem.

64-bit Guest Issue

You can only install 64-bit OS on a 64-bit host. In addition, you will need hardware virtualization support like Intel VT-x or AMD-V for your cpu. In the case of Intel, be real careful of what cpu you buy because Intel has multiple virtualization technologies. The Intel P7350 (used in popular machines like HP-DV5) is listed on the Intel web site of supporting hardware virtualization, but it appears that it has VT-d and not VT-x. Virtualbox needs Intel VT-x, so if you have a Intel processor and don’t have VT-x, you cannot use a 64-bit guest.

Setup Issues

Upgrading Virtualbox

On the Linux box, you generally uninstall the old version and install the new version. On windows, running the installer generally upgrade the old version. There are things to watch out for such as snapshot incompatibility. Follow the following instructions for best results.

  1. Close down all of the virtual machines.
  2. Go through each of the virtual machine and make sure that you get rid of snapshots. The reason is that snapshots are not necessary compatible from version to version. If you don’t do this, you may find that you cannot start your machine any more. To recover, you will have to reinstall the old version and then get rid of the snapshots.
  3. Virtualbox stores the the settings and virtual machine files in .VirtualBox in the user’s home directory on Linux. I am not sure where it is stored in windows. In any case, backup this directory in case somethings goes terribly wrong.
  4. Uninstall Virtualbox. If you are using Windows Host or a Linux with package management, all you need to do is to run the uninstall. If you installed Virtualbox from source, I have no idea how you would uninstall (the manual doesn’t list a way to do it). I assume you just halt Virtualbox and then install over the previous version.
  5. Install the new version of Virtualbox. With luck, all of your virtual machine should come up. When upgrading, I got the following error message:

    RTR3Init failed with rc=-1912 (rc=-1912)

    The VirtualBox kernel modules do not match this version of VirtualBox. The installation of VirtualBox was apparently not successful. Executing

    '/etc/init.d/vboxdrv setup'

    may correct this. Make sure that you do not mix the OSE version and the PUEL version of VirtualBox.

    To fix this, do exactly as the mesage tell you to do:

    sudo /etc/init.d/vboxdrv setup

    Note that this only works if you have the compiler installed.

  6. You may find that your guest additions no longer work and will have reinstall the guest additions.

Virtual Disk setup

You can create virtual disk, but one problem is that they will run out of space and there is no easy way to extend them. The following are my recommendations:

  • Create a really large dynamic virtual disk (ex: 200 Gb), and then create a much smaller partition on it (ex: 5 Gb). Because the disk is dynamic, the actual VDI file is small initially no matter how “large” the drive is. Now, we create a small actual partition on it because we want to limit the actual size of the file. For example, if we run a disk defrag utility, it may cause the drive to take its full size. By keeping the actual partition small, you can avoid the disk from growing to the maximum size of the disk. When we start nearing the end of the partition, we can extend it by using an utility like gparted. By doing this, you can have tons of VDI file all at 200 GB, but actually taking up a fraction of actual disk space.
  • On a Linux guest, do not use UUID references in your /etc/fstab. A lot of distro these days try to be helpful and use UUID references. By using UUID reference, you can move the drive from hda to hdb and it would still reference the partition. While this is very helpful with hardware, this is not so useful on a VM since there’s really no disk to swap around. In addition, when you clone a drive, it will generate a new UUID. If you attempt to swap the new cloned drive with the old one and you use UUID, the OS will not be able to find the drive and crash.
  • Keep it simple by using one partition per virtual disk. With the new SATA configuration, you can have as many drives as you like,
  • For a lot of Linux virtual machines, I generally use a 3 disk configuration: root, home, and swap. This way, I will be able to reinstall without wiping out home. If home or root runs out of space, I can swap in a larger disk.

Bugs and workarounds

Disk Cloning corruption in Virtualbox 2.10

In release 2.1, the command to clone virtual disk change from clonevdi to clonehd. Normally, you can clone a virtual disk by running the command:

vboxmanage clonehd olddisk newdisk

However, this did not work in version 2.10 for some reason. The disk image is corrupted. To get around this problem do the following instead:

  1. Use your host’s copy command to make a copy of the virtual disk.
  2. The copy of the virtual disk has the same UUID as the old disk, so you will need to reassign a new UUID by using the following command:
    VBoxManage internalcommands sethduuid <newVirtualDiskFile>


Keyboard corrupted by Linux Guest Addition in Virtualbox 2.1.0

Recently, I installed Linux Mint as a guest on Virtualbox 2.1.0. Whenever I type a space, Gnome Do would pop up. This happens when I type a space in any field. Normally, Gnome Do is triggered by <super>space, where <super> is the windows key. Virtualbox 2.1.0 addition apparently corrupted the keyboard so that the <super> key doesn’t exists any more. So far, it may only affect US keyboards. See

One work around is to install an earlier virtualbox 2.0.6 guest addition, which works with 2.1.0 and do not have this problem. The guest addition can be download here and you can mount it as a CD.

November 20, 2007 at 10:00 pm 46 comments

Why can’t I suspend to RAM or suspend to disk without Proprietary driver

For some reason, I am unable to suspend to disk or suspend to RAM on my Averatec 2370 (which uses a Nvidia 6100) without using the Nvidia Proprietary driver. After some research, I found the following link that may explain the problem:

What appears to be happening is that Nvidia video does not initialize properly after a resume. I wish Nvidia will open source their display card soon. There is no fix for now, you must use the proprietary driver if you wish to have suspend and resume on some of the systems that uses Nvidia cards.

November 12, 2007 at 10:11 am 9 comments

Running Zenwalk as a linux guest on Virtualbox

Being a lightweight distro, I thought Zenwalk would be a good distro to run as a Linux guest. The problem is that Zenwalk is not one of the distro supported by Virtualbox. Zenwalk 4.8 even froze when installing on Virtualbox 1.5. Fortunately, installation worked on Virtualbox 1.5.2. Unfortunately, the guest addition did not work. Without the guest addition, mouse integration will not work and display will be limited.

To install the guest addition, first login as root and select “Install Guest Addition”, which mounts the guest addition as a DVD. We then run the guest addition by:

cd /mnt/dvd
sh ./

Unfortunately, when I run, I get the following error: Could not find or XFree86 on the guest system. The X Window drivers will not be installed.

The file was confusing. The file was a mix of text and binary. After reading the file and playing around with it, I realized that the .run is really some sort of archive installer that uncompress the install files and then delete them. However, there was an option –keep to keep the files around and –noexec to keep it from running. I login as root and copied the to a directory and run it with the following options (you can’t run it in the additions directory because it is read-only):

cp /mnt/dvd/ /root
cd /root
sh ./ --keep --noexec

This time, an install directory is generated. The file contains code to detect what version of Linux you are using and where to install the files. There is no entry for Zenwalk, so the script thinks we are installing in a BSD system. We’ll have to add the code ourselves. In the directory, locate the routine check_system_type() and

elif [ -f /etc/zenwalk-version ]; then

Next, we’ll need to fix that issue with the “Could not find”. Edit the file and locate the section “Install The XWindow Drivers”. There should be a line:

for dir in /usr/lib/xorg/modules /usr/X11R6/lib/modules; do

The for loop looks through the directories for the modules directory. However, Zenwalk use none of those directories, so we have to add it:

for dir in /usr/lib/xorg/modules /usr/X11R6/lib/modules /usr/lib/X11/modules; do

Now we can install the files by running:

sh ./

When you exit and log back into the system, you should have a 32-bit screen and mouse integration should be working.

Post script run

There are two problems after the install.

  1. Display is still not at native resolution.
  2. Cut and paste between host and guest is not working.

To fix the resolution, edit /etc/X11/xorg.conf and change the resolutions from “1280×1024” to “1280×800”.

To fix the cut and paste, go to /etc/X11/xinit/xinitrc.xfce and add the following line

# Virtual Box clipboard

before the the line:

# Use dbus-launch if installed

Now both mouse, video, clipboard, and shared folder should work. Note that even thought they work, I find that these features are still a little bit buggy. The clipboard for example seems to not work some of the time. The video seems to flake out when going to full screen. The Shared Folder sometimes get a fsync error. Perhaps Innotek will fix this in future releases.

November 5, 2007 at 5:16 pm 13 comments


November 2007

Posts by Month

Posts by Category