FAQ

1. The setup-account script did not report my account name. What’s up?

(added 29 Jan ’12).

setup-account failure

setup-account failure

This is probably because your VM is not properly connected to the Internet see the next question.

2. My VM cannot access the Internet. How to fix it?

(added 29 Jan ’12).

Try the following commands in the terminal:

$ sudo ifdown eth0
$ sudo ifup eth0

These will reset your VM’s network and give it a new IP address. If it doesn’t work, then go into the VM network adapter settings (there’s an icon in the lower right of the Virtual Box frame), change the setting NAT to Bridged (or vice versa), and try the above again.

3. When I try to start my VM on a Mac, it says:

(added 31 Jan ’12)

Failed to load VMMR0.r0 (VERR_SUPLIB_WORLD_WRITABLE).

From what I’m reading in this forum, it means that some essential folder is world-writable, so VirtualBox refuses to install its kernel modules as a security precaution.

Here’s what you might try. Open up your Mac Terminal app. (It’s in the /Applications/Utilities/ folder.) In that terminal, type:

$ sudo chmod o-w /Applications

It will ask for your Mac account password. Type that and press enter. Otherwise, there should be no output. After that, restart VirtualBox and try to open it again.

4. The mount command fails with the message ‘protocol error’

(added 31 Jan ’12)

This usually means that your shared folder name is not configured correctly. Check the shared folder settings. The name must be exactly host (all lowercase letters).

5. I’m getting the following error when trying to git push:

(added 8 Feb ’12).

 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to [...]
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. [...]

This means that there have been some changes to your repository on the server, and you have to merge them in. Just try git pull before retrying git push.

6. I’m getting the following error in my program when I type make:

(added 12 Feb ’12)

error: ‘for’ loop initial declarations are only allowed in C99 mode

This refers to the syntax where you declare the variable directly in the for loop, like this:

    for(int i = 0; i < 10; i++)

This syntax was introduced by C++ and is not supported by older versions of the C language. Just move the variable declaration to the top of the enclosing function:

void my_thread_3(ulong_t arg)
{
    int i;  // Variable decls at top of function
    for(i = 0; i < 10; i++) {
        // etc.
    }
}

7. I’m getting the following error when building GeekOS:

(added 29 Feb ’12)

make: *** No rule to make target `diskc.vdi', needed by `all'.  Stop.

This was my mistake, in distributing Assignment 4 to you. If you git pull again, you should get a fix for it.

8. VirtualBox 4 failed to mount /c issue (Mac only?)

(added 14 March ’12)

There could be a number of reasons for this, but if you are certain your diskc.vdi is attached as an IDE hard disk, read on. It appears that the latest version of VirtualBox has an issue with mounting the diskc.vdi consistently. Sometimes it will work, but often not. So far I’ve noticed this only on the Mac.

The workaround is to drop back to the VirtualBox 3.x series. Make sure your VMs are all shut down, and download 3.2.14 from here.

After you install and open it up, it will likely be confused about your VMs, just because version 3.x stores things in different ways compared to 4.x. Here’s an example of the error message:

This is relatively easy to fix. You will recreate the VM, but then mount the same old disk for it. Push the “new” button, and configure a VM for Debian Linux with about 1024 MB memory. Do not create a new disk; instead, choose existing image. You will find the previous image in HOME/VirtualBox VMs/Debian Spring 12/Debian Spring 12.vdi

You will also have to recreate the GeekOS VM. As before, make sure its memory is exactly 8 MB. Try to run that GeekOS VM with your previous fd.img and diskc.vdi from the host folder. It should now be able to mount the /c filesystem.

9. I’m getting a “UUID does not match” error starting a VM in VirtualBox

(added 21 March ’12)

Each virtual disk has a unique ID, so that VirtualBox can detect if the file changes underneath it. Unfortunately, each time we do a clean build of GeekOS, it gets a brand new ID. So sometimes this will happen to your diskc.vdi. (If it happens to any other disk, such as that for your Debian VM, it’s a different problem!)

This can be resolved by going into the “Virtual Media Manager” (File menu on VirtualBox) and finding the offending disk and releasing/removing it. (It will usually have a warning symbol beside it). Then you add it back in the storage tree under the settings of the GeekOS VM the way you did the first time.

comments powered by Disqus

 

©2012 Christopher League · some rights reserved · CC by-sa