Android: Difference between revisions

From OLPC
Jump to navigation Jump to search
m (→‎Installing: formatting)
 
(51 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.


Line 16: Line 12:
=== 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_q7b39|Q7B39]],

* download the .zd file, from [http://build.laptop.org/android/2014-04-07/ 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
Line 26: Line 36:
=== Booting ===
=== Booting ===


* hold no keys to boot Linux, as usual,
* hold the [[Cheat codes|rocker down key]] to bring up the boot menu, then select either Linux or Android,
** <font color="red">note</font>: being moved for next release from boot script to firmware, is in q7b39, <trac>12776</trac>.
* <s>the choice made will be saved</s>,
** <font color="red">note</font>: to be removed in next release, because the saved state is undiscoverable ... there will be times that the child forces a power cycle because they didn't remember what state the system was in, either because they forgot or the laptop was used by someone else.
* hold the [[Cheat codes|O game key]] to boot Android,
* hold the [[Cheat codes|O game key]] to boot Android,
* hold the [[Cheat codes|rocker down key]] to bring up the boot menu, then select either Linux or Android,
** <font color="red">note</font>: in next release,

* hold no keys to boot Linux,
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.
** <font color="red">note</font>: in next release,

=== 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 ===
=== Known problems ===


* key events from a paired bluetooth keyboard are ignored, <trac>12784</trac>,
* does not work with Spanish keyboard, <trac>12769</trac> (Spanish membrane keyboard), <trac>12773</trac> (localise onscreen keyboard), <trac>12774</trac> (Spanish keyboard generates wrong characters),
* does not work correctly with 8686 wireless modules, <trac>12771</trac> (Support 8686 wireless modules),
* 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: an 8686 wireless module is being sent to the developer,
** status: wont fix, can add a Android kernel and ramdisk in olpc-os-builder if coexistence is required,
* camera recording crashes, due to encode engine problem,
* 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>,
* not implemented; multitouch <trac>12770</trac>, hardware video codecs, dual core SMP <trac>12297</trac>, and ambient light sensor,
** status: won't fix, the module is no longer available.
* does not coexist with olpc-update,
* sometimes the first boot dialog hangs when the start button is pressed, <trac>12797</trac>,
** status: wont fix, can add a Android kernel and ramdisk in olpc-os-builder if coexistence is required,
** status: won't fix, not in our control.
* does not coexist with deployment security; the Android kernel and ramdisk are not signed, <trac>12772</trac> (support anti-theft security), <trac>12776</trac> (boot menu in firmware),
See our trac [http://dev.laptop.org/report/49 milestone 13.2.0-android report] of problems to be fixed.
** status: an alternate method [[/Security|documented]], changes to firmware completed, now in test,


=== Test cases ===
=== Test cases ===
Line 56: Line 84:
* associate with a Raspberry Pi providing Khan Academy content [http://pi.mujica.org/ KA-Pi], access via Browser, play video, fullscreen, play to end,
* 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-April/038249.html 2014-04-07] announcement 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]],
Line 65: Line 91:
* [[/Adb|How to connect via ADB]],
* [[/Adb|How to connect via ADB]],
* [[/DeveloperOptions|How to enable developer options]]
* [[/DeveloperOptions|How to enable developer options]]
* [[/PreInstalledAPK|How to add more pre-installed APKs]]
* [[/Security|How to sign the Android kernel and ramdisk with deployment keys]],
* [[/Security|How to sign the Android kernel and ramdisk with OLPC XO deployment keys]],
* [http://dev.laptop.org/git/olpc-kernel/log/?h=arm-3.5-android Kernel patches for the XO-4 to enable Android].
* [[/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/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