                   End Use Configuration

Binaries are supplied for the following apps:

ycalc        := modified X TI-59 emulator w/number conversion.
xe           := modified xenon X text editor.
xfilemanager := modified old X Explorer clone.
xcruise      := modified directory structure viewer.
lwm          := modified Light Window Manager.

Source for the above modified files can be found at:
http://www.users.qwest.net/~loveall/

thttpd       := micro web server.
Source and doc for thttpd can be found at:
http://www.acme.com/software/thttpd/

Xvnc         := remote X server, taken from the mulinux VNC package.
vncpasswd    := Xvnc password setting program from same.

Source for the VNC binaries can be found at the VNC web site:
http://www.uk.research.att.com/vnc/

The remaining supplied files are either scripts or fonts. Your
operational system is the source for the rest of the initrd image.

You can substitute more recent *.gz font files for more compact
storage, but you will need to update the fonts.dir and fonts.alias
files.


CONFIGURING UCLIBC, TINYLOGIN and BUSYBOX:
==========================================

As an aid to getting uClibc, tinylogin and busybox working, the 
appropriate Config, Config.h and Makefile files are included in
the following directories:

../lmw/init_scripts/uClibc/Config
../lmw/init_scripts/tinylogin/Makefile
../lmw/init_scripts/tinylogin/Config.h
../lmw/init_scripts/busybox/Makefile
../lmw/init_scripts/busybox/Config.h

These are provided for guidance, not as absolutes. Different systems 
will have different needs. But at least you will have some sense as
to something that did work, once :-)

Go to the URL:
http://opensource.lineo.com/cvs_anon.html
and follow the instructions for getting access to CVS.
After that, download all three projects with the following line:
"cvs -z3 -d:pserver:anonymous@opensource.lineo.com:/var/cvs co -P uClibc busybox tinylogin"

Copy the above Config, Config.h and Makefile files into the correspondig 
directories _after_ having renamed the originals. 

These files work with the builds of Busybox v0.51, tinylogin Makefile/1.31 
and uClibc Makeifle 1.63.

Be aware, these are dynamic projects and evolve. The included files may 
or may not work on future releases.


CONFIGURING LMW.SH:
===================

----------------------
Bash string variables:

REV is a bash string variable for internal housekeeping. Update here.
Changes propagate to backup filenames names.

These two variables determine the directory that the initrd image is
built in, BUILDIR, and the mount point, MOUNTP, for the finished
initrd image,

BUILDIR="embfiles"
MOUNTP="target"

The following variables specify which options are installed into the
final initrd image. Place a bash comment character, '#', in front of
undesired options. Loading both VGA16 and FBDEV options will leave the
default X set to FBDEV (as well as taking up lots of space).

#FIREWALL="1"
#THTTPD="1"
GPM="1"
#LDD="1"
REBOOT="1"
#SULOGIN="1"
#STRACE="1"

INSTALL_X="1"
LWM="1"
#GTK="1"
#DILLO="1"
#HELIWM="1"
XCRUISE="1"
#BROWSEX_SUP="1"
XENON="1"
XFILEMAN="1"
#VGA16="1"
#FBDEV="1"
XVNC="1"

See the file ../lmw/OPTIONS for a detailed explanation.

INITRD CONFIGURATION:
=====================

List of configuration files taken from the host development system:

group 
host.conf 
hosts 
shadow-
issue 
localtime 
protocols 
group 
gshadow
rpc 
securetty 
services 

The above should work as-is. However you may want/need to change them
to fit the target environment. See the appropriate man pages for 
further details.

----------------

The following files are copied from your host development system, but
then over-written with supplied defaults. If you prefer defaults from
your own system, then remove the supplied defaults from the
../lmw/init_scripts/etc directory.

passwd 
shadow 
profile 
inittab 
resolv.conf

HOSTNAME is a special case where the target HOSTNAME is generated by
running the command 'uname -n >HOSTNAME'. You can create your own
fixed HOSTNAME file using a text editor. Make sure the file
owner/group permissions match that of an appropriate HOSTNAME. Copy
the new HOSTNAME to the ../lmw/init_scripts/etc directory and
comment out the 'uname -n...' line in lmw.sh

-----------------------------
../lmw/init_scripts/xskel.sh:

Bash script file for creating the Xskel.tgz X window file tree skeleton from
the mulinux2 mu2-X11R6.tgz package. Xskel.tgz contains the added X directory 
structure, plus minimal ../fonts/misc and ../fonts/75dpi directories. No
binaries, just directories and fonts.

------------------------------
../lmw/init_scripts/etc/fstab:

The supplied fstab is a pretty little thing that is ignored until 
the appropriate mount point directories are created. It provides
a workable example of different mount points and file systems.

--------------------------------
../lmw/init_scripts/etc/inittab:

'inittab' is a custom file specifically for use with tinylogin and
busybox. tinylogin does NOT support run levels, so a conventional 
inittab is out of the question. inittab determines the major structure
of booting, startup, login and shutdown. See the appropriate man pages
and docs for tinylogin, busybox, init, halt and reboot for detailed
operation. Then see inittab for how it really works.

-------------------------------
../lmw/init_scripts/etc/passwd:
../lmw/init_scripts/etc/shadow:
../lmw/init_scripts/etc/nsswitch.conf:

These three files are provided so that the system starts up with a
blank password, otherwise I would have to tell you mine. See the
previous comments about passwords.

-----------------------------------
../lmw/init_scripts/etc/ld.so.conf:

Probably don't need this if you are NOT going to run X or add any 
other libs to the system.

------------------------------------
../lmw/init_scripts/etc/resolv.conf:

Added this so that external DNS servers are used. No security bug
laden DNS servers on this machine! Edit to change external DNS
servers.

--------------------------------
../lmw/init_scripts/etc/profile:
../lmw/init_scripts/.profile:

These two files constitute every geeks third religion behind 
programming language and text editor. Having exposed you to 2 out 3
of mine in this package was the least I could get away with. Can
you guess the third? And, no, it aint C.

----------------------------------------
../lmw/init_scripts/etc/rc.d/rc.sysinit:

This executes the system startup functions from when the kernel
finishes loading until login. Customize to suit your target.

------------------------------------------
../lmw/init_scripts/etc/rc.d/rc.functions:

A support subroutine that generates the purty green and red status
messages during startup.

------------------------------------
../lmw/init_scripts/etc/rc.d/rc.gpm:

A default gpm setup that gets overwritten by the GPM code in 
lmw.sh. Use whichever suits you. Default turned off. chmod =x to
change. Edit to match your mouse device. 

---------------------------------------
../lmw/init_scripts/etc/rc.d/rc.reboot:

What the system is supposed to execute in response to a three
fingered salute (Ctrl-Alt-Del) from the console or the
reboot/halt/shutdown commands.

--------------------------------------
../lmw/init_scripts/etc/firewall.conf:

How to communicate with the world (which network interface) and about
what (which protocols to support). Default interface is set to
'eth0'. Change if you add/change network interfaces.

-----------------------------------------------------
../lmw/init_scripts/etc/rc.d/rc.start/rc.00.firewall:

Sets the level of ipchains involvement. Tweak to suit your needs.
RTFM.

-----------------------------------
../lmw/init_scripts/etc/httpd.conf:

Set the http port and other configurables. Setup for thttpd.

--------------------------------------------------
../lmw/init_scripts/etc/rc.d/rc.start/rc.20.httpd:

Startup the thttpd and then report startup status. Default is to not
start. chmod +x to enable it.

-------------------------------------------------
../lmw/init_scripts/etc/network.d/interface.eth0:

Main _ethernet_ network configuration. For other interfaces, e.g. ppp,
add more interface.xxx files for each interface. Sets interface type,
static/dynamic IP, IP address, netmask, broadcast address and gateway.

----------------------------------------------------
../lmw/init_scripts/etc/rc.d/rc.start/rc.10.network:

This is the script that actually uses the info in interface.eth0. This
takes that data and sets up the system with ifconfig and route. 
Default is turned on.

-----------------------------------
../lmw/init_scripts/etc/inetd.conf:

Specifies the services that inetd supports. Tune, tweak or eliminate
as you see fit.

--------------------------------------------------
../lmw/init_scripts/etc/rc.d/rc.start/rc.30.inetd:

Starts inetd daemon. Default is to not start. chmod +x to enable.


X CONFIGURATION:
================

lmw uses the Xvnc server for a default X server. There are
unselected options for installing either an XF86_VGA16 server or an
XF86_FBDev server. By enabling the appropriate option and supplying a
matching X server, you can run X local on your target system. The
supplied XF86Config.3.3.6 is set up for a Sony VAIO 505G. The
XF86Config.FBDev is setup for a frame buffer enabled kernel running
at 800x600 resolution, 24 bit color. Change to suit/fit your need.
For further details refer to your specific X configuration docs.


The script 'vncserver' is used to start the Xvnc server. 'vncserver'
is dynamically generated by lmw.sh.

'vncserver' invokes the script:
/usr/X11R6/bin/vnc 
which in turn calls the script 
/root/.vnc/xstartup. 

----------------------------
../lmw/init_scripts/x11/vnc:

Starting at line# 124 the Xvnc parameters are set. Values set are:
connection timeout, 
rfb port, 
fontpath, 
geometry (sets X resolution) and
password file. 
See the Xvnc doc for further details. This config will get you up and
running with a modicum of security. File to form and bash to fit your
needs.

----------------------------------
../lmw/init_scripts/.vnc/xstartup:

This is similar to a conventional xinitrc. The difference is that it
is called by vnc which takes the place of xinit. This way, you do not
have to choose between a conventional X setup or Xvnc. Both can be
active and operational. 

Executes setroot for desktop color, fires up an rxvt terminal and
then invokes the window manager. Edit this file if you change window
managers or for other X startup functions you want performed.

