Bug 1166276 (b2g-addon)

[meta] Getting a B2G Installer Addon

RESOLVED WONTFIX

Status

defect
RESOLVED WONTFIX
4 years ago
2 years ago

People

(Reporter: gerard-majax, Assigned: gerard-majax)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [spark][systemsfe])

Attachments

(2 attachments)

Providing a Firefox Addon that will ease installing B2G on a fresh (supported by the build system) device. The goal is to have several pieces:
 - production of full system images with blobs removed
 - addon that gets blobs and rebuild ready to flash images
 - the same addon will perform the flashing itself

We will focus on Aries for now.
Assignee

Updated

4 years ago
Summary: B2G Installer Addon → [meta] B2G Installer Addon
Assignee

Updated

4 years ago
Alias: b2g-addon
Assignee

Updated

4 years ago
Depends on: 1166278
Assignee

Updated

4 years ago
Depends on: 1166279
Assignee

Updated

4 years ago
Summary: [meta] B2G Installer Addon → [meta] Getting a B2G Installer Addon
Assignee

Updated

4 years ago
Depends on: 1168562
Target Milestone: --- → 2.2 S14 (12june)
Assignee

Updated

4 years ago
Depends on: 1172912
Assignee

Updated

4 years ago
Depends on: 1174463
Depends on: 1177280
Depends on: 1175934
Depends on: 1179771
Assignee

Updated

4 years ago
Depends on: 1187873
Posted file Sliced Graphics.zip
Attaching sliced graphics. Spec to come shortly.
VSD spec for flashing tool
Assignee

Updated

4 years ago
Depends on: 1191316
Assignee

Updated

4 years ago
Depends on: 1191321
Assignee

Updated

4 years ago
Depends on: 1191728

Comment 3

4 years ago
Are there any plans for this on the Flame? It looks easier, faster and more inviting than flashing via the command line. It definitely lowers the barriers to enter the world of Firefox OS.

Does the addon run within the Firefox browser? Will initial steps like installing ADB and fastboot still need to be carried out? (https://developer.mozilla.org/en-US/Firefox_OS/Phone_guide/Flame/Initial_setup)
Assignee

Comment 4

4 years ago
(In reply to Nick from comment #3)
> Are there any plans for this on the Flame? It looks easier, faster and more
> inviting than flashing via the command line. It definitely lowers the
> barriers to enter the world of Firefox OS.

Flame is already suppported. See the blocking bug 1172912. I don't know the status of doing and distributing the blobfree builds on this device.

> 
> Does the addon run within the Firefox browser? Will initial steps like
> installing ADB and fastboot still need to be carried out?
> (https://developer.mozilla.org/en-US/Firefox_OS/Phone_guide/Flame/
> Initial_setup)

No. Those are bundled in ADB Helper.

Comment 5

4 years ago
OK. Thanks for the help, Alexandre!

Any chance it will be named Firefox OS Installer in future? It would make it easier to find/recognise.

I assume it's not currently publicly available as an addon for Firefox. Is there anywhere I can go to find out how to install/test it?
Component: General → B2gInstaller
Assignee

Comment 6

4 years ago
(In reply to Nick from comment #5)
> OK. Thanks for the help, Alexandre!
> 
> Any chance it will be named Firefox OS Installer in future? It would make it
> easier to find/recognise.

Well, I personnally don't have an opinion on this. Yet, « Firefox OS » is really the commercial name, so I think keeping B2G here makes sense.

> 
> I assume it's not currently publicly available as an addon for Firefox. Is
> there anywhere I can go to find out how to install/test it?

You already can, build it from source. But we know there are still some risky behavior so we want to debug them before making it too public. Because in case the addon fails you need to be well aware of how to fix it and it may be long even though not complex.
Assignee

Updated

4 years ago
Depends on: 1194863
Assignee

Updated

4 years ago
Depends on: 1195006
Assignee

Updated

4 years ago
Depends on: 1195089
Doing some initial testing: 
1) Just wondering, there's no check on the file in regards to seeing if it's the proper format is there?  The one that you can place in?  (ie if it's not a proper zip file) 
2) There's no checks or recovery from unplugging the device 
3) There's no battery level checks (to make sure you have enough charge before flashing)
Assignee

Updated

4 years ago
Depends on: 1189584
Assignee

Updated

4 years ago
Depends on: 1189583
Assignee

Updated

4 years ago
Depends on: 1200213
Assignee

Updated

4 years ago
Depends on: 1200827
Assignee

Updated

4 years ago
Depends on: 1195358
Assignee

Updated

4 years ago
Depends on: 1195650
Assignee

Updated

4 years ago
Depends on: 1203407
Assignee

Updated

4 years ago
Depends on: nexus-5l-builds
Assignee

Updated

4 years ago
Depends on: 1204482
Assignee

Updated

4 years ago
Blocks: 1206368
Assignee

Updated

4 years ago
Blocks: 1206379
Assignee

Updated

4 years ago
Depends on: 1206412
Assignee

Updated

4 years ago
No longer blocks: 1206368, 1206379
Depends on: 1206368, 1206379
Assignee

Updated

4 years ago
Depends on: 1206746
Assignee

Updated

4 years ago
Depends on: 1207568
Assignee

Updated

4 years ago
Depends on: 1208988
Assignee

Updated

4 years ago
Depends on: 1210817
Assignee

Updated

4 years ago
Depends on: 1211124
Assignee

Updated

4 years ago
Depends on: 1210824
Assignee

Updated

4 years ago
Depends on: 1214761
Assignee

Updated

4 years ago
Depends on: 1224160
Assignee

Updated

4 years ago
Depends on: 1224557

Comment 8

4 years ago
I have a Nexus-S on which I run a master build (from early 2015). For including the device to the list of supported devices for this addon, would it be sufficient to just flash back to original firmware, build the blob-free target and then flash it?

Also - where is the proper place where supported devices are documented? There is a small entry in the following wiki page:

https://developer.mozilla.org/en-US/Firefox_OS/Building

Maybe we could set up a separate Wiki page for that which provides further details about the support state? For instance, on many devices the blobs are updated when installing to a new stock firmware - especially when doing big jumps like from Android KK to Android LP. So I guess it should be pretty important to also mention which original (or even custom) firmware versions are supported (or at least have been tested) for this transition.
Comment hidden (obsolete)
Assignee

Comment 10

4 years ago
Oh no, I misread, you talked about Nexus S. Technically it should be easily doable to add support for blobfree for the Nexus S, but I am doubtful of the user value given it's an old device and it's still stuck on ICS. Also, we have no builds for Nexus S on TaskCluster and that is not going to happen. So the only solution will be to build and host yourself blobfree builds.

That is 100% doable and you just need:
 - add blobs definition as we have for nexus 4/nexus 5: https://github.com/mozilla-b2g/device-mako/blob/b2g-4.4.2_r1/full_mako.mk#L40 or https://github.com/mozilla-b2g/device-hammerhead/blob/b2g-5.1.0_r1/full_hammerhead.mk#L39
 - add devices.json to define compatibility: https://github.com/mozilla-b2g/device-mako/blob/b2g-4.4.2_r1/devices.json https://github.com/mozilla-b2g/device-hammerhead/blob/b2g-5.1.0_r1/devices.json
 - issue a blobfree build with: ./build.sh blobfree

Then you get a zip blobfree distribution that you can use in the addon and you can verify it works
Assignee

Comment 11

4 years ago
After that if you want you can host that zip file somewhere and add support for that with a PR against https://github.com/mozilla-b2g/b2g-installer-builds
Depends on: 1233002
Depends on: 1233012
Depends on: 1233017
Depends on: 1233019
Depends on: 1233029
Depends on: 1233035

Comment 12

4 years ago
I was just wondering since Mozilla doesn't want to continue distributing B2G phones - is this addon still relevant, meaning will B2G be further developed for smartphones?

Even if not, I think many other "Android-near" systems could profit from this feature.
(In reply to Daniel Kulesz from comment #12)
> I was just wondering since Mozilla doesn't want to continue distributing B2G
> phones - is this addon still relevant, meaning will B2G be further developed
> for smartphones?

FxOS/B2G is still very much in development for phones and this add-on is more relevant than ever since we want our users to be able to flash their phones easily rather than have to go through the cumbersome manual process.
Depends on: 1234213
Depends on: 1234216
Depends on: 1234217

Comment 14

4 years ago
(In reply to Gabriele Svelto [:gsvelto] from comment #13)
> FxOS/B2G is still very much in development for phones and this add-on is
> more relevant than ever since we want our users to be able to flash their
> phones easily rather than have to go through the cumbersome manual process.
Very cool, thank you!

One general aspect I was wondering in design of this installer. Is there a benefit by rebuilding the system image instead of generating an installable update.zip with the blobs to flash them on top of the system image (e.g. using recovery) during the first boot?

And another consideration (but maybe I didn't understand this correctly): Why don't you run everything (maybe except the flashing) on the target device itself instead of a computer connected to it? Imho, going through the process of a "regular" OTA update instead of external fastboot-flashing should be much more convinient for end-users.
Assignee

Updated

4 years ago
Depends on: 1235459
Assignee

Updated

4 years ago
No longer depends on: spark-device, aries-l
Assignee

Updated

4 years ago
Depends on: 1236587
Assignee

Comment 15

4 years ago
(In reply to Daniel Kulesz from comment #14)
> (In reply to Gabriele Svelto [:gsvelto] from comment #13)
> > FxOS/B2G is still very much in development for phones and this add-on is
> > more relevant than ever since we want our users to be able to flash their
> > phones easily rather than have to go through the cumbersome manual process.
> Very cool, thank you!
> 
> One general aspect I was wondering in design of this installer. Is there a
> benefit by rebuilding the system image instead of generating an installable
> update.zip with the blobs to flash them on top of the system image (e.g.
> using recovery) during the first boot?

You still need to manually flash a recovery we can use

> 
> And another consideration (but maybe I didn't understand this correctly):
> Why don't you run everything (maybe except the flashing) on the target
> device itself instead of a computer connected to it? Imho, going through the
> process of a "regular" OTA update instead of external fastboot-flashing
> should be much more convinient for end-users.

How would you be bootstrapping this?
Assignee

Updated

4 years ago
Depends on: 1236642
Assignee

Updated

4 years ago
Depends on: 1236836
Assignee

Updated

4 years ago
Depends on: 1238945

Comment 16

4 years ago
This is a very interesting idea in order to simplify the installation process of end users. Are there any news?
Assignee

Comment 17

4 years ago
Yes. I'm working on fixing end user bugs right now.
Assignee

Updated

4 years ago
Depends on: 1240355
Assignee

Updated

4 years ago
Depends on: 1240352

Comment 18

3 years ago
is there any procedure for flash the blobfree package until the addon is complete?
Assignee

Comment 19

3 years ago
(In reply to Pochy from comment #18)
> is there any procedure for flash the blobfree package until the addon is
> complete?

No.
Assignee

Comment 20

3 years ago
Added doc at: https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS/B2G_Installer_Addon

It's still preliminary. I'll update a link to generated platform XPIs soon. In the mean time, contributions are more than welcome: I will release a first 1.0 with the current bugs fixed and then move on because I don't have time to maintain this.
Assignee

Comment 21

3 years ago
Remaining bugs before releasing a 1.0:
 1. Bug 1233029: Installation fails if you click on the "flash device" button until the entire boot sequence is done
 2. Bug 1233012: There is no error message if you don't put an actual local blobfree zip file
 3. Bug 1234216: UI gets confusing if there are 2 compatible devices plugged in
 4. Bug 1204482: Provide a VirtualBox VM ready for B2G Installer use
Assignee

Updated

3 years ago
Depends on: 1245181
Assignee

Updated

3 years ago
Depends on: 1245228
Assignee

Updated

3 years ago
Depends on: 1245229
Assignee

Updated

3 years ago
Depends on: 1246288
Assignee

Updated

3 years ago
Depends on: 1248361
Assignee

Updated

3 years ago
Depends on: 1248673
Assignee

Updated

3 years ago
Depends on: 1248686
Assignee

Comment 22

3 years ago
Telemetry is done and pings are reaching infra (verified).

Comment 23

3 years ago
Hi,
all bugs are closed. Are you close to release the plugin?
Assignee

Updated

3 years ago
Depends on: 1255383
Assignee

Updated

3 years ago
Depends on: 1260755
Assignee

Updated

3 years ago
Depends on: 1265714
Assignee

Updated

3 years ago
Depends on: 1275065
Assignee

Updated

3 years ago
Depends on: 1275063

Updated

3 years ago
Depends on: 1281788
Assignee

Updated

3 years ago
Depends on: 1288910
Assignee

Updated

3 years ago
Depends on: 1304707
Assignee

Updated

3 years ago
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → WONTFIX
Depends on: 1347743
No longer depends on: 1347743
You need to log in before you can comment on or make changes to this bug.