X-on-a-floppy Documentation
This documentation is obsolete and is being updated.
The history (below) is at least up to date.
This is directions for ssd's magic autoconfiguring X-on-a-floppy directory.
Please e-mail to ssd@mae.engr.ucf.edu
if you have questions or suggestions about X-on-a-Floppy, or these directions!
Without feedback, this will only improve slowly.
Most of the files in the X-disk
directory are experimental. This page lists the latest [working] versions.
There have been three major "releases" of X on a Floppy, each of which
was deployed widely within UCF Engineering. It is highly likely that all
three are still in use, although the newest version is prefered when setting
up new hardware.
Versions:
- X11c (final version)
- This version is the best version for machines with less than 8M of ram,
and very old video cards. This version is based on a very old XFree86,
and works without NFS.
- sdisk1
- This version XFree86 3, and works fairly well without NFS, but can NFS mount additional binaries. A script can be run to NFS mount additional binaries and then switch to XFree86 4.
- sdisk2
- This is the most current version. This requires NFS. Once the NFS
disk is mounted, it throws away the initial ram disk and runs totally off
of RedHat 6.2 libraries and binaries. This uses XFree86 4.
Table of Contents
(This section is almost totally obsolete.)
For current versions (sdisk1, sdisk2), just dump the handful of files
in the correct version's directory either on your floppy, or in C:\LINUX
(for loadlin use) or in some directory on a 1cyl partition or something.
The following directions are for x11c, and will be deleted shortly.
This list assumes that you've already got the server side stuff set up
somewhere on your network. If not, you'll need to do that first.
(There is a config server set up for UCF.)
- Obtain a copy of X on a Floppy.
The files you really want are:
You probably do not need these files...
- probe
kernel 2.0.x for 386/486/pentium, additional ethernet cards
- p
sample parameter file for loadlin for nets w/o bootp
- p.bat
alternate start batch file for use with p (above)
- put the files somewhere they can be booted. Possibilities include: on a floppy, in a subdirectory on a dos hard drive, or a partition lilo can boot it from...
- configure the network setup for the pc. If you have bootp, this
is already done, and this step can be skipped. Otherwise, customize
a version of the file p (listed above)
and use the appropriate batch file to use it. (Not supplied above yet.)
- boot up X on a Floppy for the first time. The first time, your machine
will probably not be in the config database, so there will be errors.
The network card should at least be recognized and initialized, but you
probably will be left in text mode.
- Log in as root, and begin configuring the machine.
The following commands can help you with this. Note that NONE of these
commands will do anything interestnig if not given any command line arguments.
- probe
- query the config server without changing anything
- tryconfig
- test configuration changes and download pieces just for a one shot test
- fixconfig
- save specified changes to the configuration database and download new pieces
- getbin
- download an executable from the binary directory
- get binz
- download an executable from the compressed binary directory
The commands probe, tryconfig and fixconfig are actually
slightly different interfaces to the same program. Multiple arguments
may be given, but they must be separated with an '&' character
with no spaces between. (The arguemnt list must be quoted to prevent
the shell from using the & specially.)
Note that probe help will give additional information not included here.
The following items MUST be configured at a minimum!
- fontserver
- a machine running xfs to download fonts from as needed
- xhost
- a host running xdm that you wish to get a login prompt or menu from
- xserver
- an X server to support your video card (superprobe may help)
- mouse type
- what kind of mouse you have (default is microsoft mouse)
Other parameters may also have to be set. probe help may
assist in this.
- To test the configuration, type startx or just X if you
don't actually need to log in to test things. Use ctrl-alt-backspace to
return to text mode to continue configuring. If things don't work,
repeat the previous step. (I should put some hints on problems here.)
- After you have a working configuration and have saved it,
you may want to reboot to verify things work as expected.
If you want to set up your own [complex] configuration server, you will need the following files:
- If you are setting up a server for this, you want the perl cgi-bin files:
- xdb extract info for the local
machine from the configuration database (also includes remote help via
'probe help' command) (Note: this contains a few things specifically
for compatability with x9, x10, x11, etc. images.)
- xcfg construct a XF86Config file from
configuration database hints
Both of these scripts DO have network specific information in them, so
you will most certainly need to edit them somewhat. Also, there are
a few defaults, modelines, etc. in the xcfg script, although many of them
work on most machines (that I've tried).
Once you have these, you will want to create a few preconfigured entries
that cover things on most machines. (I should give some examples here.)
- If instead, you want a very simple setup for just a few machines, rather
than setting up the two servers above, it'd be simpler to just use a shell
script and a few static XF86Config files. At home, for xdb, I use a shell
script much like this:
#!/bin/sh
cat <<EOF
xhost=192.0.2.1
xserver=http://192.0.2.1/linux/X-cfg/XF86_SVGA.gz
xurl=http://192.0.2.1/linux/X-cfg/Xcfg.$REMOTE_HOST
EOF
Note that $REMOTE_HOST is a cgi variable from the httpd server.
I am also starting to experiment with a form based configuration utility,
which you can try here.
Here is a list of configuration variables.
These are usually set in the network based configuration database.
- xhost=
- XDM host
- mport=
- mouse device name (ttyS0=com1 ttyS1=com2)
(psaux port is preset for xcfg=cfg-ps2)
- xserver=
- X server type (s3.gz or svga.gz)
- method=
- login type; (indirect for menu, query for login window)
(probe listvar gives a more complete list)
There are a number of X server configuration parameters.
All of them can be found in the
X server config form. They can be given to
the network config database if prefixed by 'xc'. For example:
xcres=800x600,640x480
if bootp doesn't work fill these in... if bootp is availble, delete these
- chost=
- configure host (untested)
- IPADDR=
- NETWORK=
- NETMASK=
- GATEWAYS=''
- DNSSRVS=''
- HOSTNAME=