Giter Site home page Giter Site logo

alexandermai / image-builder-rpi Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hypriot/image-builder-rpi

0.0 0.0 0.0 498 KB

SD card image for Raspberry Pi with Docker: HypriotOS

Home Page: http://blog.hypriot.com/post/how-to-get-docker-working-on-your-favourite-arm-board-with-hypriotos/

License: MIT License

Shell 35.03% Ruby 60.35% Makefile 3.78% Dockerfile 0.85%

image-builder-rpi's Introduction

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.

image-builder-rpi's People

Contributors

stefanscherer avatar dieterreuter avatar govinda-fichtner avatar mathiasrenner avatar marclennox avatar mdzw avatar yonatan-schultz avatar bltavares avatar glensc avatar proffan avatar moul avatar michaelkoetter avatar rhuss avatar troyfontaine avatar firecyberice avatar kraeml avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.