The first step when creating the kiosk was to determine a suitable distribution that could install a minimal set of packages. For this purpose the Debian net install was initially chosen, which weighs in at 100 MB. Later Knoppix, then Damn Small Linux were used. A guest account was created from which firefox was started in order to make some initial configuration changes. The cache was disabled, along with form saving, password retention, etc... Next the /etc/inittab file (InittabConfig
) was edited so that a console would only be present when booting into runlevel 2 or into single user mode. By default the kiosk would boot into runlevel 5 and have no console available except the XSessionConfig
which was set to respawn if it was killed by calling the KioskDm
script. The only way of getting access to the system was by booting into single user mode, which is of course protected with the root password.
Locking Down the System
Once the system was up and running the configuration files and scripts were packaged using autoconf and automake. This allowed a Debian package to be created relatively easily that installs the scripts in the correct place. I have called the package booth. The package currently does only minimal configuration, which means the user is still required to place the modified inittab file in /etc. I attempted to use the bootcd software package but ran into problems that I was unable to resolve. Instead I've remastered Knoppix to create a custom livecd that boots directly into kiosk mode.
- 03 June 2005