Table of Contents

Overview

gnu.offbyone.lan is a LAIR pod X network resource, an attempt to replace the flakey wildebeast.

hostname RAM disk swap OS Kernel
wildebai.offbyone.lan 512MB 4GB (/) 256MB Debian 6.0 “Squeeze” (AMD64) 2.6.32-5-xen-amd64
antelope.offbyone.lan 512MB 4GB (/) 256MB
gnu.offbyone.lan 512MB 4GB (/) 256MB
wildgoat.offbyone.lan 512MB 4GB (/) 256MB

News

TODO

Network Configuration

Machine Interface IP Address MAC Address
antelope.offbyone.lan eth0 10.80.2.30 00:16:3e:2e:d0:1e
wildgoat.offbyone.lan eth0 10.80.2.31 00:16:3e:2e:d0:1f
gnu.offbyone.lan eth0 10.80.2.32 00:16:3e:2e:d0:20
wildebai.offbyone.lan eth0 10.80.2.33 00:16:3e:2e:d0:21

Packages

The following packages have been installed on gnu:

Xen Configuration

gnu is a Xen virtual machine. Pertinent configuration information follows:

Creation

gnu.offbyone.lan recreated on sokraits on 02/11/2011:

sokraits:~$ sudo xen-create-image --hostname=gnu --mac 00:16:3E:2E:d0:20 --role=udev

Configuration

The Xen config file for this VM is as follows:

gnu.cfg
##########################################################################
# LAIR Xen VM configuration file (gnu.offbyone.lan)
##########################################################################
 
#################################################
#  Kernel + memory size
#
bootloader  = '/usr/lib/xen-default/bin/pygrub'
vcpus       = '2'
memory      = '512'
 
#################################################
#  Disk device(s).
#
root        = '/dev/xvda1 ro'
disk        = [ 'file:/xen/images/gnu.disk,xvda1,w',
                'file:/xen/images/gnu.swap,xvda2,w'  ]
 
#################################################
#  Hostname
#
name        = 'gnu'
 
#################################################
#  Networking
#
dhcp        = 'dhcp'
vif         = [ 'mac=00:16:3E:2E:d0:20' ]
 
#################################################
#  Behaviour
#
on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'

Invalid Data below

The information that follows is a combination of invalid data– ie it does not pertain to the wildebeest machines, or is in need of updating (ie the xdm stuff).

initrd

In /root/initrd, it looks like we have to make the following change:

server=10.80.2.3           # nfs serves the client image via nfs

As it was set to wildebeast— so after all that effort, the initrd the clients pulled down pointed them back at wildebeast.

building the gnu initrd

Run /root/doinitrd.sh

This will recreate it, and copy it into /export/tftpboot, allowing for clients to utilize it.

X config bits

In /export/client/etc/rc.local on gnu, there's a line nearly at the end of this file that needs to be changed:

FLAKEID="`ifconfig eth0|grep 'inet addr'|cut -d':' -f2|cut -d' ' -f1|cut -d'.' -f4`"
XHOSTID="`echo $(($FLAKEID % 4))`"

if [ "$XHOSTID" -eq 0 ]; then
    XRESHOST="wildebai"
elif [ "$XHOSTID" -eq 1 ]; then
    XRESHOST="antelope"
elif [ "$XHOSTID" -eq 2 ]; then
    XRESHOST="gnu"
else
    XRESHOST="wildgoat"
fi

X -ac -query ${XRESHOST}.offbyone.lan :0 vt7 &

As it was set to wildebeast.

xdm config

All these are in /etc/X11/xdm/ on gnu..

xdm-config

In /etc/X11/xdm/xdm-config, the very last line in the file needs to be commented out (! is the comment character here), so:

DisplayManager.requestPort:    0

Needs to become:

!DisplayManager.requestPort:    0

Xaccess

In /etc/X11/xdm/Xaccess, have a line to uncomment:

*                   #any host can get a login window

Xservers

In /etc/X11/xdm/Xservers, we need to comment out everything… in our setup, we don't run an X server locally (on gnu), the clients run their own X servers (ie on the flakes), so this file is empty.

Xsetup

In /etc/X11/xdm/Xsetup, establishing some polish (background and power saving):

xset +dpms dpms 600 0 0
#xsetroot -solid rgb:8/8/8
xsetroot -solid black

Xresources

The file /etc/X11/xdm/Xresources is where the bulk of the xdm appearance customization takes place.

Here it is (obviously subject to change as new tweaks make their way into it):

xlogin*login.translations: #override \
    Ctrl<Key>R: abort-display()\n\
    <Key>F1: set-session-argument(failsafe) finish-field()\n\
    <Key>Delete: delete-character()\n\
    <Key>Left: move-backward-character()\n\
    <Key>Right: move-forward-character()\n\
    <Key>Home: move-to-begining()\n\
    <Key>End: move-to-end()\n\
    Ctrl<Key>KP_Enter: set-session-argument(failsafe) finish-field()\n\
    <Key>KP_Enter: set-session-argument() finish-field()\n\
    Ctrl<Key>Return: set-session-argument(failsafe) finish-field()\n\
    <Key>Return: set-session-argument() finish-field()

xlogin*greeting: Classroom Linux Terminal (CLIENTHOST)
xlogin*namePrompt: Lab46 Login:\040

xlogin*fail: Login incorrect (Please use your Lab46 login)

#if WIDTH >= 1024
xlogin*greetFont: -adobe-helvetica-bold-o-normal--25-180-100-100-p-138-iso8859-1
xlogin*font: -adobe-helvetica-medium-r-normal--20-140-100-100-p-100-iso8859-1
xlogin*promptFont: -adobe-helvetica-bold-r-normal--20-140-100-100-p-105-iso8859-1
login*failFont: -adobe-helvetica-bold-r-normal--20-140-100-100-p-105-iso8859-1
#if PLANES >= 8
xlogin*logoFileName: /usr/share/X11/xdm/pixmaps/lair.xpm
#else
xlogin*logoFileName: /usr/share/X11/xdm/pixmaps/debianbw.xpm
#endif
#else
xlogin*greetFont: -adobe-helvetica-bold-o-normal--14-140-75-75-p-82-iso8859-1
xlogin*font: -adobe-helvetica-medium-r-normal--12-120-75-75-p-67-iso8859-1
xlogin*promptFont: -adobe-helvetica-bold-r-normal--12-120-75-75-p-70-iso8859-1
xlogin*failFont: -adobe-helvetica-bold-r-normal--12-120-75-75-p-70-iso8859-1
#endif

#ifdef COLOR
xlogin*borderWidth: 1
xlogin*frameWidth: 5
xlogin*innerFramesWidth: 2
xlogin*shdColor: grey30
xlogin*hiColor: grey90
xlogin*background: grey
!xlogin*foreground: darkgreen
xlogin*greetColor: Blue3

xlogin*failColor: red
*Foreground: black
*Background: #fffff0
#else

xlogin*borderWidth: 3
xlogin*frameWidth: 0
xlogin*innerFramesWidth: 1
xlogin*shdColor: black
xlogin*hiColor: black
#endif

xlogin*useShape: true
xlogin*logoPadding: 10

XConsole.text.geometry: 480x130
XConsole.verbose:   true
XConsole*iconic:    true
XConsole*font:      fixed

Chooser*geometry:       700x500+300+200
Chooser*allowShellResize:   false
Chooser*viewport.forceBars: true
Chooser*label.font:     *-new century schoolbook-bold-i-normal-*-240-*
Chooser*label.label:        XDMCP Host Menu from CLIENTHOST
Chooser*list.font:      -*-*-medium-r-normal-*-*-230-*-*-c-*-iso8859-1
Chooser*Command.font:       *-new century schoolbook-bold-r-normal-*-180-*

Note the existence of the lair.xpm file in /usr/share/X11/xdm/pixmaps, this needs to be put there (as I originally put it there on wildebeast).

Printing

gnu:~$ wget http://pdq.sourceforge.net/ftp/pdq-2.2.1.tgz
...
gnu:~$ tar -zxf pdq-2.2.1.tgz
gnu:~$ cd pdq-2.2.1
gnu:~/pdq-2.2.1$ ./configure
...
checking for glib-config... /usr/bin/glib-config
checking for GLIB - version >= 1.2.0... yes
checking for gtk-config... /usr/bin/gtk-config
checking for GTK - version >= 1.2.0... yes
updating cache ./config.cache
creating ./config.status
creating Makefile
creating src/Makefile
creating lpd/Makefile
creating doc/Makefile
creating doc/pdq.1
creating doc/printrc.5
creating doc/xpdq.1
creating etc/Makefile
creating etc/printrc.example

   Setting pdq resource directory to /etc/pdq
   Setting global pdq configuration file to /etc/pdq/printrc

   Now do 
      % make 
      # make install
      # cp /etc/pdq/printrc.example /etc/pdq/printrc


gnu:~/pdq-2.2.1$ make
...
gnu:~/pdq-2.2.1$ sudo make install
...
gnu:~/pdq-2.2.1$ 

References