• This repository has been archived on 14/Aug/2023
  • Stars
    star
    1,063
  • Rank 41,749 (Top 0.9 %)
  • Language
    Ruby
  • License
    MIT License
  • Created over 8 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

SD card image for Raspberry Pi with Docker: HypriotOS

image-builder-rpi

Join the chat at https://gitter.im/hypriot/talk Build Status Latest Release All Releases

This repo builds the SD card image with HypriotOS for the Raspberry Pi 1, 2, 3, 4 and Zero. You can find released versions of the SD card image here in the GitHub releases page. To build this SD card image we have to

  • take the files for the root filesystem from os-rootfs
  • take the empty raw filesystem from image-builder-raw with the two partitions
  • add Hypriot's Debian repos
  • install the Raspberry Pi kernel from rpi-kernel
  • install Docker tools Docker Engine, Docker Compose and Docker Machine

Here is an example how all the GitHub repos play together:

Architecture

Contributing

You can contribute to this repo by forking it and sending us pull requests. Feedback is always welcome!

You can build the SD card image locally with Vagrant.

Setting up build environment

Make sure you have vagrant installed. Then run the following command to create the Vagrant box and use the Vagrant Docker daemon. The Vagrant box is needed to run guestfish inside. Use export VAGRANT_DEFAULT_PROVIDER=virtualbox to strictly create a VirtualBox VM.

Start vagrant box

vagrant up

Export docker host

export DOCKER_HOST=tcp://127.0.0.1:2375

Check you are using docker from inside vagrant

docker info | grep 'Operating System'
Operating System: Ubuntu 16.04.3 LTS

Build the SD card image

From here you can just make the SD card image. The output will be written and compressed to hypriotos-rpi-dirty.img.zip.

make sd-image

Run Serverspec tests

To test the compressed SD card image with Serverspec just run the following command. It will expand the SD card image in a Docker container and run the Serverspec tests in builder/test/ folder against it.

make test

Run integration tests

Now flash the SD card image and boot up a Raspberry Pi. Run the Serverspec integration tests in builder/test-integration/ folder against your Raspberry Pi. Set the environment variable BOARD to the IP address or host name of your running Raspberry Pi.

flash hypriotos-rpi-dirty.img.zip
BOARD=black-pearl.local make test-integration

This test works with any Docker Machine, so you do not need to create the Vagrant box.

Deployment

For maintainers of this project you can release a new version and deploy the SD card image to GitHub releases with

TAG=v0.0.1 make tag

After that open the GitHub release of this version and fill it with relevant changes and links to resolved issues.

License

MIT - see the LICENSE file for details.

More Repositories

1

flash

Command line script to flash SD card images of any kind
Shell
995
star
2

cluster-lab

Hypriot Cluster Lab
Shell
156
star
3

rpi-kernel

Build a Linux kernel for Raspberry Pi 0/1/2/3/3B+
Shell
134
star
4

blog

Repository for the Hypriot Blog
JavaScript
87
star
5

rpi-alpine-scratch

Raspberry Pi compatible Docker Image with a minimal linux system.
Shell
83
star
6

arm-compose

Automated build for docker-compose on ARM
Shell
73
star
7

rpi-node

RPi-compatible Docker image with Node.js
Shell
72
star
8

device-init

Initialize a device on boot with user defined configuration
Go
70
star
9

golang-armbuilds

Pre-compiled GOLANG tarballs for ARM devices.
Shell
69
star
10

os-rootfs

The root filesystem of HypriotOS
Shell
69
star
11

rpi-mysql

RPi-compatible Docker image with Mysql
Shell
67
star
12

rpi-docker-builder

Build steps to build hypriot-docker for Raspberry Pi
Shell
65
star
13

rpi-busybox-httpd

Raspberry Pi compatible Docker Image with a minimal `Busybox httpd` web server.
Makefile
60
star
14

qemu-register

Docker Image to register Qemu interpreters for ARMHF/AARCH64/PPC64LE/Risc-V in Docker Host w/ Linux Kernel 4.8+
Shell
59
star
15

x11-on-HypriotOS

Instructions how to install X11 on a HypriotOS based Raspberry Pi system
Shell
38
star
16

image-builder-odroid-c2

Build SD card image for ODROID C2
Ruby
36
star
17

rpi-node-haproxy-example

Run Node.js webservers behind haproxy with docker-compose on Raspberry Pi
JavaScript
36
star
18

rpi-nano-httpd

A nano sized web server packed into a Docker Nano Container
Assembly
35
star
19

rpi-python

RPi-compatible Docker Image with Python
29
star
20

rpi-node-neopixel-example

Example using Adafruit's NeoPixel with Node.js in Docker on Raspberry Pi
JavaScript
29
star
21

rpi-gogs-raspbian

Raspberry Pi compatible Docker Image with a minimal gogs git server.
Makefile
28
star
22

rpi-traefik

Build an ARM docker image for Træfɪk, a modern reverse proxy
28
star
23

rpi-alpine

Alpine for ARM
25
star
24

rpi-influxdb

Docker image for InfluxDB on ARM
Shell
25
star
25

rpi-java

RPi-compatible Docker Image with Java
Makefile
22
star
26

image-builder-raw

Raw Image for HypriotOS
Shell
21
star
27

rpi-noip

rpi-noip is a docker image of the official no-ip Dynamic DNS Update client
Dockerfile
20
star
28

rpi-consul

RPi-compatible Docker Image with Consul
Makefile
20
star
29

rpi-redis

RPi-compatible Docker Image with Redis
Shell
18
star
30

rpi-cluster-lab-demos

Demos for the Hypriot Cluster Lab
18
star
31

rpi-dockerui

Builder for an ARM compatible Docker image of https://github.com/crosbymichael/dockerui
17
star
32

Pirate-ShieldTV

Hacking the Nvidia ShieldTV to use Ubuntu Linux for ARM64/AARCH64
Shell
16
star
33

docker-machine-hypriot

Docker Machine driver for Hypriot
Shell
16
star
34

image-builder-odroid-xu4

Build SD card image for ODROID XU4
Ruby
16
star
35

rpi-drone

Raspberry Pi compatible Docker Image with drone CI server
Makefile
15
star
36

rpi-swarm

Raspberry Pi compatible Docker image with Docker Swarm - https://github.com/docker/swarm
15
star
37

image-builder-odroid-c1

Build SD card image for ODROID C1 and C1+
Ruby
15
star
38

rpi-golang

Docker Image packaging for GOLANG, used for Raspberry Pi
Makefile
14
star
39

image-builder-nvidia-shieldtv

Build SD card image for NVIDIA ShieldTV
Ruby
14
star
40

rpi-node-example-hello-world

Node.js example in Docker for Raspberry Pi
HTML
12
star
41

rpi-whoami

Simple Docker Image that prints its Container ID. For RPi only.
Go
10
star
42

rpi-hugo

Raspberry Pi compatible Docker Image with Hugo - a static webpage builder
Makefile
10
star
43

image-builder

Docker image for Hypriot's image-builder-* repos
Dockerfile
9
star
44

rpi-iojs

RPi-compatible Docker Image with io.js
Makefile
8
star
45

rpi-ruby

RPi-compatible Docker image with Ruby
8
star
46

rpi-tor-relay

7
star
47

arm-machine

Automated build for docker-machine on ARM
Shell
6
star
48

rpi-kitematic

Put Kitematic into a Docker Container Image and run it locally on your Raspberry Pi.
Shell
6
star
49

armhf-busybox

busybox ARM Docker container image
Ruby
5
star
50

hypriot.github.io

HTML
5
star
51

rpi-google-coder

Google Coder as ARM compatible Docker image
Makefile
5
star
52

swarmlab

Vagrant-based Swarmlab to easily experiment with Docker Swarm Mode.
Shell
5
star
53

rpi-registrator

Builder for an ARM compatible Docker image of https://github.com/gliderlabs/registrator.
5
star
54

talk

The team at Hypriot simplifies the way you get Docker running on ARM. Let's talk about this in our Gitter chatroom!
3
star
55

rpi-crate

RPi-compatible Docker Image with Crate.io
Makefile
3
star
56

rpi-cron-example

RPi-compatible Docker Image - example usage of a cron job in a container
Makefile
2
star
57

dockerfiles

Repository for our internal dockerfiles
Makefile
2
star
58

rpi-minecraft

Shell
2
star
59

image-builder-bananapi

Build SD card image for Banana Pi
Ruby
2
star
60

hypriot-talks

This is your first repository
HTML
2
star
61

rpi-java-hello-world

A Hello World in Java with a RPi compatible Docker image
Java
2
star
62

rpi-consul-template

Raspberry Pi compatible Docker Image of Consul Template
Makefile
2
star
63

hardware-lists

Contains lists of hardware that is recommended to use in Hypriot projects.
2
star
64

rpi-openvswitch-builder

Builder for Open vSwitch packages compatible to the Raspberry Pi
Shell
2
star
65

image-builder-cubie

This is your first repository
Shell
1
star
66

armhf-hello-world

ARM version of hello-world
1
star
67

rpi-noobs-builder

create NOOBS zip with HypriotOS
Shell
1
star