Hi,

OK, FxOS is comprised of Gonk, Gecko and Gaia "logical" layers.

But how "physically" materializes Gonk layer in FxOS filesystem? I mean, where 
in boot.img, recovery.img, system.img, ... are the Gonk-related files located?

I've read that Gonk is Android kernel and HAL. So I imagine that some files are 
in boot.img (for normal boot) and recovery.img (for recovery mode), right?

And I've read that Gonk is also binary blobs and proprietary firmware, So I 
imagine that some files also rely in system.img, since 
<device_id>/extract-files.sh script seems to back up files from there, right?

If so, there are things that I don't understand. I'll take Flame device as an 
example.

On one hand, I can read that binary blobs and proprietary firmware cannot be 
redistributed in FxOS images. And on another hand, it seems to me that Flame 
device's v18D system.img has all the necessary as I can find there the files 
that device-flame/extract-files.sh is normally pulling from Flame device. Am I 
missing something here?

How do FxOS version relate to Gonk version? In B2G's v2.0 branch, there are 
JB-based flame.xml, KK-based flame-kk.xml and L-based flame-l.xml manifests. 
Does it mean that FxOS v2.0 can be built for Flame device using either JB, KK 
or L-based Gonk? If so, are JB-based and KK-based FxOS v2.0 supposed to 
run/behave the same on Flame device? Related to the previous section, if binary 
blobs and proprietary firmware aren't redistributed in FxOS images, where are 
they then? I mean, to upgrade Flame device from JB-based to KK-based Gonk (if 
this makes sense), some of these files were probably updated. How did the 
upgrade process  update these files if they're not redistributed? By binary 
patching?

Let's have KK-based Gonk (if this still makes sense). I can read in 
system/build.prop file of Flame device's v18D system.img that the build was 
based on Android KVT49L, i.e. Android KK 4.4.2_r2 [1]. Now, if I rebuild 
KK-based FxOS v2.0 for Flame device using BRANCH=v2.0 ./config.sh flame-kk, the 
resulting system/build.prop file is telling me that the build is based on older 
Android KK 4.4.2 KOT49H [2]. If the binary blobs and proprietary firmware 
really are the ones that can be found in Flame device's v18D system.img and 
pulled by device-flame/extract-files.sh script, how can Gonk run with files 
coming from different Android KK builds (KOT49H for the locally built files and 
KVT49L for the saved binary blobs and proprietary firmware)? Is mixing files 
coming from the same Android "version" (KK 4.4.2 in the present case) but not 
necessary the same Android "build" (KVT49L vs KOT49H) allowed (there's no 
problem with exported symbols in kernel modules for example)?

Thanks,

     Émeric


[1] 
http://www.androidpolice.com/2014/02/14/android-4-4-2_r2-kvt49l-shows-up-in-aosp-heres-the-changelog/
[2] 
http://www.androidpolice.com/2013/12/09/android-4-4-2-kot49h-is-already-rolling-out-to-nexus-devices-here-are-the-ota-zip-links-for-manual-updating/
_______________________________________________
dev-fxos mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-fxos

Reply via email to