• Stars
    star
    157
  • Rank 237,006 (Top 5 %)
  • Language
    Ruby
  • License
    MIT License
  • Created over 7 years ago
  • Updated over 4 years ago

Reviews

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

Repository Details

Build SD card image for Raspberry Pi 3 64bit

image-builder-rpi64

CircleCI

Warning: This SD image will not work on a Raspberry Pi 4B !!!

This repo builds the SD card image with HypriotOS for the Raspberry Pi 3 in 64bit. 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 rpi64-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 and docker-machine installed. Then run the following command to create the Vagrant box and the Docker Machine connection. The Vagrant box is needed as a vanilla boot2docker VM is not able to run guestfish inside. Use export VAGRANT_DEFAULT_PROVIDER=virtualbox to strictly create a VirtualBox VM.

make docker-machine

Now set the Docker environments to this new docker machine:

eval $(docker-machine env image-builder-rpi64)

Build the SD card image

From here you can just make the SD card image. The output will be written and compressed to hypriotos-rpi64-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-rpi64-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 License

Copyright (c) 2017-2019 Dieter Reuter

More Repositories

1

workshop-raspberrypi-64bit-os

Workshop to build a 64bit Docker OS for the Raspberry Pi 3
160
star
2

git-autocommit

This is an amazing small tool, which automates your usage of GIT. On every file change is creates a commit and pushes it to your remote GIT repository.
Shell
69
star
3

arm64-docker-builder

Compiling Docker on an ARM64 (or AARCH64) machine
Shell
51
star
4

rpi64-kernel

Build a Linux kernel for Raspberry Pi 3 in 64bit
Shell
25
star
5

arm-docker-fixes

Scripts and hotfixes to fix some issues with Docker on ARM devices
Shell
17
star
6

qemu-arm-box

Development box for using qemu-arm-aarch64
Shell
13
star
7

oi-packer

Packer template for OpenIndiana
Shell
11
star
8

dockerchallenge-smallest-image

Let's build the smallest possible Docker image
Assembly
11
star
9

rpi-bootloader

Build a package with the Raspberry Pi bootloader
Shell
10
star
10

create-vbox-pfsense

Creates a complete VirtualBox machine for pfSense
Forth
9
star
11

chip-kernel-builder

Shell
5
star
12

rpi-dirtycow

Testing Raspberry Pi against the Dirty Cow vulnerability with Docker magic
C
4
star
13

make-rootfs-debian-arm64

Create and package a Debian rootfs for ARM64/AARCH64
Shell
4
star
14

win10-docker

Using Docker on Windows 10
PowerShell
4
star
15

nv-d4m

Deploying NeuVector Container Firewall on Docker4Mac in Kubernetes
Shell
4
star
16

boot2qemu

Using Vagrant->Ubuntu->qemu->Docker to emulate a Raspberry Pi
Shell
4
star
17

winprint-loadbalancer

Setup a complete cluster of Windows Print Servers behind a standard Load Balancer
PowerShell
3
star
18

docker-armbuilds

Docker .deb packages for armhf & aarch64
3
star
19

avahi-test

Testing Avahi/Bonjour service discovery on a Raspberry Pi
2
star
20

meanstack-ide

An IDE-VM for the MEAN stack based upon Ubuntu 12.04 (Precise 64Bit)
Ruby
2
star
21

osarch

Go
2
star
22

docker-gotty

Docker Image to run GoTTY on Alpine
Shell
2
star
23

apt-cache-box

A simple Cache Server for using as an Apt Proxy (used for serving Ubuntu servers and clients)
Python
1
star
24

make-arm64-rootfs

Create and package an Ubuntu rootfs for ARM64/AARCH64
Shell
1
star
25

speedy-gonzales

An extremely fast server implementation framework, for building HTTP or other TCP and UDP servers.
C
1
star
26

nvidia-tx-kernel

Building NVIDIA TX1/TX2 Linux Kernel the Docker Way
Shell
1
star
27

win7-printing-sandbox

a Windows 7 VM for use as a printing sandbox
Shell
1
star
28

go-bootstrap

Generate bootstrap files for GOLANG
Shell
1
star
29

captains-logbook

My personal Log Books for all of my ships and machines
1
star
30

weave-syncthing

POC for using Syncthing with a Weave enabled relay network
Python
1
star
31

ansible-windows

Testing Ansible for provisioning of Windows servers
PowerShell
1
star
32

mac-osx-box

How-To for creating an OSX box the Vagrant way
Shell
1
star
33

website-perlan

Building a website step by step
CSS
1
star
34

win2012-box

Windows 2012R2 box for testing purposes
PowerShell
1
star
35

win-etcd-cluster

Using etcd on Windows
Shell
1
star
36

docker-aerospike-amc

Run AeroSpike AMC inside of Docker
Shell
1
star
37

docker-remarkjs

Using Remark.js with Docker for Slides
HTML
1
star