Clone this repo:
  1. fa026a4 Use sdk-integration which include vbmeta by Jiaming Li · 10 months ago main
  2. 4502982 Use unzipped fuchsia.esp.blk by Jiaming Li · 10 months ago
  3. bd8fc82 Add build_type to fuchsia_product_config by Jiaming Li · 10 months ago
  4. 4543b88 [assembly] Use new assembly rules by Jay Zhuang · 10 months ago
  5. 8a77b61 Add artifact_lock_updater to workstation by Jiaming Li · 10 months ago

Workstation.git

NOTE: This repo is not actively maintained. We are planning to resume this work in Q3 2022.

The workstation.git repository holds the source code for building the Workstation outside of fuchsia.git. For more information, see RFC-0095.

This repository is a work in progress and should be considered experimental- the official Workstation product is still in the main fuchsia.git repository.

Fetch submodules

This project uses git submodules. After checking out a branch run the git submodule command to update the dependencies.

git submodule update --init --recursive

Bootstrap

Bootstrap script in scripts/bootstrap.sh will fetch bazel.

The Workstation repository uses Bazel for its build system. To ensure that you are using the version of Bazel that was tested in CQ/CI we recommend using bazelisk. You can either add bazelisk to your path or invoke it directly.

# Assumes that WORKSTATION_REPO is set to your checkout directory
export PATH="${WORKSTATION_REPO}/tools:$PATH"

Build instructions

Pave using

bazel run //src/product:workstation_x64_paver

Additional arguments may be supplied following a -- token, matching the arguments given to the bootserver tool.

Other targets can be found at src/build/BUILD.bazel

Generated files

artifact_spec.json is generated by

bazel run //tools/build_generator

See tools/build_generator/build_generator.go for more information. Eventually, this file will be maintained by hand.

artifact_lock.json is generated by the command:

bazel run artifact_lock_updater

This is an input to the fuchsia_product_repository WORKSPACE target.

checksum.json is generated by the command

bazel run @workstation_external_packages//:workspace_checksum_updater

and is also an input to the fuchsia_product_repository WORKSPACE target.

There are more generated files in src/product. See src/product/README.md for information.