Tag Archive: ubuntu


I installed Ubuntu Eucalyptus cloud (#UEC) on a couple of servers at home. I was naively expecting it to be similar to VMware. Oh I was wrong.

UEC is the Eucalyptus ‘cloud’ software running on Ubuntu servers. The instances would run under the KVM or Xen hypervisors. Ubuntu’s defaulted to running KVM but isn’t restricted by it.

“Eucalyptus is a software available under GPL that helps in creating and managing a private or even a publicly accessible cloud. It provides an EC2 compatible cloud computing platform and S3 compatible cloud storage platform…” Eucalyptus Beginner’s Guide

This is how a vm works in UEC:

You publish an image that you previously installed all the software you need (or you can download such an image). There can be as many instances of this image running as the hardware supports (spread across N number of backend Node Servers).

All instances are transient. As long as an image is running, it will have a physical presence.. but when it is shutdown, the instance is removed including any work performed in the instance.

“static” storage is available via a Storage Server. After you create an image but before you start it, you have the opportunity to attach storage to the instance.

Diagram courtesy of Eucalyptus Beginner’s Guide – UEC edition

While the management tools for UEC, and therefore Amazon EC2/EM, are primitive compared to VMware, it should be able to scale much higher with far less focus on which ‘virtual machine’ goes where.

I’ve been trying to get VMware ESXi 4 on my old MSI MS-7388 motherboard for a long time. No matter what I tried, neither the SATA controller on the motherboard or the add on SATA controller would be recognized.

Install VMware ESXi 4.0 on an unsupported motherboard (SATA controller must support AHCI):

  1. make sure the SATA controller(s) is set to AHCI in the computer’s BIOS
  2. download VMware ESXi 4 iso
  3. burn the iso to either a cdrom or a USB thumb drive (512mb minimum) using unetbootin
  4. boot the computer into VMware ESXi
  5. Before you’re prompted to hit Enter to begin, hit ALT-F1 which will get you to a console screen without a prompt
  6. Type “unsupported” followed by Enter
  7. When prompted for a password, just hit Enter
  8. Type “vmkload_mod ahci” followed by Enter.  This will load in the driver for just about any AHCI compliant SATA controller
  9. Hit ALT-F2 to finish the installation

At this point VMware ESXi 4.0 will be installed but it won’t start when you reboot.  This is because VMware won’t load the AHCI driver by default.  So… we will have to tell it to load it automatically.  You will need a Linux Live CD such as Ubuntu.

  1. Boot into Linux
  2. From the desktop you will need to mount the VMware partitions.  In Ubuntu 8.04 and higher, you just need to click on the folders in the drop down menu
  3. Locate oem.tgz on the second VMware partition and overwrite it with this oem.tgz.  It includes a system.map file telling VMware to load the AHCI driver
  4. reboot and boot into VMware ESXi

You should have a fully working VMware ESXi server installed and ready for you to setup virtual machines! :)

I rebuilt an Ubuntu 9.10 server this past week, ripping off VMware and replacing it with VirtualBox 3.1.2. Setting up VirtualBox as a headless server was very easy with VBoxTool. However, I ran into a problem that I was unable to connect using remote desktop (rdesktop) as any user but the user that started the virtual machine.

Jan 21 22:43:13 vm-holder unix_chkpwd[16040]: check pass; user unknown
Jan 21 22:43:13 vm-holder unix_chkpwd[16040]: password check failed for user (jason)
Jan 21 22:43:13 vm-holder VBoxHeadless: pam_unix(vrdpauth:auth): authentication failure; logname=virtualbox uid=1001 euid=1001 tty= ruser= rhost=  user=jason

This is, currently, an undocumented security feature of VirtualBox 3.1x to prevent just anyone from accessing the virtual machine console. For most folk, this might be a very good thing but if you have a team of sysadmins that should have access to the virtual machine consoles, you probably don’t want them to use the same login.

If that is the case, you can add the user(s) that should have access the virtual machine console to the shadow group on the host Linux machine. Be warned though that the user(s) that are added to the shadow group should not be able to log into the host machine else they will be able to read the shadow file where all the passwords to the box are stored. If the users need access to the host box, then they should have a login for host access (not part of the shadow group) and another for virtual machine console access.

Adding linux user jason_vrdp to the shadow group:

(root) # usermod -G shadow,virtualbox jason_vrdp

Prevent jason_vrdp from logging in to the host or anyone from sudo’ing to it:

(root) # usermod --shell /bin/false jason_vrdp

That’s it :)

I’ve been wracking my brains over this for the past few weeks and it finally struck me how to create an m4b audiobook with chapters that is compatible with your iPod, iTunes, VLC, etc.  It was very simple once I figured it out:

Step 1:

encode the mp3 files to “aac” (mpeg4) using your favorite converter (I use ffmpeg):

ffmpeg -i "track1.mp3" -y -vn -acodec libfaac -ab 128k -ar 44100 -threads 3 -f mp4 track1.aac

Step 2:

Create a chapters file so that MP4Box can understand it:

* Common syntax : CHAPTERX=h:m:s[:ms or .ms] on one line and CHAPTERXNAME=name on the other – the order is not important but chapter lines MUST be declared sequencially (same X value expected for 2 consecutive lines).

$ cat track1.chapters
CHAPTER1=00:00:00.000
CHAPTER1NAME=Chapter 001
CHAPTER2=00:30:00.139
CHAPTER2NAME=Chapter 002
CHAPTER3=01:00:00.728
CHAPTER3NAME=Chapter 003
CHAPTER4=01:30:01.269
CHAPTER4NAME=Chapter 004
CHAPTER5=02:00:01.858
CHAPTER5NAME=Chapter 005
CHAPTER6=02:30:02.375
CHAPTER6NAME=Chapter 006
CHAPTER7=03:00:02.964
CHAPTER7NAME=Chapter 007
CHAPTER8=03:30:03.553
CHAPTER8NAME=Chapter 008
CHAPTER9=04:00:04.094
CHAPTER9NAME=Chapter 009
CHAPTER10=04:30:04.683
CHAPTER10NAME=Chapter 010
CHAPTER11=05:00:05.224
CHAPTER11NAME=Chapter 011
CHAPTER12=05:30:05.765
CHAPTER12NAME=Chapter 012
CHAPTER13=05:46:14.106
CHAPTER13NAME=Chapter 013
CHAPTER14=06:16:14.143
CHAPTER14NAME=Chapter 014
CHAPTER15=06:46:14.732
CHAPTER15NAME=Chapter 015
CHAPTER16=07:16:15.249
CHAPTER16NAME=Chapter 016
CHAPTER17=07:46:15.790
CHAPTER17NAME=Chapter 017
CHAPTER18=08:16:16.331
CHAPTER18NAME=Chapter 018
CHAPTER19=08:46:16.920
CHAPTER19NAME=Chapter 019
CHAPTER20=09:16:17.460
CHAPTER20NAME=Chapter 020
CHAPTER21=09:46:18.050
CHAPTER21NAME=Chapter 021
CHAPTER22=10:16:18.639
CHAPTER22NAME=Chapter 022

Step 3:

Add the chapters to the audio file (creates Nero format chapter markers):

MP4Box -add track1.aac -chap track1.chapters test.mp4

Step 4:

Convert the Nero chapter markers to Quicktime chapter markers using mp4chaps from the mp4v2 project (you will want v1.9.1 or higher):

mp4chaps –convert –chapter-qt test.mp4
converting chapters in file "test.mp4" from Nero to QuickTime

Step 5:

Rename the file from .mp4 to .m4b extension so iTunes will see it as an audiobook:

mv test.mp4 test.m4b

Proof that it works:

and VLC showing the chapters:

Of course, we aren’t putting in any tags such as “author” or “genre” in this example. Use your favorite tags editor to do so.

I was very much surprised just how easy it is to convert a Microsoft Windows 7 laptop into a virtual machine running within Sun’s VirtualBox.  This is what I did:

  • Pull the hard drive from the laptop.  On my Dell Latitude, it was simply unscrewing the two screws on the bottom of the laptop marked with the hard drive simble
  • Attach the drive to a SATA to USB connector and plug it in to your Linux box
  • If you don’t have VirtualBox installed, do so now using apt-get, rpm, or whatever you use to install software
  • Follow How to migrate existing Windows installations to VirtualBox but make sure you specify the entire drive (i.e. /dev/sdh) and not individual partitions else you will miss the hidden partitions that Vista and Windows 7 create

You should have a working Windows 7 Virtual Machine.  You’ll notice that you probably have a huge vdi file.  Let’s shrink that down:

  • Within Windows
    • download and install sdelete from Microsoft
    • download and install PowerDefragmenter
    • Run PowerDefragmenter on your c: drive (as administrator)
    • Run “sdelete -c c:” from a cmd window (as administrator)
    • shutdown windows
  • On the host
    • run “VBoxManage modifyvdi my_disk.vdi compact” replacing “my_disk.vdi” with the name of your vdi file you created earlier
    • Note that if you get a “Shrink hard disk operation is not implemented” error, then you’ve hit bug #2833 and you will want to download the latest VirtualBox to fix it.
Powered by WordPress | Theme: Motion by 85ideas.