Next Previous Contents

## 4. Initializing the Kiosk

Under normal (i.e. kiosk) conditions, Linux should boot straight into Kiosk mode. In the event of a power failure, accidental reboot, or scheduled reboot, you need to configure the system to do this.

For our kiosk we elected to use init level 4, which is normally unused, for kiosk mode. We made the following adjustment to /etc/inittab:

## 4.1 /etc/inittab modifications

    # Default runlevel. The runlevels used by RHS are:
    #   0 - halt (Do NOT set initdefault to this)
    #   1 - Single user mode
    #   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
    #   3 - Full multiuser mode
    #   4 - Kiosk mode
    #   5 - X11
    #   6 - reboot (Do NOT set initdefault to this)
    #
    id:4:initdefault:

## 4.2 /etc/rc.d/rc.4/S99xkiosk runlevel script

To initialize the kiosk after everything else has been initialized, including, in our case, Apache and MySQL, create the file /etc/rc.d/rc.4/S99xkiosk:

    #!/bin/bash
    #
    # S99xkiosk   Initialization of kiosk for runlevel 4
    #
    # Author:           Gene Wilburn <genew@rom.on.ca>
    #

    # Display message on console
    echo "Starting up the X Window Kiosk ... "

    if [ -f /.netscape/lock] ; then
       rm /.netscape/lock
    fi

    # Logging of X activity
    echo %%%%%%%%%%%%%Reboot%%%%%%%%%% >> /var/log/xlog
    /root/xkiosk

    # This point should only be reached by pressing Ctrl-Backspace
    /sbin/shutdown -r now

    # All done.

Once this file has been created and inittab has been adjusted to boot into init level 4, Linux will boot directly into kiosk mode. On our kiosk we disable telnet and ftp and install ssh so we can maintain and administer the kiosk remotely across the network with ssh and scp.

## 4.3 Booting normally from the console

There are times, especially during testing, when you'd like to work from the console in a normal init level 3 mode. To do this, press Ctrl-Backspace to reboot the system. When LILO: appears type:

> `

>     LILO: linux init 3

> `

and log in as usual.

Next Previous Contents