Slide 1

Slide 1 text

Hello, Brillo: Peeking Under the Covers Dave Smith, PE Android Lead NewCircle, Inc.

Slide 2

Slide 2 text

What is Brillo? Android-based OS Core Services Secure by Default

Slide 3

Slide 3 text

Linux Kernel Bootloader Hardware Abstraction Layer Native Services Runtime Application Framework Core Applications

Slide 4

Slide 4 text

Linux Kernel Bootloader Hardware Abstraction Layer Runtime Application Framework Core Applications Native Services

Slide 5

Slide 5 text

Linux Kernel Bootloader Hardware Abstraction Layer Runtime Application Framework Core Applications Native Services

Slide 6

Slide 6 text

Brillo Core Services

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

Local APIs Cloud APIs

Slide 9

Slide 9 text

Device Libraries libweave MMU-Enabled libuweave Microcontrollers

Slide 10

Slide 10 text

Device Libraries libweave MMU-Enabled libuweave Microcontrollers https://weave.googlesource.com/

Slide 11

Slide 11 text

Discovery Provisioning Setup

Slide 12

Slide 12 text

Send Device Commands Update Device State Sync Device State

Slide 13

Slide 13 text

Brillo Core Services

Slide 14

Slide 14 text

Brillo Core Services Metrics & Crash Reports Robust OTA Updates

Slide 15

Slide 15 text

Security SELinux MAC Verified Boot A/B Updates

Slide 16

Slide 16 text

Security SELinux MAC Verified Boot A/B Updates User Account Controls TLS + Data Encryption

Slide 17

Slide 17 text

Building a Brillo Product Get Hardware Install BSP Create Product Add Services

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

• ARM, x86, MIPS • 32-bit and 64-bit variants • 32MB RAM • 64MB Storage • Wi-Fi 802.11n • Bluetooth 4.0+ Minimum Hardware Requirements:

Slide 20

Slide 20 text

Board Support Package (BSP) Linux Kernel Bootloader Hardware Abstraction Layer

Slide 21

Slide 21 text

Board Support Package (BSP) Peripheral SoC Peripheral Peripheral Peripheral Kernel Firmware

Slide 22

Slide 22 text

Board Support Package (BSP) Peripheral SoC Peripheral Peripheral Peripheral Peripheral Peripheral Peripheral Peripheral Peripheral Kernel Firmware

Slide 23

Slide 23 text

Create a Product AOSP Board Product Device

Slide 24

Slide 24 text

Create a Product BDK Device Board Product AOSP Board Product Device

Slide 25

Slide 25 text

Create a Product BDK Device Board Product AOSP Board Product Device BSP

Slide 26

Slide 26 text

… Hardware Abstraction Layer Native Services

Slide 27

Slide 27 text

… Hardware Abstraction Layer Native Services Application Services C++ AIDL Power Audio Sensors … Connectivity

Slide 28

Slide 28 text

Hello, Brillo @devunwired +DaveSmithDev milehighandroid.com wiresareobsolete.com