Gingerbread (and the associated branches) contain some support for
Nexus One and Nexus S:
-It's possible to build a minimally functional image from the pure
open-source tree for either of those devices.
-If you are authorized to do so, there are scripts that extract binary
drivers from a running device and wrap makefiles around those. Note
that you need to use drivers from a Gingerbread phone, which can cause
chicken-and-egg situations on Nexus One.
-HTC hosts Froyo factory images for Nexus One, which allow flashing
back to a known system.
-There are currently no factory images available for Nexus S (which
was only released yesterday). If you flash a custom system on a Nexus
S, you will have a hard time getting it back to its factory state and
we cannot provide any kind of support in that case. We are working to
make factory images for Nexus S available in the future. THIS IS
IMPORTANT: after flashing a custom system on Nexus S, you will
probably be unable to get back to the factory state for a while.
-Gingerbread adds Open-Source GPS support for Nexus One. On Nexus S,
the audio path as well as the camera driver are Open-Source.
-The bootloader on both Nexus One and Nexus S can be unlocked with
"fastboot oem unlock" to allow flashing a custom system. In both
cases, the user data partition is deleted to maintain user privacy.
-On Nexus S, it's possible to lock the phone back with "fastbook oem
lock", which improves the balance between openness and security.
-The hardware name for Nexus One is "passion" (you already knew that).
Nexus S hardware is called "crespo".
-There is no AOSP support any longer for ADP1 ("dream") and ADP2 ("sapphire").
-The documentation on source.android.com about flashing custom systems
is very much outdated. We'll get it updated in the coming weeks.
JBQ
--
Jean-Baptiste M. "JBQ" Queru
Software Engineer, Android Open-Source Project, Google.
Questions sent directly to me that have no reason for being private
will likely get ignored or forwarded to a public forum with no further
warning.
-In the gingerbread tree, I ran extract_files.sh on a retail Nexus One
running FRG83D (only do that if you're authorized to do it)
-in vendor/htc/passion/BoardConfigVendor, I set USE_CAMERA_STUB to
true (camera code changed a lot since Froyo and drivers aren't
directly compatible).
-I built full_passion-userdebug (clean build, i.e. rm -rf out),
flashed it on a passion.
-In a quick smoke testing, the following components seem to work: 3D,
audio, GSM, wifi, sensors, GPS.
Proceed at your own risk.
JBQ
--
You received this message because you are subscribed to the "Android Building" mailing list.
To post to this group, send email to android-...@googlegroups.com
To unsubscribe from this group, send email to
android-buildi...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-building?hl=en
JBQ
> --
> You received this message because you are subscribed to the "Android Building" mailing list.
> To post to this group, send email to android-...@googlegroups.com
> To unsubscribe from this group, send email to
> android-buildi...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/android-building?hl=en
>
--
Setting up AOSP support for Crespo meant that I had to drop Dream and
Sapphire. That opened up more possibilities about using AOSP on retail
devices: the only variants of Dream and Sapphire that were designed
for AOSP work were the ADP1 and ADP2, which are rare, whereas any
retail Nexus S can be unlocked. Nexus S gives you both the openness
that comes with the ability to unlock it and the security that comes
with the ability to lock it back.
With the audio code, the camera code and the NFC code being
Open-Source, Crespo opens up a lot of new possibilities for
contributions and experiments. In the family of devices ever supported
in AOSP, Crespo is the one with the fewest non-Open-Source drivers so
far (really: 3D, RIL, GPS, sensors, plus some firmware blobs).
Looking the other way, Dream and Sapphire are stable known quantities
at this point: they've been running Android longer than any other
devices, and the underlying drivers don't need to evolve much any
more. Enough enthusiasts in the community have experience with that
device that they'll probably do a better job at supporting those than
I would.
Having to make a choice was hard as I knew that I wouldn't be able to
support all devices in AOSP. Once I looked at the arguments for
Dream/Sapphire vs Crespo, the decision was clear.
JBQ
> --
> You received this message because you are subscribed to the "Android Building" mailing list.
> To post to this group, send email to android-...@googlegroups.com
> To unsubscribe from this group, send email to
> android-buildi...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/android-building?hl=en
>
--
If you have a locked Nexus One, do you know if it will
receive an OTA update to Gingerbread?
Back in May/June I had a locked Nexus One. I did not
have a wireless plan, but did have the phone connected
to wifi. Miraculously, it received an OTA update to
Froyo via wifi. Is there any chance that could happen
with Gingerbread?
> -If you are authorized to do so, there are scripts that extract binary
> drivers from a running device and wrap makefiles around those.
Authorized by whom? Is owning the phone sufficient
authorization?
-Sam
JBQ
--
Note however that this might not help much in situations where the
underlying drivers have issues in code paths that weren't exercised in
an older version but do get touched in a newer one. Such situations
are much more likely to happen when designing a future-proof API.
JBQ
> --
> You received this message because you are subscribed to the "Android Building" mailing list.
> To post to this group, send email to android-...@googlegroups.com
> To unsubscribe from this group, send email to
> android-buildi...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/android-building?hl=en
>
--
I'd love to receive a contribution that fixes it.
JBQ
> --
> You received this message because you are subscribed to the "Android Building" mailing list.
> To post to this group, send email to android-...@googlegroups.com
> To unsubscribe from this group, send email to
> android-buildi...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/android-building?hl=en
>
--
Notice that the incompatibility is in C/C++ code, but that the Camera
app doesn't contain any such code. Notice also that the Camera app
doesn't fail to compile.
JBQ
> --
> You received this message because you are subscribed to the "Android Building" mailing list.
> To post to this group, send email to android-...@googlegroups.com
> To unsubscribe from this group, send email to
> android-buildi...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/android-building?hl=en
>
--
-If you're familiar with the process to extract drivers from a running
device (./extract_files.sh) are you're authorized to do so, you can
get a fully functional build missing only the Google apps (use
full_crespo-userdebug which should be in the lunch menu). Beware:
without factory images, there's no supported way from there to return
to the original state.
-Because of a bug / missing feature (not sure) in the froyo graphics
driver for passion, you need to run gingerbread with 16-bit graphics
instead of 32-bit when using the froyo graphics drivers. Also, the API
to the camera changed, and gingerbread need to be modified to remove
multi-camera support in order to be able to use the froyo camera
driver for passion. I think that the CyanogenMod project has those
change.
JBQ
> --
> You received this message because you are subscribed to the "Android Building" mailing list.
> To post to this group, send email to android-...@googlegroups.com
> To unsubscribe from this group, send email to
> android-buildi...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/android-building?hl=en
>
--