If you can't read please download the document
Upload
michael-hammel
View
42
Download
0
Embed Size (px)
Citation preview
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