Poor Man's XT doc (pre-releace)
I have atteched here a document I am writting (mostly for my own interest)
This is the "Poor Man's XT". The aim is to be a full doc on how to
setup a debian linux system (based on 2.0) and make a working
"XTerminal" out of it.
The goals:
1. Should be able to be diskless, booting wither form boot prom or
a boot disk and NFS mounting the base system
2. System should be as small as possible.
3. Xserver etc should be able to be upgraded from dpkg
accepted limitations:
1. Assumes XTerminal AND machine hosting its root filesystem via NFS are
on the SAME architecture.
2. Assumes ALL XTerminals using the same root partition are on the same
hardware (XF86 Setup and all...could be overcome...maybe will work on
that in a revision of the doc)
I am looking for any thoughts and suggestions on this, both technical and
in style of writting. Also...as far as this Doc is written is as far
as I have gotten with the project. I still have to work out the boot
disk (I don't have the ability to use boot proms..yet..) and all the
BOOTP/arp/rarp/NFS stuff....but so far it looks solid.
(any suggestions on how to continue with the project will be apriciated
too)
-Steve
--
/* -- Stephen Carpenter <sjc@delphi.com> --- <sjc@debian.org>------------ */
E-mail "Bumper Stickers":
"A FREE America or a Drug-Free America: You can't have both!"
"honk if you Love Linux"
Poor Man's X [Diskless] Terminal
Stephen Carpenter <sjc@delphi.com>
[ While this document is formatted as closely as it can be to that of
most linux HOWTOs ...it is not as of yet a real HOWTO but rather a
work in progress and may become a HOWTO if it progresses far enough ]
1.0 Introduction
This document will as it progresses describe how to put together
a cheap PC (or use an existing PC) and turn it into a powerful
X Terminal. This is currently a project of mine and will progress
as my project progresses.
2.0 Technical Details
An X Terminal (for those who have read this far and don't already
know) is basically a computer which runs X Windows and X Windows
only. A user sits down and logs in, and then uses it as normal,
but NONE of the programs (not even the window manager) actually run
on the local system. Everything is run off of a "Host".
For My purposes I have made the following decisions:
1) The system should have no local user accounts, only root
(for administration purposes)
2) The system should run NO services that are not essential for
X Windows (with the exception of ssh which will run for purposes
of administration only)
3) The X Terminal should be able to run with no hard drive. It should
Mount it's entire filesystem through NFS.
4) The X Terminal will get its IP adress from BOOTP
5) Other than X Windows itself the system should only contain those
files NEEDED toupdate and fix the system
3.0 Hardware
4.0 The Base
This is where the Nitty-Gritty of the process begins. I have chosen
to use Debian GNU Linux version 2.0 as the base for my system, you
may use anything you wish (even something non-linux). The base system
installation and configuring of this document will focus on
Debian 2.0.
4.1 The base filesystem
The base filesystem is based on Debian Linux 2.0 (hamm). Start by
obtaining the tgz of the base system from your local debian mirror.
This file is a tarball archive of a working linux system with just
enough stuff to install a larger system on top of it. The upshot of
this is that it contains dpkg - a great packaging program that can
be used to update the system later.
Make a new directory /exports/xterminal (or whatever you wish). Move
the base system into /exports/xterminal and unpack it with:
tar zvfx base2_0.tgz
At this point there is almost a working base system there. Now it
just needs to be configured. Start out by copying /etc/resolve.conf
into the etc directory that was created by the new system. Then
while in the directory /exports/xterminal run "chroot . bash --login"
Once you do this, you will be put through some prompts to configure
the base system. At this point just follow the prompts, and when
you finish you will have a fully working Debian Linux System in
a directory.
NOTE: This assumes you plan to install the system on the SAME
Architechture as the X-Terminal will be on, if you are
using an i386 and you plan on using a SUN Sparc as an
X-Terminal...then this will NOT work [but it should be
possible though alternate means ;)]
4.2 X Windows Setup
Now you have a nice minimal text based system. The next step is
to but X on this beast. Get the debian package for your favorite
X Server and all of the support packages it needs. You can do this
by first choosing the proper X Server for your video hardware and
reading the Packages file. As an example my X Server is xserver-s3
and when I read the packages file for it I see the line:
Depends: makedev (>= 1.6-8), libc6, zlib1g
All I need to do is install these and then my xserver-s3 package.
After this is done configure /exports/xterminal/etc/X11/XF86Config
(if the server is an XFree86 server) according to the new X Terminals
Video card and Monitor specs (this can be easy or complex...if you
don't already know how to configure XF86Config, you should give
up now and go leanr how to set that up first).
4.3 XDM setup on the Host
This part is actually very easy. This assumes that you DO NOT
want xdm starting an Xserver on the localhost (ie so that you
can use the Host machine in command line mode and go into X if
needed with startx). This machine NEEDS the package xbase and
of course all the packages it depends on. If X is already setup
and working on this machine then you have little left to do.
Edit /etc/X11/xdm/Xservers. You should find in that file 1 line
which is not commented. This line looks like this:
:0 local /usr/X11R6/bin/X
Comment this line out (just put a '#' before it). This will make
xdm startup and NOT start a local X server. Once you do this you
can start xdm (just check the config and make sure that the these
lines exist and are NOT commented (NB: this is MY minimal setup
it is NOT the most secure setup to use)
# any host can get a login window
*
# any indirect host can get a chooser
* CHOOSER BROADCAST
At this point you can start xdm just by running "xdm" from the
command line. You will probably want to configure it to start
up on system reboot. There are many ways to do that...just do it
;)
4.4 Xterminal - Local test
Once all this is setup you can do a simple test. Go back into your
Xterminal filesystem root directory and as usual "chroot . bash".
Now with xdm running (outside the chroot) just run
X -query 127.0.0.1
You SHOULD see the standard grey X screen come up and get a chooser
on the local machine. If it works then Congradulations, you now
have most of the software setup, all that remains is to get a system
booting with this filesystem. If it doesn't work then you screwed
up somewhere. Go back to editing XF86Config if the server doesn't
run right.
Reply to: