Achuith Bhandarkar
2018-11-09 01:25:17 UTC
tl;dr: Use cros_vm
<https://chromium.googlesource.com/chromiumos/docs/+/master/cros_vm.md> for
developing with a Chrome OS VM on your workstation
If your chromium change breaks Chrome OS, this may manifest as a failure in
a few different ways:
1.
In the chromeos-amd64-generic-rel
<https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/chromeos-amd64-generic-rel?limit=200>
CQ trybot in the chromium waterfall, which tests Chrome in a Chrome OS VM.
2.
In Chrome OS integration tests which verify Chrome in the Chrome OS PFQ,
a waterfall which rolls the latest Chrome into Chrome OS once a day.
3.
In manual tests as a part of release verification by the Chrome OS test
team.
4.
In user-reported failures on canary/dev/beta channels.
You may also find yourself modifying chromeos-specific code as a part of
your change, and you may want to proactively verify with a quick manual
sanity test to ensure you havenât broken anything.
You can use the instructions in cros_vm.md
<https://chromium.googlesource.com/chromiumos/docs/+/master/cros_vm.md>
(internal: go/cros-vm). You can download a recent Chrome OS VM image, a
QEMU binary to run the VM, and an SDK that lets you cross-compile chrome
for the VM, and deploy it to the VM.
You should be able to do all of this in a few minutes. The commands should
look like:
1. Download the SDK and VM, and enter the SDK shell:
(shell) .../chrome/src $ cros chrome-sdk --board=amd64-generic --download-vm
--clear-sdk-cache --log-level=info
2. Build chrome:
(sdk) .../chrome/src $ autoninja -C out_$SDK_BOARD/Release/
chromiumos_preflight
3. Launch the VM:
(sdk) .../chrome/src $ cros_vm --start
4. Deploy your locally built chrome:
(sdk) .../chrome/src $ deploy_chrome --build-dir=out_$SDK_BOARD/Release/ --
to=localhost --port=9222
The doc has more details, and if something is not clear, or doesnât work,
or if you have suggestions for improvements, email me: ***@chromium.org.
Weâre working on removing as many barriers to development on Chrome OS as
possible.
Issues involving hardware (gfx, bluetooth, TPM, etc) will probably require
setting up a physical test device
<https://chromium.googlesource.com/chromiumos/docs/+/master/simple_chrome_workflow.md#Set-up-the-Chrome-OS-device>,
which is considerably more onerous (requisition a device, put it in dev
mode, flash it with a test image with a USB stick, find a network port on
the test VLAN, etc).
<https://chromium.googlesource.com/chromiumos/docs/+/master/cros_vm.md> for
developing with a Chrome OS VM on your workstation
If your chromium change breaks Chrome OS, this may manifest as a failure in
a few different ways:
1.
In the chromeos-amd64-generic-rel
<https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/chromeos-amd64-generic-rel?limit=200>
CQ trybot in the chromium waterfall, which tests Chrome in a Chrome OS VM.
2.
In Chrome OS integration tests which verify Chrome in the Chrome OS PFQ,
a waterfall which rolls the latest Chrome into Chrome OS once a day.
3.
In manual tests as a part of release verification by the Chrome OS test
team.
4.
In user-reported failures on canary/dev/beta channels.
You may also find yourself modifying chromeos-specific code as a part of
your change, and you may want to proactively verify with a quick manual
sanity test to ensure you havenât broken anything.
You can use the instructions in cros_vm.md
<https://chromium.googlesource.com/chromiumos/docs/+/master/cros_vm.md>
(internal: go/cros-vm). You can download a recent Chrome OS VM image, a
QEMU binary to run the VM, and an SDK that lets you cross-compile chrome
for the VM, and deploy it to the VM.
You should be able to do all of this in a few minutes. The commands should
look like:
1. Download the SDK and VM, and enter the SDK shell:
(shell) .../chrome/src $ cros chrome-sdk --board=amd64-generic --download-vm
--clear-sdk-cache --log-level=info
2. Build chrome:
(sdk) .../chrome/src $ autoninja -C out_$SDK_BOARD/Release/
chromiumos_preflight
3. Launch the VM:
(sdk) .../chrome/src $ cros_vm --start
4. Deploy your locally built chrome:
(sdk) .../chrome/src $ deploy_chrome --build-dir=out_$SDK_BOARD/Release/ --
to=localhost --port=9222
The doc has more details, and if something is not clear, or doesnât work,
or if you have suggestions for improvements, email me: ***@chromium.org.
Weâre working on removing as many barriers to development on Chrome OS as
possible.
Issues involving hardware (gfx, bluetooth, TPM, etc) will probably require
setting up a physical test device
<https://chromium.googlesource.com/chromiumos/docs/+/master/simple_chrome_workflow.md#Set-up-the-Chrome-OS-device>,
which is considerably more onerous (requisition a device, put it in dev
mode, flash it with a test image with a USB stick, find a network port on
the test VLAN, etc).
--
--
Chromium Developers mailing list: chromium-***@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev+***@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAGePJtMt%2BfQhPfyfyR29L%2BvAthMf7Yb7fTd3PGQbNYHNodO7dQ%40mail.gmail.com.
--
Chromium Developers mailing list: chromium-***@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev+***@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAGePJtMt%2BfQhPfyfyR29L%2BvAthMf7Yb7fTd3PGQbNYHNodO7dQ%40mail.gmail.com.