Closed Bug 1184418 Opened 9 years ago Closed 9 years ago

[emulator-l][external/qemu] build standalone emulator host binary and integrate it into full system build

Categories

(Firefox OS Graveyard :: Emulator, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(feature-b2g:2.5+)

RESOLVED FIXED
FxOS-S4 (07Aug)
feature-b2g 2.5+

People

(Reporter: edgar, Assigned: edgar)

References

Details

Attachments

(4 files, 3 obsolete files)

+++ This bug was initially created as a clone of Bug #1181481 +++

external/qemu provides a way to build standalone emulator host binary [1]. Use this way to build host binary [2] can fix bug #1181481 and bug #1171774. However we have to figure out how to integrate the standalone build into full system build.

[1] See bug #1171774 comment #1 for the details.
[2] With studio-1.3-release branch, https://github.com/android/platform_external_qemu/tree/studio-1.3-release.
Thanks for your experimental patch, Samael.
See Also: → 1121378
Comment on attachment 8635151 [details] [review]
[platform_external_qemu:b2g-studio-1.3] PR #153, Integrate standalone emulator build into full system build

Hi Thomas, 

We found a way to integrate standalone emulator build into full system build. In short, we create a target calls `emulator-standalone` and add this target to full system build, then copy building results (the host binary and library) to the proper place in out folder.

B2g can boot up success on emulator-l with using this way to build emulator. Try result for your reference: https://treeherder.mozilla.org/#/jobs?repo=try&revision=683baa8b76b6. You can download the emulator package (emulator.tar.gz) from task-inspector, https://tools.taskcluster.net/task-inspector/#42ejT8hlQLu0lgrYnSKHVw/0

May I have your review for this? Thank you.

BTW, I am now working on merging our patches from b2g-kitkat to b2g-studio-1.3, will provide a separated pull request for that.
Attachment #8635151 - Flags: review?(tzimmermann)
Comment on attachment 8635152 [details] [review]
[platform_build:b2g-5.1.0_r1] PR#119, Build standalone emulator host binary

Please see comment #8.
Attachment #8635152 - Flags: review?(tzimmermann)
feature-b2g: --- → 2.5+
Comment on attachment 8635151 [details] [review]
[platform_external_qemu:b2g-studio-1.3] PR #153, Integrate standalone emulator build into full system build

Thanks! I just hope this isn't too hard to port to future releases.
Attachment #8635151 - Flags: review?(tzimmermann) → review+
Attachment #8635152 - Flags: review?(tzimmermann) → review+
Target Milestone: --- → FxOS-S4 (07Aug)
Status: NEW → ASSIGNED
Attachment #8634594 - Attachment is obsolete: true
Attachment #8634596 - Attachment is obsolete: true
(In reply to Edgar Chen [:edgar][:echen] from comment #8)
> BTW, I am now working on merging our patches from b2g-kitkat to
> b2g-studio-1.3, will provide a separated pull request for that.

The first round merge is done: https://github.com/EdgarChen/platform_external_qemu/commits/bug_1181481/porting. I will do some simple test and send a pull request then.
Attachment #8635858 - Attachment is obsolete: true
Comment on attachment 8636473 [details] [review]
[b2g-manifest:master] PR #361, Switch external/qemu to b2g-studio-1.3 branch

Switch external/qemu to b2g-studio-1.3 branch. Could you help to review this, Thomas? Thank you.
Attachment #8636473 - Flags: review?(tzimmermann)
(In reply to Thomas Zimmermann [:tzimmermann] [:tdz] from comment #11)
> Comment on attachment 8635151 [details] [review]
> [platform_external_qemu:b2g-studio-1.3] PR #153, Integrate standalone
> emulator build into full system build
> 
> Thanks! I just hope this isn't too hard to port to future releases.

Thank you, Thomas.
https://github.com/mozilla-b2g/platform_external_qemu/commit/85f91439c854061bda3c6228d98381ea8867170c
Comment on attachment 8637781 [details] [review]
[platform_external_qemu:b2g-studio-1.3] PR #154, Bring our changes from b2g-kitkat to b2g-studio-1.3

This pull request is to perform the first round merge to bring all our patches from b2g-kitkat to b2g-studio-1.3 [1]. I also provide some patches to adopt the upstream changes regarding to directory hierarchy and function names in our codes.

Basic function works good, e.g. system bootup, ftu, screen on, screen off, open settings ...,  but we still need to do more works to fully port RIL/Wifi/BT/NFC functions. The status will be tracking on following bugs,
- RIL: https://bugzilla.mozilla.org/show_bug.cgi?id=1134982
- WIFI: https://bugzilla.mozilla.org/show_bug.cgi?id=1179182
- BT: https://bugzilla.mozilla.org/show_bug.cgi?id=1182992
- NFC: https://bugzilla.mozilla.org/show_bug.cgi?id=1136190

Thank you.

[1] Try result for your reference: https://treeherder.mozilla.org/#/jobs?repo=try&revision=fdde17421e53.
Attachment #8637781 - Flags: review?(tzimmermann)
Attachment #8636473 - Flags: review?(tzimmermann) → review+
Comment on attachment 8637781 [details] [review]
[platform_external_qemu:b2g-studio-1.3] PR #154, Bring our changes from b2g-kitkat to b2g-studio-1.3

Hi Edgar,

Thanks! Just one question: can you rebase instead of merge our commits? There are 89 hits when searching for 'Merge' in the pull request's web page. Rebasing would remove the merge commits from the history.
Comment on attachment 8637781 [details] [review]
[platform_external_qemu:b2g-studio-1.3] PR #154, Bring our changes from b2g-kitkat to b2g-studio-1.3

(In reply to Thomas Zimmermann [:tzimmermann] [:tdz] from comment #17)
> Comment on attachment 8637781 [details] [review]
> [platform_external_qemu:b2g-studio-1.3] PR #154, Bring our changes from
> b2g-kitkat to b2g-studio-1.3
> 
> Hi Edgar,
> 
> Thanks! Just one question: can you rebase instead of merge our commits?
> There are 89 hits when searching for 'Merge' in the pull request's web page.
> Rebasing would remove the merge commits from the history.

Sure, I will try to use rebase, cancel review first. Thank you.
Attachment #8637781 - Flags: review?(tzimmermann)
Comment on attachment 8635152 [details] [review]
[platform_build:b2g-5.1.0_r1] PR#119, Build standalone emulator host binary

https://github.com/mozilla-b2g/platform_build/commit/07c383a786f188904311a37f6062c2cb84c9b61d
Comment on attachment 8636473 [details] [review]
[b2g-manifest:master] PR #361, Switch external/qemu to b2g-studio-1.3 branch

https://github.com/mozilla-b2g/b2g-manifest/commit/c3dd018015b6efea983585a62d2b962a391a39e0
Comment on attachment 8637781 [details] [review]
[platform_external_qemu:b2g-studio-1.3] PR #154, Bring our changes from b2g-kitkat to b2g-studio-1.3

I have finished the rebase and updated the pull request. Could you take a look first? I didn't test it yet, but will do it soon and send review request then. Thank you.

Just for your reference in the case you are interested in the difference between merge and rebase.
- merge version: https://github.com/EdgarChen/platform_external_qemu/tree/bug_1181481/porting_merge
- rebase version: https://github.com/EdgarChen/platform_external_qemu/tree/bug_1181481/porting_rebase
Attachment #8637781 - Flags: feedback?(tzimmermann)
Comment on attachment 8637781 [details] [review]
[platform_external_qemu:b2g-studio-1.3] PR #154, Bring our changes from b2g-kitkat to b2g-studio-1.3

Looks good. Thanks a lot!
Attachment #8637781 - Flags: feedback?(tzimmermann) → feedback+
Comment on attachment 8637781 [details] [review]
[platform_external_qemu:b2g-studio-1.3] PR #154, Bring our changes from b2g-kitkat to b2g-studio-1.3

Basic function works good, e.g. b2g boot up, ftu, screen on/off, open settings.
Try result for your reference: https://treeherder.mozilla.org/#/jobs?repo=try&revision=01572b9fd4b8.
Attachment #8637781 - Flags: review?(tzimmermann)
Attachment #8637781 - Flags: review?(tzimmermann) → review+
(In reply to Edgar Chen [:edgar][:echen] from comment #19)
> Comment on attachment 8635152 [details] [review]
> [platform_build:b2g-5.1.0_r1] PR#119, Build standalone emulator host binary
> 
> https://github.com/mozilla-b2g/platform_build/commit/
> 07c383a786f188904311a37f6062c2cb84c9b61d

This broke b2g37. Assuming that the work in this bug is intended for master only at this point, I've gone ahead and pinned the v2.2 branch to the last good platform_build rev prior to this (rev 61e82f99bb8bc78d52b5717e9a2481ec7267fa33). If/when we find ourselves wanting to do more L-based work on v2.2, we'll need to revert this and fix the bustage.

v2.2: https://github.com/mozilla-b2g/b2g-manifest/commit/c4f99578a02051391a421c0e22996873a7601056
Blocks: 1188714
(In reply to Ryan VanderMeulen [:RyanVM UTC-4] from comment #27)
> (In reply to Edgar Chen [:edgar][:echen] from comment #19)
> > Comment on attachment 8635152 [details] [review]
> > [platform_build:b2g-5.1.0_r1] PR#119, Build standalone emulator host binary
> > 
> > https://github.com/mozilla-b2g/platform_build/commit/
> > 07c383a786f188904311a37f6062c2cb84c9b61d
> 
> This broke b2g37. Assuming that the work in this bug is intended for master
> only at this point, I've gone ahead and pinned the v2.2 branch to the last

Exactly, this bug is intended for the master only at this point.

> good platform_build rev prior to this (rev
> 61e82f99bb8bc78d52b5717e9a2481ec7267fa33). If/when we find ourselves wanting
> to do more L-based work on v2.2, we'll need to revert this and fix the
> bustage.

I didn't aware this change will affect v2.2. Thanks for fixing the bustage, Ryan.
Filed bug 1188714 for l-base work on v2.2 if needed.

> 
> v2.2:
> https://github.com/mozilla-b2g/b2g-manifest/commit/
> c4f99578a02051391a421c0e22996873a7601056
feature-b2g: --- → 2.5+
Comment on attachment 8637781 [details] [review]
[platform_external_qemu:b2g-studio-1.3] PR #154, Bring our changes from b2g-kitkat to b2g-studio-1.3

Thank you, Thomas.

https://github.com/mozilla-b2g/platform_external_qemu/commit/59e434cbecc02653f44cedeb2ef5cc88dc8bb61b
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Depends on: 1190732
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: