64-bit hardware. There are no plans for a 32-bit version.
64-bit Linux, Mac OS X, or Solaris X86 operating system
a version of ruby and rake to use during installation
root access so you can increase default shared memory settings (only during initial install)
There are several ways to install MagLev:
Install from GitHub
Install with Ruby Version Manager (RVM)
Install with ruby-build/rbenv
Use the installer
This version is best for MagLev contributors and for developers who want to live on the bleeding edge or use git functionality. It can be less stable than the .tar.gz version.
Create a new directory on a local (not NFS) file system to hold the MagLev source tree and other files. Change to that directory, then:
Clone the MagLev github repository
git clone git://github.com/MagLev/maglev.git
Install the VM. If this is the first time you’re installing MagLev, run:
If you’ve already run
installMaglev.shon the machine, then you can use the update script:
To use MagLev, you need to run
install.sh at least once. After that, every time you
git pull, you need to run
update.sh to ensure you have the corresponding GemStone 3.x binaries. Otherwise, you might get version skew that prevents MagLev from running correctly. Watch @MagLev for any ‘git only’ updates, but if you’re more than one update behind you still might need to run
update.sh. You don’t need to know a version number to install. The installer/updater figures that out from the version.txt file.
You’ll have all the functionality of git, but unless you create a new clone for each release, you may be unable to revert to an earlier version. Why? The install/update script creates a new copy of the MagLev data repository including persistent kernel code. The scripts make one level of backup, but we are not providing migration scripts.
RVM is useful if you want to compare behavior of various Ruby implementations or versions of MagLev. Install using:
rvm install maglev
See the rvm home page for details of using RVM.
RVM will automatically start a MagLev server when you
rvm use maglev. That server is left running if you
rvm use any_other_Ruby.
To stop your MagLev server:
rvm use maglev maglev stop
maglev stop will only stop the version of MagLev currently in use. If you’re using more than one, you’ll have to
maglev stop each of them – e.g.
rvm use maglev-1.0.0 maglev stop rvm use maglev-head maglev stop
ProTip: To kill all the MagLev servers rather than shut them down gracefully, run
ps -ef | grep /sys/stoned and kill the
stoned processes that show up. It takes a short time before they shut down, as they do a bit of cleanup first.
Note: When running rake from MagLev, you cannot perform tasks which affect MagLev itself, like
rake maglev:stop. You have to use the
bin/maglev shell script instead.
You can install MagLev with rbenv:
rbenv install maglev-1.0.0
or you can use ruby-build to install MagLev standalone:
ruby-build maglev-1.0.0 ~/local/maglev
~/local/maglev to wherever you want MagLev installed.
ruby-build basically runs
install.sh with some friendly output.
You will have to start and stop the MagLev server using
maglev start maglev stop
The ProTip above for RVM still applies.
Download and unzip MagLev-installer.zip
Where VERSION is the specific MagLev revsion you wish to install, e.g. 1.0.0
installMaglev.shruns one-time machine checks and configuration that ensure your hardware will run MagLev. These mostly relate to shared memory settings. It’s safe to run multiple times and it won’t overwrite things it’s already done.
The installer is somewhat verbose. That’s so you can more easily debug installation problems.
Note: Reverting to an older version is as simple as stopping MagLev, changing
$MAGLEV_HOME to point to the prior version, and restarting.