Caution: This version of this document is no longer maintained. For the latest documentation, see


Terminal initialization


tinit [-p] [env_var=value...]

Runs on:



Start Photon.
Set the environment variable env_var to value and add it to the environment.


The tinit utility lets you bring up login (or other programs) on devices. You normally use tinit to invoke login on the console(s) and serial terminals. It runs as a background process, and is nearly always started in the sysinit file.

After creating the specified commands as its children, tinit waits for any of them to terminate. When one of these commands terminates, tinit re-invokes the command on that device.

For example, let's assume that tinit started a login on /dev/con1. After logging in, the user is presented with a shell. Then, after executing any number of commands, the user decides to terminate the shell. At this point, tinit detects the termination and starts a new login on /dev/con1.

The tinit utility refers to a configuration file (/etc/config/ttys) to obtain information about your terminal devices and the commands you want to start on them. This file contains lines of text, each line containing four fields that give the configuration information for one device, like this:

con1 "/bin/login" qansi-m on

Here's what the fields in this example define:

The first field is the device name. Unless you define a complete pathname, starting with / (slash), tinit adds the prefix /dev/ to the name. This example defines the device name as /dev/con1. If you wanted to specify a terminal connected to a serial port, this field might read ser1.
The second field contains a string that specifies the pathname of the command to be started on the device. This command can be anything you like; most often it will be either login, as in this default example, or photon.
The third field describes the terminal type. You can find a list of the terminal types you can specify in /usr/lib/terminfo.
The fourth and last field is currently ignored by tinit. It is there for possible future expansion.

Note: The tinit utility is the root of all logins, so any environment variables it sets will be inherited; this makes the tinit command line a convenient place for you to set the environment variables you need, using the env_var options.


The terminal configuration file used by tinit.

See also:

diskboot, login, phlogin

Controlling How Neutrino Starts in the Neutrino User's Guide