tree: 8afb25d0c90208ae3a13b0bb703fb9efeb868b64 [path history] [tgz]
  1. .gitignore

Linux Guest

See src/virtualization/docs/ for more general information.

Updating Linux image

Repeat each of the following steps for ARCH=x64 and ARCH=arm64.

Run the script to build Linux:

$ ./src/virtualization/packages/linux_guest/ \
  -l /tmp/linux/source \
  -o prebuilt/virtualization/packages/linux_guest/images/${ARCH}/Image \
  -b machina-4.18 \

Note: -b specifies the branch of zircon_guest to use. You can modify this value if you need a different version or omit it to use a local version.

Build the sysroot:

$ ./src/virtualization/packages/linux_guest/ \
  -u \
  -o prebuilt/virtualization/packages/linux_guest/images/${ARCH}/disk.img \
  -d /tmp/toybox \
  -s /tmp/dash \

Build the tests image:

$ ./src/virtualization/packages/linux_guest/ \
  -u \
  -o prebuilt/virtualization/packages/linux_guest/images/${ARCH}/tests.img \
  -d /tmp/linux-tests \

Ensure that linux_guest is working correctly. Then upload the images to CIPD. There is a cipd binary at .jiri_root/bin/cipd which can be run via fx cipd, and cipd auth-login must be executed once before running the following commands.

Use the git revision hash from linux as the kernel_git_revision tag and from as the tests_git_revision tag.

$ fx cipd create \
  -in prebuilt/virtualization/packages/linux_guest/images/${ARCH} \
  -name fuchsia_internal/linux/linux_guest-<version>-${ARCH} \
  -install-mode copy \
  -tag "kernel_git_revision:<git revision>" \
  -tag "tests_git_revision:<git revision>"

Then update garnet/tools/cipd_internal.ensure to point to the new version using the instance ID of the package you created. You can find the instance ID with CIPD like so:

$ fx cipd describe \
  fuchsia_internal/linux/linux_guest-<version>-${ARCH} \
  -version "kernel_git_revision:<git revision>" \
  -version "tests_git_revision:<git revision>"

Updating the Linux kernel version

Create a branch within with naming scheme machina-X.XX where X.XX is the kernel version. Make sure to import all the machina defconfig files from the latest branch. Make sure linux_guest works correctly before updating the images as above. Please also update the instructions above, and in bin/guest/, to use the most recent branch.