A base distribution contains one or more file systems with enough information so SBUML can boot a machine with these file systems attached. When SBUML saves a snapshot, it saves all of the virtual RAM, but it only saves the disk changes with respect to the base distribution. It is important that the base distribution not change because the exact same base distribution must be used when the snapshot is restored. Since base distributions can be large, ideally there should be only a few that are shared by many snapshots.
Currently the snapshots on this website use two distributions. One is toms, which is very small and is included in the sbuml-core files. The other is rh72c, which is 220MB compressed or 660MB uncompressed. Rh72c has these properties:
It also has some lapses:
- built from rpm files from the RedHat 7.2 ISOs using UML Builder,
- opens up one virtual console window,
- has Emacs, ssh, VNC, and some KDE apps,
- configured so that ssh sessions set up the DISPLAY environment variable for X automatically,
- and contains scripts that SBUML uses to configure network IP addresses and set up vncserver.
These limitations can be easily overcome by configuring the machine after it boots, but this means more file system changes and the snapshots become larger. Until there is time to build a better distribution, rh72c is still the best existing compromise between size and functionality, and so it is what the snapshots here continue to use. The Creating New Base Distributions page explains how to package custom base distributions for your own use.
- gcc is not fully installed!
- xeyes and xclock were not installed! :-)
- Not enough fonts are installed.
- Boots with networking on.
- Download the file sbuml-bases-rh72c.tar.gz from the sourceforge download page.
- Change to the sbuml directory.
- untar the downloaded file:
[(sbumldemo subshell) sbumldemo]$ tar xzvf sbuml-bases-rh72c.tar.gz
- Check that the distribution ended up in the bases directory along with toms:
[(sbumldemo subshell) sbumldemo]$ du bases
The simplest way to use the rh72c distribution is to click on one of the web based snapshots that is based on it that are on various pages in this website.
However, to boot a new machine from the rh72c distribution, include rh72c as the third parameter:
A login prompt should appear in the virtual console that takes root for both username and password.
[(sbumldemo subshell) sbumldemo]$ sbumlboot m1 rh72c
Once logged in, entering ./initvncserver will start up a background script for changing IP addresses and also start vncserver with a 1024x768 screen. (Editing the initvncserver script first is the easiest way to change the screen size by adding a parameter like -geometry 800x600) After that, issuing the following command will attach vncviewer after changing the IP address to the first free address after h1.h2.h3.22, where h1.h2.h3.h4 is the address of the host:
Within 10 or so seconds a vncviewer window should pop up showing a graphical user interface running twm. To change the window manager to KDE, inside the one xterm enter the following:
[(sbumldemo subshell) sbumldemo]$ sbumlvnc m1 22
A process called artsd is started with kde and has caused trouble when snapshots are restored later because the change in system time causes artsd to take all the UML CPU cycles. Killing it seems the simplest way to solve the problem:
[root@redhat72 root]# killall -9 twm
[root@redhat72 root]# /etc/X11/xinit/xinitrc &
[root@redhat72 root]# killall -9 artsd