Android: Difference between revisions

From OLPC
Jump to navigation Jump to search
m (→‎Installing: formatting)
 
(82 intermediate revisions by 4 users not shown)
Line 3: Line 3:
== Android 4.3.1 (Jelly Bean) for XO-4 ==
== Android 4.3.1 (Jelly Bean) for XO-4 ==


OLPC is preparing an Android, Sugar and Gnome dual-boot system for the [[XO-4]].
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
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_q7b37|Q7B37]],

* download the .zd file, from [http://build.laptop.org/android/2014-02-26/ 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
* at the prompt "Linux or Android", press shift-L, and allow the system to boot first into Linux, for partition resizing,
* shutdown Linux and reboot, and press shift-A at the prompt to boot into Android.


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


* cannot turn off wifi once it is turned on,
* hold no keys to boot Linux, as usual,
* the boot choice menu is only a minimal design,
* 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,
* power button does not always cause sleep,
* cannot automatically resize on 4 GB eMMC model of XO-4, must boot Linux first,
* not implemented; camera, hardware video codecs, touchpad, ambient light sensor,
* the microphone jack may not be operational, has not been tested,
* if playing music, closing lid stops music playing, waking up and pressing play does show playback, but no audio is heard until repeated stop and play,
* 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 43: 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,


== Boot menu ==
== Subpages ==


* [[/Building|How to build Android for the XO-4]],
We have an improved boot menu. Using the existing [[cheat codes]] the rocker down key is for selecting alternate operating systems on an XO laptop.
* [[/Kernel|How to build an Android kernel for the XO-4]],

* [[/Screenshots|How to take screenshots]],
Please test:
* [[/Adb|How to connect via ADB]],

* [[/DeveloperOptions|How to enable developer options]]
* copy the boot script [http://build.laptop.org/android/2014-02-26/mkzd.git/olpc.fth olpc.fth] to the /bootpart/boot/ directory,
* [[/PreInstalledAPK|How to add more pre-installed APKs]]
* copy the icon file [http://build.laptop.org/android/2014-02-26/mkzd.git/iconography/android.565 android.565] to the /bootpart/ directory,
* [[/Security|How to sign the Android kernel and ramdisk with OLPC XO deployment keys]],
* copy the icon file [http://build.laptop.org/android/2014-02-26/mkzd.git/iconography/xo.565 xo.565] to the /bootpart/ directory,
* [[/Sign|How to sign Android build with release keys]],
* reboot
* [[/Status|Porting status of Android for XO-4]],

* [[/Lollipop(5.0)|Android 5.0 lollipop]],
The chosen operating system remains selected until the rocker down key is used at boot to change it.

The first time the menu appears, there is no chosen operating system, so the highlight is not on either operating system. To restore this state, clear byte 84 of the RTC CMOS:
ok 0 84 cmos!


== See Also ==
== See Also ==


* [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,
* [https://en.wikipedia.org/wiki/Android_(operating_system) Android (operating system)] on Wikipedia,
* [[/Building|How to build Android for the XO-4]],
* [[/Kernel|How to build an Android kernel for the XO-4]],
* [http://dev.laptop.org/git/olpc-kernel/log/?h=arm-3.5-android Kernel patches for the XO-4 to enable Android].


* [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