Closed
Bug 1121378
Opened 10 years ago
Closed 7 years ago
Use single QEmu branch for all platforms
Categories
(Firefox OS Graveyard :: Emulator, defect)
Firefox OS Graveyard
Emulator
Tracking
(Not tracked)
RESOLVED
WONTFIX
People
(Reporter: tzimmermann, Unassigned)
References
Details
Attachments
(3 files)
We currently only support ICS emulation. Once we get KK or others working, we'll have multiple QEmu branches with diverging feature sets.
The guest system does not depend on the version of the QEmu emulator, so ideally we'd run all platforms on the same QEmu source code. That will allow us to focus emulator maintenance on a single branch.
Reporter | ||
Updated•10 years ago
|
OS: Linux → All
Hardware: x86_64 → All
Reporter | ||
Updated•10 years ago
|
Blocks: b2g-emulator
Reporter | ||
Comment 1•10 years ago
|
||
Hi Jonathan,
I hope you're the right person to ask about automated-tests infrastructure.
We'd like to get emulator-kk working at some point and we're looking for ways to reduce our maintenance overhead of the different emulators. Currently we have one emulator branch per platform (ICS, JB, KK). So one idea is to use a single branch for all emulators.
But just switching branches will probably break automates tests completely. Is there a playground for testing infrastructure changes without interfering with automated tests?
Flags: needinfo?(jgriffin)
Reporter | ||
Comment 2•10 years ago
|
||
FYI: I was able to build and run the ICS emulator on top of qemu's b2g-kitkat branch. It seemed to work as for the regular branch. I did not run any tests, though.
Reporter | ||
Comment 3•10 years ago
|
||
> We'd like to get emulator-kk working at some point and we're looking for
> ways to reduce our maintenance overhead of the different emulators.
> Currently we have one emulator branch per platform (ICS, JB, KK). So one
> idea is to use a single branch for all emulators.
To be more specific: I'd like to switch the branch in external/qemu and push the change into automated tests to test against all current tests.
Comment 4•10 years ago
|
||
I think you may be able to get what you need in a try push.
You can probably modify the files in this directory, and then push it to try, to see what effect it has on emulator tests:
http://hg.mozilla.org/mozilla-central/file/5438e3f74848/b2g/config/emulator
The try syntax you'd want is: -b o -p emulator -u all -t none
Flags: needinfo?(jgriffin)
Reporter | ||
Comment 5•10 years ago
|
||
Thank you so much! I didn't know this is possible. Try run is at
https://treeherder.mozilla.org/#/jobs?repo=try&revision=2ded314e2a54
Reporter | ||
Comment 6•10 years ago
|
||
Jonathan,
Sorry for bothering you again. I changed the revision in sources.xml, but it seems as if the emulator was not even build at all. At least the log at [1] does not contain any signs of its build process.
Is there a flag for cleaning up temporary data, or something similar?
[1] https://treeherder.mozilla.org/logviewer.html#?job_id=4325750&repo=try
Flags: needinfo?(jgriffin)
Comment 7•10 years ago
|
||
I agree, it seems to be missing. I don't know why. All try jobs get clobbered by default, so this shouldn't be a case of some crud left over from a previous job. Does that qemu commit build for you locally?
Flags: needinfo?(jgriffin)
Comment 8•10 years ago
|
||
AOSP no longer compiles emulator host binaries along with the rest of the system since lollipop. Instead, a new repository, prebuilts/android-emulator, was setup to contain them because compiling emulator host binaries relates to so many other repositories that it can be impossible to compile new version along with out-dated tree or to compile old version on newer systems. Maybe you'll feel like to adopt this method, so all Firefox OS emulator variants share the same host binary set, and only those who are going to patch emulator need to compile qemu manually.
https://android.googlesource.com/platform/prebuilts/android-emulator/
Reporter | ||
Comment 9•10 years ago
|
||
Thanks for this information, Vicamo.
It seems to me that the host binaries are also host-dependent. I guess the best long-term approach is to automatically rebuild the pre-builts when the source repository changes. There's already QEMU and the Linux kernel, who knows what comes next.
Reporter | ||
Comment 10•10 years ago
|
||
(In reply to Jonathan Griffin (:jgriffin) from comment #7)
> I agree, it seems to be missing. I don't know why. All try jobs get
> clobbered by default, so this shouldn't be a case of some crud left over
> from a previous job. Does that qemu commit build for you locally?
I figured out that ICS needs a small change to build KK's QEMU. I pushed a new try
https://treeherder.mozilla.org/#/jobs?repo=try&revision=8ba49f5224ff
Reporter | ||
Comment 11•10 years ago
|
||
Trying again
- Set 'optional' tag for all QEMU modules
https://treeherder.mozilla.org/#/jobs?repo=try&revision=53c5fc7a2244
Reporter | ||
Comment 12•10 years ago
|
||
I would have liked to work on this, but Mercurial broke my checkout of try and cloning takes forever. :( I'll try again tomorrow.
Comment 13•10 years ago
|
||
You don't need to clone try. You can push to it from m-c or inbound or whatever. See https://wiki.mozilla.org/ReleaseEngineering/TryServer#Pushing_to_try
Reporter | ||
Comment 14•10 years ago
|
||
(In reply to Jonathan Griffin (:jgriffin) from comment #13)
> You don't need to clone try. You can push to it from m-c or inbound or
> whatever. See
> https://wiki.mozilla.org/ReleaseEngineering/TryServer#Pushing_to_try
Thank you for your reply. When I read this page, I always thought that I have to clone try first.
It's still too late today. :)
Reporter | ||
Comment 15•10 years ago
|
||
Trying again
- updated sdk/ to KK version to use correct GL libs
https://treeherder.mozilla.org/#/jobs?repo=try&revision=778ad63902ff
Reporter | ||
Comment 16•10 years ago
|
||
Trying again
- set LOCAL_MODULE_TAGS for emulator OpenGL modules
https://treeherder.mozilla.org/#/jobs?repo=try&revision=5d3dcad954a5
Reporter | ||
Comment 17•10 years ago
|
||
I think a hit a wall here. I'm able to build the ICS emulator with KK's qemu and sdk, and some fixes in build/. But building requires the host tool 'emugen' and I cannot figure out why it's not compiled by the build scripts.
Reporter | ||
Comment 18•10 years ago
|
||
FYI: This bug is completely experimental. *Nothing* should ever depend in it.
No longer blocks: 1116074
Reporter | ||
Comment 19•10 years ago
|
||
s/in/on
Reporter | ||
Comment 20•10 years ago
|
||
Reporter | ||
Comment 21•10 years ago
|
||
Reporter | ||
Comment 22•10 years ago
|
||
Comment 23•7 years ago
|
||
Firefox OS is not being worked on
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•