OpenBSD Journal

OpenBSD in the USENIX terminal room

Contributed by louis on from the everyone's-partying-except-me dept.

As in previous years, the USENIX annual technical conference features a terminal room running OpenBSD. Aaron Campbell got, um, "volunteered" by the other developers to set up the machines.

The terminal room has 30 workstations running OpenBSD 2.7-STABLE, with a stock install and a few useful applications like Netscape, Emacs, Acroread, Ghostscript and gv. The hardware is Dell P3/500, 128MB RAM, 12GB disk, ATI Rage Pro. The T1 feed was donated by Earthlink [ The service provider was previously incorrectly identified. Our apologies for the mistake -louis ].

At OpenBSD Journal's insistence, he divulged his installation secrets...

Aaron writes:

The install process was as follows: setup one machine, i.e. install the OS, install the packages, tweak settings etc. Add one 'guest' user, password 'guest'. Run Netscape once, set some bookmarks up (to OpenBSD and USENIX-related pages). Exit Netscape. Now flesh out /home/guest (remove Netscape cache files et al) and rm -rf .ssh. Now we have a nice, skeletal /home/guest directory with simple Netscape settings etc.

Create a tarball of /home/guest and put it in /usr/X11R6/lib/X11/xdm/homedir.tar.gz . Add some script magic to /usr/X11R6/lib/X11/xdm/TakeConsole that wipes out all user-writable directories ( /home/guest , /tmp/ , /var/tmp ) then untars the skeletal guest home dir tarball back into /home/guest . Now the next person who logs in will have a clean system with which to work with.

Some tweaks that were done:

  1. Disable consoles in /etc/ttys and remove the 'secure' keyword (so that users don't get root prompt when ^C'ing out of fsck at boot-time).
  2. echo boot > /etc/boot.conf to get rid of the 5 second delay at the boot> prompt on reboots,
  3. Disable inetd, sshd, and portmapper.
  4. Setup usermount so users can mount floppies and CD-ROMs.
  5. Set BIOS password and enable 'boot from hard disk only'.
To duplicate the install on every machine was easy. After I was satisfied with the initial PC setup, I created one huge tarball of the entire system named base27.tgz. Then I activated the ftp daemon, went around to each workstation, booted off a floppy, setup partitions, then simply chose ftp install and pointed it at the initial setup machine. It comes up with just 'base27.tgz' as the only package available so you choose that. It installs it, you select a timezone, reboot, and you're done.

(Comments are closed)

  1. By LiNT () on

    I always enjoy reading articles like this. Everytime I seem to learn something that I never would have by reading man pages. It gives you a real world example of how to satisfy a particular situation.

    Anyways....thanks Aaron.


  2. By Tom () on

    I have to agree with LiNT on this. I love seeing articles like this. Thanks Aaron

  3. By Chris () on

    Just built the gateway/web/dhcp server for our
    company's trade-show demo setup with OpenBSD.

    I needed an external link dhcp, and scripted a bit of a mess to translate the info to the dhcpd config for the demo terminals and off I went.

    Best part is that it has performed flawlessly for a few weeks now with a team of DFU's running the show. It is so simple to make a gateway 'appliance' type install....great OS.

  4. By Barry Grumbine () on

    Installed OBSD2.7, ports collection, etc, etc, etc, and got it all setup just the way I want it...

    Now the drive has decided to die on me, every other time I start the system up.

    Don't know how many more times it will start successfully...

    THEN, I remembered this article I read at OBSDJ a couple of weeks ago...

    "To duplicate the install on every machine was easy. After I was satisfied with the initial PC setup, I created one huge tarball of the entire system named base27.tgz."
    - the article read

    Would you mind giving me the full command you used to make "one huge tarball...base27.tgz", I may only have one chance and I don't want to screw it up.

    Will there be a problem creating the tarball within the same filesystem I am tarballing?

    Should I (could I) hook up a slave drive and just mount and cp the contents over, then replace the master with the slave (preping the slave with the OBSD install floppy beforehand perhaps?)

    From the man page it looks as though cp -p will not keep all permissions(SUID & SGID)...this will be a problem?

    Any help would be greatly appreciated.


Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]