While trying to create a new Virtual Machine to install EBS on my home Ubuntu server, I received error messages saying “VT-X is unavailable (VERR_VMX_NO_VMX)” upon booting the new VM. This error message makes sense because my home server uses an old Core2Duo processor that does not have VT-X extensions.
In the VirtualBox GUI, however, the extensions tab where this feature could be disabled was greyed out (presumably due to my processor’s lack of the feature).
At first, at the recommendation of the top pages on google for the error message, I tried modifying this line in VM’s my .vbox file:
<HardwareVirtEx enabled=”true” exclusive=”true“/>
When I restarted the virtual machine, however, the file would change itself back.
While it’s not very well documented, rather than editing the configuration file, it is a better idea to issue the following commands (replace EBS with your VM’s name):
VBoxManage modifyvm EBS –hwvirtex off
VBoxManage modifyvm EBS –vtxvpid off
These commands will use the VBoxManage command to properly change the configuration file and allow the VM to boot without VT-X extensions.
Update: Please note that this post is no longer applicable now that Amazon has stopped charging for inbound data.
Recently I have signed up for Amazon EC2’s free usage tier, and I am really enjoying the service. I don’t use it for much, but I have been tinkering with it while considering using it to host a personal project. After installing one of the official Ubuntu Server images offered by Canonical, I have started noticing some charges for data transfer outside of the free usage tier’s coverage.
$0.010 per GB – regional data transfer – in/out/between EC2 Avail Zones or when using public/elastic IP addresses or ELB – $0.01
This was confusing, as I do not have an Elastic IP (a static IP they allow you to use “elastically” along all of your instances) assigned to me. The charges are very minuscule due to my usage, but each month so far has resulted in a 1 cent charge. While it isn’t enough of a charge to worry about, upon further research I believe I was able to find the source of these charges.
While Amazon EC2 includes 15GB in/out of bandwidth to use as one pleases for free, bandwidth is calculated separately between other Amazon EC2 instances. In my case, Canonical’s Ubuntu Server image was set to download new updates and packages from their EC2 instance. Although this instance was also on the East Coast, bandwidth was still metered and charged at a special rate outside of the Free Tier’s allowances.
If one were running a server outside of the free usage tiers, this bandwidth metered would be cheaper than downloading packages from a standard, non-Amazon mirror; however if you would like your updates to be part of the free 15GB Amazon gives free tier customers changes can be made to /etc/apt/sources.list. Simply remove the URL to the EC2 mirror and replace it with a public one such as http://mirror.cc.columbia.edu/pub/linux/ubuntu/archive/.
Because the self-extracting shell script used to install Glassfish requires the use of a GUI by default, installing Glassfish on a system like Ubuntu Server is not quite a straightforward is one may think.
To install Glassfish without a GUI, one must use a not-so-known silent install mode. To do this, an answer file (a text file that contains installation settings) must be supplied using argument -a, and argument -s must be supplied. For example:
./glassfish-3.1-unix.sh -a answerFileName -s
To generate an answer file, however, one must run the installer in trial mode:
./glassfish-3.1-unix.sh -n answerFileName
The only problem with this is that generating the answer file in trial mode also requires the use of a GUI. In my case, I wanted to install Glassfish on my Natty Ubuntu Server on Amazon EC2, which does not have a GUI. Using another Ubuntu machine I generated an answer file to install using silent mode (see above).
If you’d like to use the answer file I used: Click here. This answer file has the most basic settings set, with an admin password of “password.”
Hopefully this saves someone a little time!