New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 733875 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug

Blocking:
issue 710629
issue 776987
issue 777905
issue 782190



Sign in to add a comment

chromeos standalone sdk toolchain should include qemu-system-x86_64

Project Member Reported by achuith@chromium.org, Jun 16 2017

Issue description

We should package qemu-system-x86_64 in the sdk's target toolchain.

This will allow us to avoid having to install qemu on chromium buildbots and use the system version.

I believe we have some fixes to qemu for the mouse cursor on cros VMs as well.
 
Or perhaps the sysroot is the right place
Cc: rcui@chromium.org

Comment 3 by vapier@chromium.org, Jun 16 2017

Cc: -davidjames@chromium.org -rcui@chromium.org
Summary: chromeos standalone sdk toolchain should include qemu-system-x86_64 (was: chromeos sdk toolchain should include qemu-system-x86_64)

Comment 4 by vapier@chromium.org, Jun 16 2017

i'm not quite following in what scenario you want this.  you want to use it for chromium.chromiumos simple chrome bots to run VM tests ?  or you want it on Chromium OS buildbots ?

for the latter, we already execute the qemu-system-xxx binaries out of the chroot because we built them statically.
The former.
The former scenario - chromium.chromiumos simple chrome bots.

Where are these statically built binaries?

Ideally we would download the qemu-system-xxx binaries when we enter the simple chrome environment, but I guess we could also figure out another way of installing them on the builders if this is problematic for some reason.

Dirk would like to avoid having to run apt-get install qemu-kvm on the builders.


Comment 7 by vapier@chromium.org, Jun 16 2017

bundling it with the standalone sdk toolchain makes the most sense then.  i worry about the size ... it adds about 150MiB unpacked :/.

the static qemu builds are part of the CrOS SDK, so if your target is simple chrome, it wouldn't help there.

looks like we'd want to update scripts/cros_setup_toolchains.py in some way to bundle extra packages in there.

Comment 8 by vapier@chromium.org, Jun 16 2017

Cc: llozano@chromium.org
I don't have a strong opinion about this. 
Some users of the standalone sdk don't care about this. So, one possibility would be to put it into a separate package (something like sdk-utils?)
Owner: achuith@chromium.org
Status: Assigned (was: Untriaged)
I'm leaning towards this as well - a separate download would be kinder to developers. Let me take a look.
i'm a little hesitant to fork things more when we don't have a tool/process for people to manage these things.  it's not a big deal with Simple Chrome since we control everything and thus it'd be transparent to users.

Comment 12 by rcui@chromium.org, Jun 21 2017

Cc: rcui@chromium.org
Blocking: 710629 782190
Cc: norvez@chromium.org gurcheta...@chromium.org ihf@chromium.org marc...@chromium.org
This has become more urgent with the deprecation of cirrus.
Blocking: 777905
BTW it's not just graphics. The qemu that you find outside of the chroot can't reliably connect to the network on boot (see https://bugs.chromium.org/p/chromium/issues/detail?id=748634 ).
Blocking: 776987
Project Member

Comment 17 by bugdroid1@chromium.org, Jan 18 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/fc75f69df7aba21947cde2f1cab0c77753715da9

commit fc75f69df7aba21947cde2f1cab0c77753715da9
Author: Achuith Bhandarkar <achuith@chromium.org>
Date: Thu Jan 18 22:44:46 2018

[cros_vm]: Download qemu binary from chromeos prebuilt.

1. Whenever we fetch the vm image, also fetch the qemu binary.

The location of the latest qemu binary, built by the SDK builder,
can be found at:
https://chromium.googlesource.com/chromiumos/overlays/board-overlays.git/+/master/overlay-amd64-host/prebuilt.conf

2. Improve the logic to locate a qemu binary:
* Use the downloaded binary in the cache of the chrome sdk shell.
* Use the binary in the chroot if we're in the cros source tree.
* Fallback to system qemu binary which probably won't pass the version
test.

3. We're using constants.SOURCE_ROOT in two places - to get us to the chroot
to find the qemu binary, and also to get to the build directory to find the
latest locally built VM image. This will not work if we're using chromite
from the chrome tree, eg, src/third_party/chromite/bin/cros_vm. So add
additional checks to protect against broken links.

BUG= chromium:733875 
TEST=cros_vm --start works in both chroot and chrome-sdk shell.

Change-Id: Idd544ba8eb40500e8504957532ca0fe7e6fd67ad
Reviewed-on: https://chromium-review.googlesource.com/860903
Commit-Ready: Achuith Bhandarkar <achuith@chromium.org>
Tested-by: Achuith Bhandarkar <achuith@chromium.org>
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>

[modify] https://crrev.com/fc75f69df7aba21947cde2f1cab0c77753715da9/cli/cros/cros_chrome_sdk.py
[modify] https://crrev.com/fc75f69df7aba21947cde2f1cab0c77753715da9/scripts/cros_vm.py

Project Member

Comment 18 by bugdroid1@chromium.org, Jan 25 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/docs/+/6de3bdb35b0cbdea07adf9e501d8d7a9546b3a41

commit 6de3bdb35b0cbdea07adf9e501d8d7a9546b3a41
Author: Achuith Bhandarkar <achuith@chromium.org>
Date: Thu Jan 25 10:43:20 2018

[cros_vm]: --qemu-path documentation not needed.

We now download a QEMU binary, so --qemu-path is not necessary.

BUG= chromium:733875 
TEST=None

Change-Id: I490d49aae1b8fbccb67c34c0a74f27f90ad47918
Reviewed-on: https://chromium-review.googlesource.com/879428
Commit-Ready: Achuith Bhandarkar <achuith@chromium.org>
Tested-by: Achuith Bhandarkar <achuith@chromium.org>
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>

[modify] https://crrev.com/6de3bdb35b0cbdea07adf9e501d8d7a9546b3a41/cros_vm.md

Status: Fixed (was: Assigned)

Sign in to add a comment