Docker image containing GOLANG that is compatible to the Raspberry Pi.
make build
make version
- First, use a
docker login
with username, password and email address - Second, push Docker Image to the official Docker Hub
make push
Build SD card image for ODROID C2
Home Page: http://blog.hypriot.com/post/how-to-get-docker-working-on-your-favourite-arm-board-with-hypriotos/
License: MIT License
Docker image containing GOLANG that is compatible to the Raspberry Pi.
make build
make version
docker login
with username, password and email addressmake push
Tried a default install just following along with the guide. Ran it twice. Runs were separated by a reboot of the host. Got the same error both times.
make docker-machine vagrant up Bringing machine 'default' up with 'virtualbox' provider... ==> default: Checking if box 'boxcutter/ubuntu1404' is up to date... ==> default: Clearing any previously set forwarded ports... ==> default: Clearing any previously set network interfaces... ==> default: Preparing network interfaces based on configuration... default: Adapter 1: nat ==> default: Forwarding ports... default: 2376 (guest) => 2376 (host) (adapter 1) default: 22 (guest) => 2222 (host) (adapter 1) ==> default: Running 'pre-boot' VM customizations... ==> default: Booting VM... ==> default: Waiting for machine to boot. This may take a few minutes... default: SSH address: 127.0.0.1:2222 default: SSH username: vagrant default: SSH auth method: private key ==> default: Machine booted and ready! ==> default: Checking for guest additions in VM... ==> default: Mounting shared folders... default: /home/swamper/Desktop/image-builder-odroid-c2 => /home/swamper/Desktop/image-builder-odroid-c2 ==> default: Machine already provisioned. Run
vagrant provisionor use the
--provision ==> default: flag to force provisioning. Provisioners marked to run always will still run. docker-machine create -d generic \ --generic-ssh-user vagrant \ --generic-ssh-key "/home/swamper/Desktop/image-builder-odroid-c2/.vagrant/machines/default/virtualbox/private_key" \ --generic-ip-address 127.0.0.1 \ --generic-ssh-port 2222 \ image-builder-odroid-c2 Host already exists: "image-builder-odroid-c2" Makefile:25: recipe for target 'docker-machine' failed make: *** [docker-machine] Error 1
Anything else you might need just let me know. Host is Ubuntu 16.04 with docker, docker-compose, and docker-machine installed.
docker run --rm --privileged -v /home/shaleh/repos/docker/image-builder-odroid-c2:/workspace -v /boot:/boot -v /lib/modules:/lib/modules -e VERSION image-builder-odroid-c2
+ '[' '!' -f /.dockerenv ']'
+ BUILD_RESULT_PATH=/workspace
+ BUILD_PATH=/build
+ HYPRIOT_OS_VERSION=v0.7.2
+ ROOTFS_TAR=rootfs-arm64-v0.7.2.tar.gz
+ ROOTFS_TAR_PATH=/workspace/rootfs-arm64-v0.7.2.tar.gz
+ ROOT_PARTITION_SIZE=800M
+ HYPRIOT_IMAGE_VERSION=dirty
+ HYPRIOT_IMAGE_NAME=sd-card-odroid-c2-dirty.img
+ IMAGE_ROOTFS_PATH=/image-rootfs.tar.gz
+ QEMU_ARCH=aarch64
+ export HYPRIOT_IMAGE_VERSION
+ export DOCKER_ENGINE_VERSION=1.9.1-1
+ DOCKER_ENGINE_VERSION=1.9.1-1
+ export DOCKER_COMPOSE_VERSION=1.5.2-80
+ DOCKER_COMPOSE_VERSION=1.5.2-80
+ export DOCKER_MACHINE_VERSION=0.4.1-72
+ DOCKER_MACHINE_VERSION=0.4.1-72
+ rm -rf /build
+ mkdir -p /build
+ '[' '!' -f /workspace/rootfs-arm64-v0.7.2.tar.gz ']'
+ tar -xzf /workspace/rootfs-arm64-v0.7.2.tar.gz -C /build
make: *** [sd-image] Error 100
@umiddelb I've just created a first hopefully bootable SD card image and created a pre-release here https://github.com/hypriot/image-builder-odroid-c2/releases/tag/v0.0.3.
Please flash it to a SD card and test, if the C2 is able to load BL1 and BL2 bootloader stages and is able to start into U-Boot.
Greetings I'm trying to run the make docker-machine to build the sd-image and I get this error.
Host: Windows 10
VM: Ubuntu
serveradmin@ubuntu:~/image-builder-odroid-c2$ make docker-machine
vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'boxcutter/ubuntu1404' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 2376 => 2376 (adapter 1)
default: 22 => 2222 (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Connection timeout. Retrying...
default: Warning: Connection timeout. Retrying...
default: Warning: Connection timeout. Retrying...
default: Warning: Connection timeout. Retrying...
default: Warning: Connection timeout. Retrying...
default: Warning: Connection timeout. Retrying...
I did check on the referenced key server. Error 404 key not found. Even tried it on the pgp key server.
I am getting the following error when initramfs-tools
is being installed as part of make sd-image
.
update-initramfs: Generating /boot/initrd.img-3.14.29-56
Unsupported ioctl: cmd=0x5331
/etc/initramfs-tools/scripts/local-top/c2_init.sh: 14: /etc/initramfs-tools/scripts/local-top/c2_init.sh: cannot create /sys/class/display/mode: Directory nonexistent
/etc/initramfs-tools/scripts/local-top/c2_init.sh: 18: /etc/initramfs-tools/scripts/local-top/c2_init.sh: arithmetic expression: expecting primary: " * 2"
run-parts: executing /etc/kernel/postinst.d/uInitrd 3.14.29-56 /boot/vmlinuz-3.14.29-56
Setting up ucf (3.0030) ...
Setting up fbset (2.1-28) ...
Setting up kernel-common (13.014+nmu1) ...
Setting up fix20160327 (1-1) ...
update-initramfs: Generating /boot/initrd.img-4.2.0-27-generic
WARNING: missing /lib/modules/4.2.0-27-generic
Ensure all necessary drivers are built into the linux image!
depmod: ERROR: could not open directory /lib/modules/4.2.0-27-generic: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
Unsupported ioctl: cmd=0x5331
/etc/initramfs-tools/scripts/local-top/c2_init.sh: 14: /etc/initramfs-tools/scripts/local-top/c2_init.sh: cannot create /sys/class/display/mode: Directory nonexistent
/etc/initramfs-tools/scripts/local-top/c2_init.sh: 18: /etc/initramfs-tools/scripts/local-top/c2_init.sh: arithmetic expression: expecting primary: " * 2"
depmod: WARNING: could not open /var/tmp/mkinitramfs_gKFhNw/lib/modules/4.2.0-27-generic/modules.order: No such file or directory
depmod: WARNING: could not open /var/tmp/mkinitramfs_gKFhNw/lib/modules/4.2.0-27-generic/modules.builtin: No such file or directory
Image Name: uInitrd
Created: Thu May 5 08:35:49 2016
Image Type: AArch64 Linux RAMDisk Image (uncompressed)
Data Size: 2517376 Bytes = 2458.38 kB = 2.40 MB
Load Address: 00000000
Entry Point: 00000000
/bin/cp: cannot create regular file '/media/boot/uInitrd': No such file or directory
dpkg: error processing package fix20160327 (--configure):
subprocess installed post-installation script returned error exit status 1
Setting up u-boot (20160409-02bde9e-2) ...
/bin/dd: failed to open '': No such file or directory
/bin/dd: failed to open '': No such file or directory
/bin/dd: failed to open '': No such file or directory
dpkg: dependency problems prevent configuration of bootini:
bootini depends on fix20160327; however:
Package fix20160327 is not configured yet.
Package fix20160327 which provides fix20160327 is not configured yet.
dpkg: error processing package bootini (--configure):
dependency problems - leaving unconfigured
Setting up linux-image-c2 (56-1) ...
Errors were encountered while processing:
fix20160327
bootini
E: Sub-process /usr/bin/dpkg returned an error code (1)
Makefile:7: recipe for target 'sd-image' failed
make: *** [sd-image] Error 100
The U-boot loader hangs with a solid blue light, image created with:
flash -n minion9 https://github.com/hypriot/image-builder-odroid-c2/releases/download/v0.0.4/sd-card-odroid-c2-v0.0.4.img.zip
PR161, updated deb package wil be available in a couple of days
This is the same ticket as first opened for the Odroid C1. Please read the problems we are having in Swarm Cluster mode with Docker.
Ticket : hypriot/image-builder-odroid-c1#42
$ docker-compose -up -d
Traceback (most recent call last):
File "/usr/local/bin/docker-compose", line 7, in <module>
from compose.cli.main import main
File "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py", line 17, in <module>
from . import errors
File "/usr/local/lib/python2.7/dist-packages/compose/cli/errors.py", line 10, in <module>
from docker.errors import APIError
File "/usr/local/lib/python2.7/dist-packages/docker/__init__.py", line 2, in <module>
from .api import APIClient
File "/usr/local/lib/python2.7/dist-packages/docker/api/__init__.py", line 2, in <module>
from .client import APIClient
File "/usr/local/lib/python2.7/dist-packages/docker/api/client.py", line 8, in <module>
import six
ImportError: No module named six
In Travis build https://travis-ci.org/hypriot/image-builder-odroid-c2/builds/135669269
+ apt-get install -y linux-image-c2 bootini
Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
bootini : Depends: kodi but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
What? bootini depends ON kodi???
This is giving false alarm when using Docker version 1.11.0:
How's c2 working for ya?
In https://github.com/hypriot/image-builder-odroid-c2/blob/master/builder/boot.ini#L73-L83 we should configure to mount the SD card as EXT4 partition and loading the kernel files from this EXT4 partition.
We could configure it the same way like the C1. Details can be found here https://github.com/hypriot/image-builder-odroid-c1/blob/master/builder/boot.ini#L64-L67
Leads to plenty of issues. How is firstboot.d supposed to be triggered?
I got vagrant running. What username/password shall I use to login?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.