This document explains what is the Chrome OS Factory Server, how to install and how to use it.
The Chrome OS Factory Server is a collection of software components running on a server deployed in factory manufacturing line, as the single portal for DUTs (device under test) for accessing shop floor backends, storing logs, syncing system time, and many other “server” related services.
Currently the server is a Docker image containing following components:
And usually you will only need to access the server via browser using http://localhost:8000 (default port for Dome), which can configure all other components.
The factory server can run on any machines that can run Docker, but we'd recommend a dedicated host with large storage.
This is the recommendation for building high-end products like Pixelbook.
Docker currently supports Windows, Linux and MacOS, but the recommended setup is an x86-64 machine running Linux Server, which has best performance for production servers.
The deployment script
cros_docker.sh currently supports Linux and MacOS so you can use both systems for development or experiments. It is possible to run Factory Server on Windows, but you have to deploy manually and that is not officially supported.
Current recommendation is to use Ubuntu Linux 16.04.1 server (xenial).
During installation, please specify the system to be formatted by GPT instead of MBR to gain maximum disk space.
Docker saves everything in
/var/lib and the Chrome OS Factory Server saves its own data in
/cros_docker so you should make sure the partition is large enough for these two folders. A simple solution is to not creating any additional partitions (only have
/cros_docker, for example
If your server is running recommended Ubuntu, simply run following commands to install Docker:
sudo apt-get update && sudo apt-get install docker.io
Otherwise, read Docker docs to find the right instruction for your server.
docker version and make sure your Docker server is ready, and the version is newer than
The deployment of all Chrome OS Factory Server components are managed by a
cros_docker.sh script. To obtain that, you have three choices - just choose one of them:
Download latest version from web. Make sure you have
base64 then type following commands:
curl -L http://goo.gl/gKCyo1 | base64 --decode >cros_docker.sh sh ./cros_docker.sh update # Self-test and change file permission.
Or, check out from factory software repository:
git clone https://chromium.googlesource.com/chromiumos/platform/factory cd factory/setup
Now you have
Or, (only for Chrome OS partners) download the prepared factory bundle from CPFE, extract, then find the script in
Run following command to download the Docker image on a machine which has access to internet:
If your target server machine does not have public network, copy
cros_docker.sh and files listed on the screen to the target computer.
On the target server machine, run following command to load Docker images:
Run following command to start the front end Dome.
The version of server image is tracked inside deployment script
cros_docker.sh. To update deployment script and server images to latest version, do:
Then repeat the steps in previous section to update Docker images.