Department of Computer Science and Technology

Introduction

This page concerns booting, shutdown and power saving of linux systems. It also covers how to turn off power saving if you wish your machine to remain up (eg for overnight experiments).

Booting

Most Linux machines use the GRUB boot loader to boot Linux. Some dual boot machines use the Windows NT boot loader to boot GRUB. GRUB will present a list of the available kernels labelled Linux n.n.nn and should default to loading the most recent kernel (with the label Linux.) Hit return to choose the default without waiting for the timeout.

Most recent machine can be woken up by sending it a "WoL" packet. This can normally only be done by a machine on the same VLAN, but a Lab web page allows this to be done from the internet. Some machines also have a BMC which allow more explicit control (such as powering on and off), which can be accessed using a web browser in the Lab. If you need such access, contact sys-admin.

Problems on Booting

If a machine has been shutdown 'uncleanly' then it may have a corrupt filesystem which requires operator intervention to correct. In this case the reboot stops with a prompt 'Enter root password for system maintenance:' If this happens send e-mail to [Javascript required] saying what the problem is and which machine it is (it helps if you also state the name and location of the machine.)

Shutting Down

Single-boot Linux machines should be turned off when not needed. As above, most can be rebooted remotely if needed, and the time sharing systems can be used for light use from outside.

If a machine appears unresponsive on the console it can often still be accessed from another machine over the network. In such cases the fault sometimes lies with user software (e.g. Firefox) and the offending process can be stopped using the kill(1) command.

In the event that a machine does require to be shut down for some reason, use one of the following methods:

shutdown -P now
The assigned user of a machine (anyone who can write to /etc/user-config/bundles) can shut the machine down using the command "cl-asuser shutdown -P now". Anyone with full sudo access can use "sudo shutdown -P now".
Control-Alt-Delete
Switch to a virtual console using <Alt>-<Control>-<F1> if in X-windows and press <Control>-<Alt>-<Delete>.
Alt-SysRq-S,U,B
This is for use in the event the machine is unresponsive to keyboard input and cannot be logged in to from the network. It uses the Linux kernel's Magic SysRq key. Whilst holding down <Alt> and <SysRq> press the keys S, U and B, one at a time.
Front panel reset and/or power switch
If none of the above work, it may be necessary to resort to pressing the reset button or even the power switch. This may well corrupt the filesystem (see Problems on Booting above) so it should only be used if all other methods have been tried and have failed.

On desktop machines the reset switch is normally a button near the on/off button at the front of the system unit. On laptops it is normally a recessed switch behind a very small hole, which needs a biro or some such to press it. Do not use a pencil as the 'lead' may break and is a conductor.

If even the reset button fails, then use the power switch. You may have to hold it for up to 20 seconds before it has any effect.

Power saving

To save power on Linux systems, shut them down when not in use. This is not a problem for machine management.

Most window managers have commands to suspend, hibernate or shutdown a machine, but you can also use shell commands such as "cl-asuser pm-suspend", "cl-asuser pm-hibernate" and "cl-asuser shutdown -h now". Get the machine to a "safe" state before trying a command, as it may fail to fully shut the machine down, or the machine may not fully resume, so it may be necessary to power cycle the machine.

While off, consider using the time sharing systems, or if the machine is needed, boot it via the web.

cl-isidle

The package cl-isidle is used to try to detect when a user has forgotten to shutdown a machine, and act as a backstop. It tries to detect an "idle" machine, typically when a number of sucessive polls find that the sum of the three load averages is below 0.6 and there is no logged in user, or no logged in users who have been idle for less than an hour. It can be tailored not to poll certain times of the day, such as "office hours". It will try to suspend, hibernate or shutdown the machine. It will try to improve the chances of keeping Kerberos tickets available by refreshing them before shutdown and after resumption (but if the tickets are stored in /tmp on a distribution such as Ubuntu, they may be removed if it reboots rather than resumes).

See "cl-isidle -h" for more details. There are a number of ways to change the behaviour of a machine, so if you would like to please contact sys-admin.

If you wish to disable cl-isidle so that you can run experiments overnight while not logged in, for example, then you can temporarily disable the system, run "cl-asuser cl-isidle --SIGSTOP". To re-enable it, run "cl-asuser cl-isidle --SIGCONT".