== Frequently Asked Questions ("FAQ") about VSTa ==
=== What is VSTa? ===
VSTa is a copylefted operating system created by Andy Valencia
(email@example.com) and later enhanced by numerous others. It uses a
microkernel organization, in which the "kernel" code is very small
(~40k) and all filesystems and drivers reside in "user" mode
processes. At user level it looks substantially like a POSIX-type
VSTa is quite different than your typical free UNIX. First, it does
not even try to be exactly a UNIX; areas which have proven to be
problematic for extensibility or efficiency have been changed. For
instance, signals are strings, as are error "numbers". Thus, VSTa is
much more of a platform for experimentation with beyond UNIX ideas
than simply another implementation of UNIX.
VSTa was mainly inspired by two commercial systems, QNX and Plan-9.
QNX provided an example and the motivation for a clean, small, and
efficient microkernel organization and has the performance that any
kernel (of any organization) would be proud to have (see QNX's home
page). Plan-9 is the next OS from the fathers of UNIX and supports a
filesystem view similar to QNX with an interesting system organization
(see Plan 9's home page). VSTa pushes to incorporate the strengths of
both these systems into an OS which is both useful and available in
source form for experimentation.
VSTa supports concepts similar to the Hurd's translators. This is
because of its Plan9 inspired "filesystem view" of the system. All
"servers" (a process which publishes a port for connections) export a
filesystem view of their resources, so that the connection to a "hard
drive device" such as (in unix-ease) /dev/hda, is no different from
connecting to an actual file on a filesystem. This allows a user, with
no special security, to mount a server into his own pathname space.
This server could give a filesystem view of a tar file, a special
proxy network connection, or anything else one wants to do.
==== What does "VSTa" stand for? ====
The "Valencia Simple Tasker". Actually, the 40K in the kernel suports
kernel preemption, shared memory MIMD multiprocessors, and virtual
memory. It really isn't all that simple!
=== Hardware and software ===
==== What does VSTa run on? ====
VSTa was originally written for the i386 PC. It has since run on
several platforms varying from 2 meg RAM 386sx based machines to 128
meg Pentium Pro based machines, and 68030 based Amigas. It has even run on a
MIPS based Cisco router!
VSTa has driver support for ST-506, IDE, and Adaptec 1542[bc] disk
interfaces. It supports floppy drives, MGA and CGA monitors, RS-232
interfaces, parallel interfaces, NE2000 and 3c509 LAN cards, and bus
or serial mice. Under SCSI, it also supports CDROM.
VSTa has a port to the Amiga with 68030. It supports the display,
keyboard, and SCSI disk. While operational, it is not being actively
==== Does it network? ====
An initial port of KA9Q has been done. It uses the ne2000 or the 3c509
driver and can be used to telnet and FTP. Some code has been written
to provide a /inet server so that, for instance, a telnetd can be run
to allow logins via the net. A server has also been written so that
any VSTa message operation can be run transparently over IP.
=== Installation and administration ===
==== How do I get VSTa and what is the current version? ====
The current version of VSTa is (1.6.8). It is available at:
==== How do I boot it? ====
VSTa uses the Multiboot standard, and can be loaded from any
bootloader which uses that standard. The most common is GRUB ("GRand
Unified Bootloader), which is available at http://www.gnu.org/software/grub/.
GRUB loads the kernel image and any "boot servers" (which are like any
program running under VSTa, except they exist as processes at boot
time, so they can provide disk I/O and such without having to build
this into the kernel).
For the nuts and bolts of doing this, see the file vsta_*.readme on
the FTP site. This will point you to the files "license" and "readme"
in the vsta.tz compressed archive. These provide information on the
terms and conditions for use of VSTa. Then it points you to
doc/roadmap.txt in the same archive, which tells you how to boot up
==== Ok, I booted it, but how do I find out more about its design? ====
The VSTa WWW Home page can be found at:
Most of the actual content is stored within the VSTa Wiki,
linked to from the web page.
["VSTa"] indexes to the available documents (you are welcome to add to it!).
Finally, the code itself has relatively consistent and numerous
==== I boot up, and see the disk blink, but my screen doesn't show anything ====
The default in boot/boot.lst is for a CGA system. MGA cards place text
at a different address; add the -mono flag to the "cons" server.
The kernel debugger also needs to be flagged this way; you need to
edit the file os/mach/dbg_ibm.c and then rebuild your kernel.
==== How do I make a vstafs filesystem? ====
(Gary Shea, firstname.lastname@example.org) [[br]]
For DOS 6.2, there are two possible partitions on a disk: the main
one, and a secondary one. It is possible to create logical partitions
in the secondary partition to subdivide that partition even further.
To see what partitions you have available, add a line of the form:
to the /vsta/etc/fstab file and reboot, or use the command
$ mount disk/wd /wd
to accomplish the same effect temporarily. Look in the /wd directory
for the names of available partitions. Supposing you wish to use the
partition wd0_dos1, use the command
$ stat /wd/wd0_dos1
to find the exact size of the partition. Divide that number by 512 to
get the number of sectors, then the command
$ mkfs_vfs /wd/wd0_dos1 number_of_sectors
will initialize a vstafs file system on that partition. Now you can
run the filesystem server:
$ /vsta/boot/vstafs /wd/wd0_dos1 fs/vfs
Finally, you must map the namer pathname fs/vfs into the root
heirarchy with a mount command:
$ mount fs/vfs /vfs
If you want the filesystem mounted at boot time, find the vstafs
command in the /vsta/etc/inittab and correct it to your device name
(note the different syntax when portnames are used); uncomment or
introduce the necessary mount line in the /vsta/etc/fstab file.
==== What should I do if/when VSTa crashes? ====
To help us fix the bug that caused it you should send a bug report.
There's a paper describing how to do just that here. You should
also take a look at the paper on crashes under the VSTa documentation.