PiBox Development System

download PiBox Development System

If you can't read please download the document

Transcript of PiBox Development System

Default

Click to edit the title

PiBox Development System
and
PiBox Media Center

Michael J. Hammel
http://www.graphics-muse.org
[email protected]

Goals

Custom Linux Distribution for Embedded SystemsEasy port of all components

Common build structures

Reuse of open source projects

User choice: lightweight or full featured

Not just for Raspberry Pi!It started on MIPS...

History

MIPS build (2005/2006)Dan Kegel's Crosstool

Linux From Scratch (LFS)

Custom shell scripts

ProblemsLFS maintenance

Hardware separation

App development

History

BeagleBoard build (2011)First inexpensive sample board

Supported by OpenEmbedded

Extra help from Robert C. Nelson

ProblemsBitBake

Not so friendly maintainer

Boards are prototype friendly, not product friendly

The PiBox Way

A Better Board

First came the Raspberry PiProduction friendly (when we want to get there)

Dirt cheap getting cheaper and smaller!

Ego-less environment

Debian distro

It's like working with a desktop motherboard that's only 3.33 by 2.5 and doesn't need that honkin' power supply.

Metabuilds

Then came Busybox/Buildroot/Crosstool-NGWrap inside GNU Make: metabuild

Common menu configurator (kconfig)

Common make targets: , -menuconfig, -clean, etc.

SolvesUpstream manages LFS issues

Platform port requires two files plus component configs

Select platform with HW=

Adds package support (opkg or other)

Components

What does it take to make a Linux distribution for a given hardware platform?Toolchain (cross toolchain is better)

Bootloader / Firmware

Linux Kernel and modules

Root file system

Custom apps

Development Platform

Core Platform

Out of tree buildsStaging tree: cross builds for 3rd party packages and apps

Install trees: toolchain, rootfs

Core platform: generic build for hardware

Apps: customize for specific project (eg PiBox Media Center)

libpnc: Network library for Debian-ish networking

libpibox: App helper messaging, logging, JSON, etc.

The core is a desktop that doesn't do much. It's a skeleton that you cover in your own favorite muscle and skin.

Installation

Binary releasesDownload from web site

mksd: setup SD card for installation

mkinstall: install root file system and required firmware

From sourceClone

Follow build instructions on wiki

Media Center

Consumer UI

Use as few keys as possible, even with FAVI.

Features

Video Browse and Playback with OMXPlayerffmpeg formats: mp4, mkv, etc.

Auto mount USB sticks

Hardware accelerated

Desktop Java App: VideoLib

Features

Themed clock

Features

WiFi Scanner find the best channel

Features

XM Radio new, only w/XMPCR

Access Point closed network of PiBox'enAuto share video libraries

A Bunch of Apps

psplash - Boot splash

piboxd Utility/comm daemon

launcher - UI front end

appmgr - Manage running apps

pmsui Matchbox skin

piboxwww web interface

piclock clock app

picam webcam app

pixm XM Radio app

videofe Video player front end

omxplayer hw accelerated player

What's Coming

IoT and Home Automation support

Raspberry Pi 3 support

PiBoid Android remote

Improved boot times

Bluetooth audio

Scaled UI for phones, smart watches, etc.

Lots of ideas. Too little time.

Installation

Binary releasesDownload opkg's

Copy to /root on SD card

Boot SD, login as root

opkg-cl install *.opkg

From sourceClone meta repository

Build packages

Follow binary release process

Quick Demo

Demo

Development Platform UIMedia Center UIPiBox Network ConfigPiClockPiCamVideoFEVideoLib

PiBox Info

Links

http://www.piboxproject.comMain project siteBusiness card says .org - it's .com!

http://www.graphics-muse.org/wiki/pmwiki.php/RaspberryPi/RaspberryPiDocumentation

http://www.graphics-muse.org/Me