[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: