Android: Difference between revisions

From OLPC
Jump to navigation Jump to search
m (→‎Installing: formatting)
 
(70 intermediate revisions by 3 users not shown)
Line 5: Line 5:
OLPC is preparing for a customer an Android, Sugar and Gnome dual-boot system for the [[XO-4|XO-4 Touch]]. This will allow children to switch between the operating systems by rebooting, so that educational content can be delivered in either format.
OLPC is preparing for a customer an Android, Sugar and Gnome dual-boot system for the [[XO-4|XO-4 Touch]]. This will allow children to switch between the operating systems by rebooting, so that educational content can be delivered in either format.


The build is based on our arm-3.5 kernel, with changes which may be
The final stable build is not yet available, but is planned within a few weeks. --[[User:Quozl|Quozl]] 01:48, 12 March 2014 (UTC)

Our next development release of a dual boot build is available.

The build is based on our arm-3.5 kernel, with changes which can be
found in the [http://dev.laptop.org/git/olpc-kernel/log/?h=arm-3.5-android arm-3.5-android] branch of our [http://dev.laptop.org/git/olpc-kernel olpc-kernel] repository.
found in the [http://dev.laptop.org/git/olpc-kernel/log/?h=arm-3.5-android arm-3.5-android] branch of our [http://dev.laptop.org/git/olpc-kernel olpc-kernel] repository.

Do not rely on this build for any critical data, in particular do not associate your regular Google account with this build if your Google account is critical to you.


=== Installing ===
=== Installing ===


* make a [[backup]] of anything you want to keep on the XO-4, because it will be erased by this test,
* make a [[backup]] of anything you want to keep on the XO-4, because it will be erased by this test
* download the ''.zd'' file according to whether your firmware supports symmetrical multi-processing ("SMP"). Firmware versions named as ''q7c##'' (where ## is two digits) support SMP, while all earlier versions do not.
* ensure the firmware is [[Upgrading firmware|upgraded]] to [[OLPC_Firmware_q7b38|Q7B38]],

* download the .zd file, from [http://build.laptop.org/android/2014-03-19/ our build directory],
{| class="wikitable"
! style="border-style: solid; border-width: 1px" | if your firmware supports SMP (ver ≥ q7c00)
! style="border-style: solid; border-width: 1px" | if your firmware does ''NOT'' support SMP (ver < q7c00)
|-
|
* save the [http://dev.laptop.org/~ben/smp.zd smp.zd] file to a USB drive
* at the [[ok]] prompt, type this:
* at the [[ok]] prompt, type this:
[[Firmware/Storage#fs-update|fs-update]] u:\32013a4.zd
[[Firmware/Storage#fs-update|fs-update]] u:\smp.zd
|
* save the ''.zd'' file in [http://build.laptop.org/android/2014-09-01/ this build directory] to a USB drive
* at the [[ok]] prompt, type this:
[[Firmware/Storage#fs-update|fs-update]] u:\32014a4.zd
|-
| ''(limitation: SMP version is not dual-booting with Sugar)'' ||
|}

* when the installation completes, type this:
* when the installation completes, type this:
boot
boot


=== Known problems ===
=== Booting ===


* hold no keys to boot Linux, as usual,
* cannot turn on WLAN on SKU292, with the Marvell 8686 Wireless LAN module; missing firmware file,
* hold the [[Cheat codes|O game key]] to boot Android,
* not implemented; camera, hardware video codecs, and ambient light sensor,
* hold the [[Cheat codes|rocker down key]] to bring up the boot menu, then select either Linux or Android,
* might not coexist with olpc-update,
* does not coexist with deployment security; the Android kernel and ramdisk are not signed.


Note: the choice made at the menu is not saved. Previous builds did save the choice. This was removed because the saved state is undiscoverable, so there would have been forced power downs during boot because the child didn't remember what state the system was in, either because they forgot or the laptop was used by someone else.
Do not rely on this build for any critical data, in particular do not associate your regular Google account with this build if your Google account is critical to you.

=== Keyboard mapping ===

* rotate key, shows recent apps,
[[File:Keymap1.jpg‎]]
* O game key, volume up,
* X game key, volume down,
* Square game key, back,
* Tick game key, enter,
[[File:Keymap2.jpg‎]]
* f5, search,
* esc, back,
* esc+alt, home,
* esc+ctrl, menu,

Note: keyboard layout can be switched among different [[OLPC_Keyboard_layouts|OLPC keyboard layouts]];

* Android support following OLPC keyboard layouts:
[[OLPC English Keyboard|English (US international)]];
[[OLPC_Spanish_Keyboard|Spanish (Latin America)]];
* [[/SwitchKeyboard|How to switch keyboard layout in Android]]

=== Known problems ===

* key events from a paired bluetooth keyboard are ignored, <trac>12784</trac>,
* not implemented; dual core SMP <trac>12297</trac>, and ambient light sensor,
* does not coexist with olpc-update, it fails <!-- OSError: [Errno 21] Is a directory, in bitfrost rewrite_symlink called from trim_config, which is operating on /bootpart/boot/alt --> because {{code|/bootpart/boot/alt}} is present, but if this is removed and the update applied, the Android kernel and ramdisk will have to be reinstated manually,
** status: wont fix, can add a Android kernel and ramdisk in olpc-os-builder if coexistence is required,
* when used with the 8686 wireless module, the bluetooth function is listed in settings, can be turned on, but turns itself off, <trac>12796</trac>,
** status: won't fix, the module is no longer available.
* sometimes the first boot dialog hangs when the start button is pressed, <trac>12797</trac>,
** status: won't fix, not in our control.
See our trac [http://dev.laptop.org/report/49 milestone 13.2.0-android report] of problems to be fixed.


=== Test cases ===
=== Test cases ===
Line 38: Line 82:
* use of headphones to play music from USB drive in MP3 format,
* use of headphones to play music from USB drive in MP3 format,
* use of bluetooth to pair a headset,
* use of bluetooth to pair a headset,
* associate with a Raspberry Pi providing Khan Academy content [http://pi.mujica.org/ KA-Pi], access via Browser, play video, fullscreen, play to end,


== See Also ==
== Subpages ==


* [http://lists.laptop.org/pipermail/devel/2014-February/038208.html latest] and [http://lists.laptop.org/pipermail/devel/2013-December/038048.html prior] announcements on devel@ mailing list,
* [https://en.wikipedia.org/wiki/Android_(operating_system) Android (operating system)] on Wikipedia,
* [[/Building|How to build Android for the XO-4]],
* [[/Building|How to build Android for the XO-4]],
* [[/Kernel|How to build an Android kernel for the XO-4]],
* [[/Kernel|How to build an Android kernel for the XO-4]],
* [[/Screenshots|How to take screenshots]],
* [[/Screenshots|How to take screenshots]],
* [[/Adb|How to connect via ADB]],
* [http://dev.laptop.org/git/olpc-kernel/log/?h=arm-3.5-android Kernel patches for the XO-4 to enable Android].
* [[/DeveloperOptions|How to enable developer options]]
* [[/PreInstalledAPK|How to add more pre-installed APKs]]
* [[/Security|How to sign the Android kernel and ramdisk with OLPC XO deployment keys]],
* [[/Sign|How to sign Android build with release keys]],
* [[/Status|Porting status of Android for XO-4]],
* [[/Lollipop(5.0)|Android 5.0 lollipop]],

== See Also ==

* [https://en.wikipedia.org/wiki/Android_(operating_system) Android (operating system)] on Wikipedia,


* [http://sugarizer.org/ Sugarizer] for online use,
* [http://sugarizer.org/ Sugarizer] for online use,
* [http://sugarizer.org/org.olpc-france.sugarizer.apk org.olpc-france.sugarizer.apk] Sugarizer for offline use.
* [http://sugarizer.org/org.olpc-france.sugarizer.apk org.olpc-france.sugarizer.apk] Sugarizer for offline use.

* [http://lists.laptop.org/pipermail/devel/2014-June/038498.html 2014-06-23] announcement on devel@ mailing list,


* [http://lists.laptop.org/pipermail/devel/2014-January/038072.html Mike Lee's review] of a previous release, with [http://www.flickr.com/photos/curiouslee/sets/72157639278723275/ photographs] and [http://youtu.be/i0fyv95znv8 videos]
* [http://lists.laptop.org/pipermail/devel/2014-January/038072.html Mike Lee's review] of a previous release, with [http://www.flickr.com/photos/curiouslee/sets/72157639278723275/ photographs] and [http://youtu.be/i0fyv95znv8 videos]

* [http://dev.laptop.org/report/49 bug tracking]
* [http://dev.laptop.org/git/olpc-kernel/log/?h=arm-3.5-android Kernel patches for the XO-4 to enable Android].

Latest revision as of 20:58, 29 November 2017

Android is an operating system based on the Linux kernel, and designed primarily for touchscreen mobile devices such as smartphones and tablet computers.

Android 4.3.1 (Jelly Bean) for XO-4

OLPC is preparing for a customer an Android, Sugar and Gnome dual-boot system for the XO-4 Touch. This will allow children to switch between the operating systems by rebooting, so that educational content can be delivered in either format.

The build is based on our arm-3.5 kernel, with changes which may be found in the arm-3.5-android branch of our olpc-kernel repository.

Do not rely on this build for any critical data, in particular do not associate your regular Google account with this build if your Google account is critical to you.

Installing

  • make a backup of anything you want to keep on the XO-4, because it will be erased by this test
  • download the .zd file according to whether your firmware supports symmetrical multi-processing ("SMP"). Firmware versions named as q7c## (where ## is two digits) support SMP, while all earlier versions do not.
if your firmware supports SMP (ver ≥ q7c00) if your firmware does NOT support SMP (ver < q7c00)
  • save the smp.zd file to a USB drive
  • at the ok prompt, type this:
fs-update u:\smp.zd
fs-update u:\32014a4.zd
(limitation: SMP version is not dual-booting with Sugar)
  • when the installation completes, type this:
boot

Booting

  • hold no keys to boot Linux, as usual,
  • hold the O game key to boot Android,
  • hold the rocker down key to bring up the boot menu, then select either Linux or Android,

Note: the choice made at the menu is not saved. Previous builds did save the choice. This was removed because the saved state is undiscoverable, so there would have been forced power downs during boot because the child didn't remember what state the system was in, either because they forgot or the laptop was used by someone else.

Keyboard mapping

  • rotate key, shows recent apps,

Keymap1.jpg

  • O game key, volume up,
  • X game key, volume down,
  • Square game key, back,
  • Tick game key, enter,

Keymap2.jpg

  • f5, search,
  • esc, back,
  • esc+alt, home,
  • esc+ctrl, menu,

Note: keyboard layout can be switched among different OLPC keyboard layouts;

  • Android support following OLPC keyboard layouts:

English (US international); Spanish (Latin America);

Known problems

  • key events from a paired bluetooth keyboard are ignored, <trac>12784</trac>,
  • not implemented; dual core SMP <trac>12297</trac>, and ambient light sensor,
  • does not coexist with olpc-update, it fails because /bootpart/boot/alt is present, but if this is removed and the update applied, the Android kernel and ramdisk will have to be reinstated manually,
    • status: wont fix, can add a Android kernel and ramdisk in olpc-os-builder if coexistence is required,
  • when used with the 8686 wireless module, the bluetooth function is listed in settings, can be turned on, but turns itself off, <trac>12796</trac>,
    • status: won't fix, the module is no longer available.
  • sometimes the first boot dialog hangs when the start button is pressed, <trac>12797</trac>,
    • status: won't fix, not in our control.

See our trac milestone 13.2.0-android report of problems to be fixed.

Test cases

  • boot,
  • use power button for sleep and wake,
  • use of e-book switch (close lid) for sleep,
  • use of headphones to play music from USB drive in MP3 format,
  • use of bluetooth to pair a headset,
  • associate with a Raspberry Pi providing Khan Academy content KA-Pi, access via Browser, play video, fullscreen, play to end,

Subpages

See Also