recycle your android devices
play

Recycle Your Android Devices Run real Linux on them David - PowerPoint PPT Presentation

Recycle Your Android Devices Run real Linux on them David Greaves lbt on #mer #sailfjshos ... Co-founder of the Mer Project Who am I? work at Jolla systems and infrastructure (OBS, QA, gitlab, bz ... VMs) HA Documentation Mer tools


  1. Recycle Your Android Devices Run real Linux on them

  2. David Greaves lbt on #mer #sailfjshos ... Co-founder of the Mer Project Who am I? work at Jolla systems and infrastructure (OBS, QA, gitlab, bz ... VMs) HA Documentation Mer tools

  3. This is not a Jolla pitch

  4. This is not a Jolla pitch ... but

  5. This is not a Jolla pitch ... but

  6. Good case study This is not a Jolla pitch ... but Galaxy S3 & Nexus 4 / 5 & more Sailfjsh for Android

  7. HADK T oC: • Prerequisites • Preparing Your Device This is not a • Setting up the SDKs • Building the Android HAL Jolla pitch • Setting up Scratchbox2 T arget • Packaging Droid HAL ... • Creating the Sailfjsh OS root fs but • Getting In • Flashing the rootfs image • Manual Installation • List of Repositories • T weaks and Patches • Building a new Device • List of Supported Devices

  8. Talk about Technology

  9. Talk about Technology JEOS Just Enough OS

  10. wayland systemd btrfs connman ofono/pulseaudio git dbus rpm Talk about blueZ Technology Gecko libzypp gstreamer eglibc glib kcalcore GeoClue kernel

  11. wayland systemd btrfs connman ofono/pulseaudio git dbus rpm Talk about blueZ Technology Gecko libzypp gstreamer eglibc glib kcalcore GeoClue kernel

  12. 5.2 Why? Talk about • QML Technology • Performant • Open Qt 5.2-ish • Not Java • Huge developer base

  13. Talk about Technology QtWayland replaces Qt 5.2-ish SurfaceFlinger More to come using hwcomposer.

  14. Talk about Technology QtWayland replaces Qt 5.2-ish SurfaceFlinger More to come using hwcomposer.

  15. Talk about Technology code

  16. Routing around the breakage of closed binary blobs

  17. Shim between GNU libc and bionic libc Talk about Technology Enables use of glibc stack on top of Android BSP libhybris

  18. Android linker code dlopen dlsym dlclose Talk about become Technology android_dlopen android_dlsym libhybris android_dlclose

  19. Patches to bionic - relatively few: • Thread local storage Talk about • pthreads Technology • errno • hard vs softfp libhybris fmoat-abi • /dev/log

  20. android_dlopen(“libEGL.so”); myeglCreateWindowSurfaceFP = android_dlsym(“eglCreateWindowSurface”); *myeglCreateWindowSurface(....) Gets you Talk about • libEGL.so Technology or • libGLESv2.so libhybris as wrappers which present to glibc space

  21. Rinse and repeat for: • Gralloc • OpenGL ES 1.1/2.0 • NFC • Hardware HAL Talk about • OpenCL Technology • SurfaceFlinger • OpenMAX • Camera libhybris • Hwcomposer • and so on ...

  22. HA DK • Mer SDK • Scratchbox2 • Device target • Minimal Ubuntu Building it (for Android build)

  23. HA DK • Explaining the layout Building it • Bridge Android / Linux Mer HA : (libhybris) Android HA : Qt / Wayland drivers, Kernel; bionic; Pulseaudio, ... HABUILD SDK (ARM) SB2 Device Target (ARM) Mer SDK Host OS (linux – but all kinds of variants)

  24. Mer SDK • Minimal install • Some tools • SB2 ready Building it

  25. HABUILD SDK • Grab a tarball • Install 'repo' Building it

  26. HABUILD DK • Device specifjc XML manifest • Sync the git repos • Mix of CM & Mer Building it • Run 'make' • Fix problems :)

  27. Mer DK • Package up the HABUILD built: • binaries • headers Building it • kernel • boot & recovery .img • Create a local rpm repository (headers) • Make an SB2 'T arget'

  28. Mer SDK • Build hybris • Build drivers: • Qt hwcomposer • Audio Building it • Haptic • Sensors

  29. Mer SDK • Build SailfjshOS rootfs • Build <insert your Building it system here> rootfs

  30. Flashing • Use adb or equiv Running it

  31. Booting What happens? • Bootloader • Kernel Running it • Initrd and /init • Systemd • Android 'init'

  32. Running • ssh • nodejs • ruby/python Running it • webserver • ...

  33. • Currently around 25 active developers • Working on 22 devices • Galaxy Nexus/Note/T ab2/S3/S4 • Nexus One/4/5/7's • OnePlus, Photon Q, HTC Desire SailfjshOS HD • Ascend P6, G525-u00, Xperia Porters Z1 • HP T ouchpad • N900, N9(50) • N4, N5, Galaxy Nexus, are most mature and images are available

  34. Status: http://bit.ly/port-devices-status Where are we?

  35. Working Together • Multirom Worked with tassadar to add multirom support for sailfjshOs images • Upstreaming bugfjxes code back to CM During N5 port we contributed bugfjx back to the upstream CM http://review.cyanogenmod.org/#/ c/67489/

  36. • Xdadev sailfjsh section and also individual device forums have SailfjshOs threads • IRC channel #sailfjshos-porters Talk to us • All source at https://github.com/mer- hybris • SailfjshOs meetups , London, Berlin, Finland • Regular IRC meeting where developers drive the agenda

  37. Mer @ merproject.org Open • Core & some MW Source • Systems Open • Community Working Code is not enough

  38. Unlike Not that hard freenode: #mer 90 people made this: #sailfjshos github/ mer-hybris merproject. org

  39. Code: “FOSDEM2015” €50 discount (€199) Jolla's 31 Jan – 8 Feb FOSDEM (One per person) Discount EU / Switzerland / Code Norway T ablet : See us on Indiegogo

Recommend


More recommend