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:
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.
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.
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.
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 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":
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".
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.
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:
ping google.com
and verify you get a response. If not, type ip addr
and see if you have
an IP address assigned. If not, try typing sudo dhclient
to obtain an IP
address from your network's DHCP server.) Your machine must have a network connection
to the Internet in order for the following commands to succeed.
- sudo apt update
- sudo apt upgrade
Next, edit the file /etc/default/grub
. You can do this using the nano
editor by typing the following command:
sudo nano /etc/default/grubUsing 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 nowand make copies (clones) of the target chip (see Additional Information for Contest Administrators for further information on cloning chips).
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:
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
    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.