This page describes how to set up a machine to run the current ICPC World Finals Contest OS image (the "WF 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 contest.
The result of following the instructions on this page will be to install the WF 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 WF OS is installed on a target drive, booting a machine from the target drive will cause the machine to start running the ICPC World Finals 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 WF OS machines (for example, setting up a laboratory to host multiple teams, or managing and updating the WF 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 WF OS, you must use some computer as an "installation machine". There are two separate approaches, depending on whether you want to install the WF OS onto an internal drive in the installation machine or you want to install the WF OS onto an external USB target chip plugged into the installation machine.
If you want to install the WF OS onto an internal drive on the installation machine, proceed to the next section, "Starting the Installation".
Installing the WF 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 WF 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 WF 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 interactive configuration and installation are completed (see below), you will have a completely installed WF OS on the "target drive" which was selected during configuration. If the target drive was an internal drive on the installation computer, rebooting the computer from that drive will start the machine running the WF OS. If the target drive was an external USB chip, rebooting any computer from that chip will start that machine running the WF OS.
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 World Finals; 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 World Finals.
Once you have completed the above steps the installation will proceed. Installation takes a few minutes; 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 any installation media (e.g. the bootable installer chip) and press ENTER to restart. Restarting the machine (booting it from the installed drive) will allow you to log in using the account name and password created during the installation process; this will put you at the Linux desktop configured exactly as it will be for team machines at the ICPC World Finals.
We've tried to make installing the ICPC World Finals OS image ("WF OS") 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 team999This 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 World Finals.
Revised: Wed Feb 07 20:54:59 UTC 2024