Be sure you’ve removed any attached USB devices. After you’ve imaged a machine, the machine will boot into a configuration wizard. The majority of steps are self-explanatory, but "Step 1: Set Machine ID" and “Step 4: Create Machine Cert” require some extra clarification.
Set Machine ID
This step defines the machine ID for a system. This will be referenced by the VotingWorks application along with system logs. It is important the machine ID be unique for each system. For example, if you are configuring two VxScan systems, you could use SLI-SCAN-01 and SLI-SCAN-02.
When configuring a VxAdmin, you’ll be prompted to:
Enter a jurisdiction ({state-2-letter-abbreviation}.{county-or-town}, e.g. ms.warren or ca.los-angeles):
You can use “us.sli” as your jurisdiction.
For this step, please use the USB drive labeled VxCertifier.
When configuring any machine, you’ll be told to insert a USB, to which a certificate signing request will be written. After the certificate signing request is written, you’ll be prompted to:
Remove the USB, take it to VxCertifier, and bring it back to this machine when prompted. Press enter once you've re-inserted the USB.
Because you’ll be certifying your machine at your own facility as opposed to a VotingWorks facility, you won’t be able to take the USB to VxCertifier, our VotingWorks certification terminal. We’ll need to use a remote certification process instead.
You’ll need to remove the USB, find the “csr.pem” file inside the “certs/” directory on the USB, and share that file with VotingWorks. This file does not contain any private information so can be shared over the internet, e.g. via email. VotingWorks will prepare a certificate given this “csr.pem” file and send the certificate back to you, in the form of a “cert.pem” file. This file, too, does not contain any private information so can be shared over the internet. You’ll need to copy this “cert.pem” file back onto the USB that you started with, placing it in the same USB’s “certs/” directory. Re-inserting this USB into the machine and pressing enter should allow you to proceed successfully.
Once you have certified the machine, you will need to program a system administrator smartcard. You should remove any connected USB devices and connect the card reader provided by VotingWorks. (For Lenovo laptops, you can use the built-in card reader on the bottom left side of the machine.) Follow the prompt and be sure to record the PIN. After rebooting, you can log in with the smartcard and PIN.
As a final verification for this build, you should log in with the System Administrator smartcard and load an election definition.
After completing that, you should program an Election Manager smartcard: Programming Smart Cards
Once an image has been installed and configured, you can verify the hash against what was built and signed during the Trusted Build process. To perform this verification, you will need the vx-iso USB drive and the hash of the image.
First, be sure the system is powered off. The simplest way to do this if the machine is running is by pressing the power button.
Once the machine is powered off, insert the vx-iso USB drive.
Power the system back on and be ready to interrupt the boot process. On vxadmin and vxcentralscan laptops, this should be the F12 key. On vxscan, you will need to use the Del key.
For vxadmin and vxcentralscan, once you are in the Boot Menu, select the USB drive and press Enter.
For vxscan, once you are in the BIOS (you may need to enter the BIOS password), navigate to the Boot menu option, then select the USB drive to boot from.
After booting to the USB drive on any of the systems, you will be booted into a minimal menu. Using the arrow keys, navigate to the Verify Hash option and press Enter.
This will automatically calculate the hash of the installed image, and you can then compare it with the hash created during the Trusted Build process.
Once you have verified the hash, you can press Enter to reboot. Be sure to remove the vx-iso USB drive as well.
This section walks through all steps to install a trusted build image on a VotingWorks component using vx-iso through the following major steps:
Now that you have the vx-iso and vx-data USB drives ready, it’s time to write the image to hardware.
Insert both USB drives into the system. For VxScan, you'll need to use the USB hub provided by VotingWorks.
For VxScan only, attach the USB hub to the hardware device to be imaged.
Boot into the system BIOS. For VxAdmin and VxCentralScan, the F12 key will take you to the boot menu. For VxScan, the Del key will take you to the BIOS. After entering the BIOS password, navigate to the Boot menu.
In the appropriate menu, select to boot from USB, and choose the vx-iso USB drive (Samsung Flash Drive).
You will be rebooted into a minimal system with a menu of options. By default, it will initiate the process for writing an image after several seconds. You can stop this by simply pressing an up or down arrow key.
If you do interrupt the automatic menu selection, you will need to select “Write an image”
The image should be automatically detected. If not, you can select it from the menu of available images.
You will be asked to enter the final size of the image. Please enter the value provided by VotingWorks: 110 (do not include a specific unit such as GB)
A final confirmation prompt describing the image to copy and the disk to copy to will appear. If it is correct, answer “y” to continue.
A progress bar showing the status of the copy will be displayed. Once the copy completes, press Enter to reboot.
The system will reboot to the BIOS. Exit the BIOS. (This step will be removed in future builds.)
Once the system has rebooted, you will need to configure and certify it. To do that, please see: "Machine Configuration Wizard and VxCertifier."
To install a VotingWorks application on hardware, we have created a simple install tool: vx-iso.
There are two USB drives involved in the installation process:
Vx-iso - an Arch Linux iso installer program. This USB has been provided to you.
Vx-data - An empty USB drive to which you will copy a previously created VotingWorks application image. This USB is also provided.
To create a functional Vx-data USB drive, on the host build machine, you need to attach the USB you will be using. Be aware, any existing contents of the USB will be erased. You will also need to know the full path to the VotingWorks application image you want to install. Using the vxadmin image referenced in the Trusted Build process, the path to that image will be:
Once you know the full path to the image file, run the following steps as the previously created “vx” user:
You will be prompted to select the USB device by typing the device name, e.g. “sda". Once selected, the image will be automatically copied to the USB. It can safely be removed once the process completes. Proceed to "Installing a VotingWorks Image" instructions.