PacNW Regional Contest Banner

Regional Contest OS Image Installation Instructions

1. Overview

This page describes how to set up a machine to run the current PacNW Regional Contest OS image (the "Contest OS"). The contest image consists of the Ubuntu Linux operating system and its tools and utilities, together with contest-specific software such as various IDEs and language compilers to be used for the Regional Contest. The Contest OS image is based on, and directly derived from, the ICPC World Finals OS image.

The result of following the instructions on this page will be to install the Contest OS on what is referred to as a "target drive". The "target drive" can be either an internal drive on a machine [1], or an external USB chip (which is then referred to as the "target chip"). Once the Contest OS is installed on a target drive, booting a machine from the target drive will cause the machine to start running the Contest OS.

Installing the contest image on a target drive involves the following basic steps:

  1. Creating a "bootable installer chip" by burning the Contest image ISO onto a USB chip;
  2. Booting a machine from the bootable installer chip;
  3. Selecting the desired "target drive" onto which the installer should install the Contest OS (this could be an internal drive on the machine, or it could be a second USB chip);
  4. Following the instructions provided by the installer to install the complete Contest OS image onto the target drive; and
  5. Booting a machine from the target drive and executing certain necessary and certain optional post-install commands.
The option to run the Contest OS "live" from the bootable installer chip for testing purposes (instead of actually installing the OS onto a target drive) is also available -- although doing so will NOT actually install the Contest OS on the computer.

Note: if you are a contest administrator or staff member involved in managing multiple Contest OS machines (for example, setting up a laboratory to host multiple teams, or managing and updating the Contest OS configuration), you may be interested in additional information provided at Additional Information for Contest Administrators. Also, if you have trouble with the following instructions you may find the information on this Troubleshooting page to be helpful.

2. Creating a Bootable Installer Chip

  1. Download ubuntu-22.04.1-icpc.pacnw2023-20240118-amd64.iso . This is the boot image ISO file (6.1 GBytes).

  2. Burn a bootable image onto a USB chip using that ISO file [2]. The USB chip onto which you burn the ISO file is referred to as the "bootable installer chip".

    There are many tools which can be used to create a bootable installer chip from the downloaded ISO file. One such tool which we have used successfully many times is Etcher, which we have tested under both MS Windows and MacOS. However, you can use any tool you like as long as it can create an EFI bootable image from the ISO file.

3. Pre-Installation Setup

In order to install the Contest OS, you must use some computer as an "installation machine". There are two separate approaches, depending on whether you want to install the Contest OS onto an internal drive in the installation machine or you want to install the Contest OS onto an external USB target chip plugged into the installation machine.

Installing to an internal drive

If you want to install the Contest OS onto an internal drive on the installation machine, proceed to the next section, "Starting the Installation".

Installing to an external USB chip

Installing the Contest OS onto an external target chip is complicated by the fact that the Ubuntu installer does not provide a straightforward mechanism for selecting the intended installation drive. Rather, the installer looks for the first drive it can find, and uses that as the "default" installation drive. As a result, the installer is (by default) going to want to install to an internal drive on the installation machine (assuming such a drive exists and is accessbile). There are several available workarounds to this problem.

We recommend one of the first two options (either disconnecting the internal drives or disabling the internal drive controllers). However, if you are comfortable with partition editing and Linux disk configuration details, the third option will also work.

In any case, in order to install the Contest OS on an external target chip the installation machine must have at least one additional available USB port into which you can plug the target chip (note that the "target chip" is a separate device from the "bootable installer chip", which must also be plugged into a USB port on the installation machine).

Finally, take note of the following regarding "target chips":

4. Starting the Installation

Installing the Contest OS starts with booting the installation machine from the bootable installer chip, using whatever boot sequence is appropriate for that machine (for example, power the machine on and interrupt the automatic bootup sequence using F10, F12, ESC, RETURN, or another key as appropriate, and then select the bootable installer chip as the boot device).

When the installation machine is booted from the bootable installer chip, multiple options are displayed by the "GRUB Boot Loader". Among these options are:

Normally you should choose "Ubuntu" and perform an interactive installation (since the default values configured by the other options may not reflect your desired configuration).

Selecting the "Ubuntu" option then displays a screen asking you to select either "Try Ubuntu" or "Install Ubuntu".

5. Configuring the Installation

Once the installation process has been started and the "Install Ubuntu" option has been selected as described above, the installer will present multiple configuration option screens.

Note: because hardware configurations vary widely, you may encounter differences or difficulties with various configuration options. In that event, you may have to do some troubleshooting; see below.

Configuration option screens include:

  Keyboard Layout
  Updates and other software
  Installation Type

  Where are you? 
  Who are You? 

Ubuntu works by creating a privileged user account intended to be used to manage the system (as opposed to other Unix-like systems which use the root account directly for this purpose). This screen allows you to configure the parameters for this privileged account. Subquently, administrative operations on the machine would typically be done by logging in to this account and then using "sudo" to perform root operations. [3]

NOTE: the account created during the installation process is "privileged", in that it has permission to execute the sudo command to perform super-user ("root") operations. However, teams will NOT have permission to use the sudo command or the root account/password during the contest; unless you are a Contest Administrator configuring the Contest OS for installation on multiple team machines we do not recommend using root privileges to change anything in your machine configuration, as this will cause it to be different from what will be available at the Regional Contest.

Once you have completed the above steps the installation will proceed. Installation can take from a few minutes to well over an hour, depending on the speed of your machine and the USB chips you are using; a progress bar displays the status.

When the installation is complete it will ask you to restart the machine. Pressing "Restart Now" will prompt you to remove the installation media (the bootable installer chip) and press ENTER to restart.

Restarting the machine (booting it from the installed target drive) will take you to a screen which prompts for a login and then a password. Enter the account login id and password that you created during the installation steps above.

If you are a contestant who is creating a contest machine for your own use, logging in will will put you at the Linux desktop configured as it will be for team machines at the Regional Contest, and no further steps are necessary. Note however that the login account you have used is "privileged" (has "sudo" access); you will NOT have an account with privileged access during the Regional Contest).

If you are a Contest Adminisrator who is configuring machines for use by teams, continue with the following post-installation steps.

6. Post-Installation Updates

If you are a team member who is installing the Contest OS on your own machine to practice with it, You do not need to do anything else; simply boot your machine into the Contest OS from your target drive and login using the account/password you created during the above steps.

If you are a Contest Administrator configuring multiple team machines, it is necessary to perform certain additional operations, as follows:

This set of commands pulls in any necessary updates to the machine configuration, along with creating a single account named "team" with password "contest" (see below regarding alternatives to this account).

Next, edit the file /etc/default/grub. You can do this using the nano editor by typing the following command:

	sudo nano /etc/default/grub
Using the nano editor (or any other editor you like), modify the line:
	GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
to say:
	GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ipv6.disable=1"
Save the file and exit the editor, by typing CTRL-X, then Y, then ENTER.

Finally, execute the command

	sudo update-grub

At this point you have the option to make any additional adjustments needed for team machines at your site. For example, you may want to provide further updates to iptables to enable network printing (see Printer Setup for further information on enabling network printing).

A final note for Contest Administrators: as noted above, the default arrangement created by these installation instructions is that every team will use the same "account" (login "team", password "contest"). If you wish to create a more secure environment where every team machine in your contest has a distinct login/password, or if you wish to apply additional configuration (such as special firewall rules), see the additional information provided at Additional Information for Contest Administrators.

Once interactive configuration and installation are completed as described above, you will have a completely installed Contest OS on the "target drive" which was selected during configuration. To create multiple USB chips, execute the command

	sudo shutdown -h now
and make copies (clones) of the target chip (see Additional Information for Contest Administrators for further information on cloning chips).

7. TroubleShooting the Installation and Configuration Process

We've tried to make installing the Contest OS image as easy and as universally-compatible as possible. However, creating a single installation which can be easily installed on the literally thousands of machine hardware configurations which exist is a nearly impossible task; it's understandable that it might not go perfectly for you. If you are having problems with installing the WF OS, this page contains a few notes which may be helpful.


[1] The use of the term "internal drive" on this page refers to an internally-installed storage device; it could be a rotating hard disk or it could be a Solid-State Drive (SSD). The instructions are the same in either case.

[2] It's possible to burn the ISO onto a DVD (instead of a USB Chip) and use the DVD as the "bootable installer" device. However, since USB chips are far more common these days, the instructions on this page refer to the "bootable installer" device as the "bootable installer chip". (Note: the install image will not fit on a CD-ROM.)

[3] This is a common source of confusion for people new to Ubuntu. There is no default password on the root account, and there is no point during the Ubuntu installation where you are asked to provide one (as is typical on other Linux installations, e.g. Fedora and CentOS). [Actually, saying "there is no password" is a bit misleading, as it implies you can login without providing a password - which would be a major security hole. Technically, the root account by default exists but is "locked out" -- that is, there is NO password which will be accepted to allow a login to that account.]

The way Ubuntu provides root access is as follows. When you install Ubuntu, the installation procedure asks (during the "Who Are You?" step) for a user account name and password. It automatically creates and installs that account in a group which has root access - meaning the account is allowed to execute the "sudo" command. When you login using this account, you can execute commands which require root privilege simply by preceding the command with "sudo". For example, to create a new account named "team999" which is in group 3000 you would type the following:

    sudo adduser --gid 3000 team999
This will prompt for the current account password (NOT the root password), and then execute the command as root. If you have a bunch of root-level operations to do and get tired of typing "sudo" in front of every command, you can instead type sudo bash. This will start a (bash) shell (after first prompting for the account password); that shell will display the standard "root prompt" (#) and will execute every command typed as root. (The command sudo -i is similar but has the effect that the default shell is used and the shell reads the standard initialization files, such as .profile and .login). If you really want to change the root password you can do it with sudo passwd. See this page for further details.

Note that, as stated above, team accounts will not have root access or sudo capability during the actual contest.


Revised: Thu Jan 18 16:43:56 UTC 2024