Commit Graph

6943 Commits

Author SHA1 Message Date
Rolf Neugebauer
c15f320ff6 tools: Add mkimage-rpi3 to build images for raspberry Pi 3
The package contains u-boot and the RPi firmware blobs. It expects
a tar ball of the root filesystem (including kernel and dtbs) on stdin
and produces a compressed tar ball on stdout with the files to copy to
a FAT32 formatted SD card.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-19 09:20:21 +02:00
Rolf Neugebauer
847ae9d220 kernel: Add dtbs files to kernel.tar under /boot/dtb
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-19 09:20:21 +02:00
Rolf Neugebauer
ef67a145d9 kernel: Add minimal kernel config for the Raspberry Pi 3b
- Enable ARCH_BCM2835
- Enable USB_NET_SMSC95XX.
- Compile in MII and USB_USBNET. These are needed
  by the onboard network driver
- Enable the DWC2 USB controller.
- Enabled MMC, MMC_SDHCI, MMC_BCM2835 for SD card access
- Enable various BCM2835 platform devices: HW_RANDOM_BCM2835,
  I2C_BCM2835, PINCTRL_BCM2835, DMA_BCM2835,BCM2835_MBOX,
  WM_BCM2835, ...
- Enable SERIAL_8250 and friends.
- Enable FB_SIMPLE to get console output

The above configuration gives a minimal working system
with serial console access (via the GPIO pins), networking
and SD storage. The smsc95xx network driver does not
seem to get autoloaded. This is likely a mdev issue.

We specifically do not configure any WLAN,
sound or graphics drivers as they would pull in
too many other cruft into the kernel. To enable
these we consider adding a -rpi3 config similar
to the -dbg config to provide additional kernel
config options.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-19 09:20:21 +02:00
Rolf Neugebauer
5cc4f00cf0 Merge pull request #2624 from yankcrime/openstack_metadata_fix
Fix broken AWS / OpenStack metadata, add example config for latter
2017-10-19 09:11:12 +02:00
Nick Jones
490ac8a8f3
[OpenStack] Add example configuration
Signed-off-by: Nick Jones <nick@dischord.org>
2017-10-18 22:57:33 +01:00
Nick Jones
5663112822
Fix typo which broke metadata retrieval
Signed-off-by: Nick Jones <nick@dischord.org>
2017-10-18 22:47:03 +01:00
Daniel Nephin
60ef22ef60 Fix GCP error printing
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2017-10-18 13:46:04 -04:00
Sotiris Salloumis
5d54dcc6fc Update README.md 2017-10-18 15:12:42 +02:00
Justin Cormack
bf05569790 Merge pull request #2617 from deitch/fix-compose-example
Move mounted file from /var/html to /etc/html
2017-10-18 13:16:29 +02:00
Rolf Neugebauer
bc1fdd2b79 Merge pull request #2615 from zx2c4/wireguard-bump
wireguard: update to 0.0.20171017
2017-10-18 10:14:10 +02:00
Avi Deitcher
da42ced2db Move mounted file from /var/html to /etc/html
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2017-10-18 10:58:38 +03:00
Daniel Nephin
ec741857ef Remove unnecessary vendor.
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2017-10-17 17:32:05 -04:00
Daniel Nephin
a224547540 Fix lint errors
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2017-10-17 17:30:47 -04:00
Daniel Nephin
e009b670f3 Improve makefile and circleci config
Use gometalinter for linting
put build artifact in dist/
store artifacts in circleci

Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2017-10-17 17:30:44 -04:00
Jason A. Donenfeld
5db1bbeef6 wireguard: update to 0.0.20171017
Simple version bump. Changes:

  * noise: handshake constants can be read-only after init
  * noise: no need to take the RCU lock if we're not dereferencing
  * send: improve dead packet control flow
  * receive: improve control flow
  * socket: eliminate dead code
  * device: our use of queues means this check is worthless
  * device: no need to take lock for integer comparison
  * blake2s: modernize API and have faster _final
  * compat: support READ_ONCE
  * compat: just make ro_after_init read_mostly

  Assorted cleanups to the module, including nice things like marking our
  precomputations as const.

  * Makefile: even prettier output
  * Makefile: do not clean before cloc
  * selftest: better test index for rate limiter
  * netns: disable accept_dad for all interfaces

  Fixes in our testing and build infrastructure. Now works on the 4.14 rc
  series.

  * qemu: add build-only target
  * qemu: work on ubuntu toolchain
  * qemu: add more debugging options to main makefile
  * qemu: simplify shutdown
  * qemu: open /dev/console if we're started early
  * qemu: phase out bitbanging
  * qemu: always create directory before untarring
  * qemu: newer packages
  * qemu: put hvc directive into configuration

  This is the beginning of working out a cross building test suite, so we do
  several tricks to be less platform independent.

  * tools: encoding: be more paranoid
  * tools: retry resolution except when fatal
  * tools: don't insist on having a private key
  * tools: add pass example to wg-quick man page
  * tools: style
  * tools: newline after warning
  * tools: account for padding being in zero attribute

  Several important tools fixes, one of which suppresses a needless warning.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-10-17 22:18:45 +02:00
Justin Cormack
b23d883ca5 Merge pull request #167 from rn/fix
Fix mkimage-iso-bios hash
2017-10-16 13:59:10 +02:00
Rolf Neugebauer
67ce80d213 Fix mkimage-iso-bios hash
Looks like a6b89f1137 ("Update linuxkit/mkimage-*") updated to a
non-existing tag.

linuxkit pkg show-tag tools/mkimage-iso-bios
linuxkit/mkimage-iso-bios:165b051322578cb0c2a4f16253b20f7d2797a502

and docker pull of that image works.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-16 12:52:02 +02:00
ebriand
0754e4d662 Add back init image processing logging
Signed-off-by: ebriand <eric.briand@gmail.com>
2017-10-16 11:00:19 +02:00
Justin Cormack
db27618f11 Merge pull request #2611 from ijc/linuxkit-pkg-later-prompting
linuxkit pkg: defer content trust passphrase setup until we know it i…
2017-10-14 08:35:57 +01:00
Justin Cormack
2fea21c0d7 Merge pull request #166 from rn/rpi3
output: Add support for creating Raspberry Pi images
2017-10-14 08:33:13 +01:00
Rolf Neugebauer
c1da07b3a8 output: Add support for creating Raspberry Pi images
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-13 18:02:17 +01:00
Rolf Neugebauer
3718bd3da7 Merge pull request #2610 from rn/dtc
tools: Add dtc to alpine base
2017-10-13 17:07:52 +01:00
Justin Cormack
17865a1c3e Merge pull request #160 from nuald/docs
Updated the documentation regarding binds options.
2017-10-13 16:31:39 +01:00
Justin Cormack
f75e4f8291 Merge pull request #164 from ijc/update-mkimage-plus-no-docker-network
Update mkimage plus no docker network
2017-10-13 16:28:22 +01:00
Ian Campbell
fc31e3bddd linuxkit pkg: defer content trust passphrase setup until we know it is needed
Otherwise "linuxkit pkg build" etc will needlessly run the command (which might
prompt the user).

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-13 15:56:27 +01:00
Ian Campbell
6aaf0328b9 Add .travis.yml
Initially just building the linuxkit tool itself on linux, darwin and windows
with Go 1.9 and master.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-13 15:19:27 +01:00
Rolf Neugebauer
deb1b2980b tools: Add dtc to alpine base
The device tree compiler is needed for some of the ongoing
arm64 work

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-13 14:18:33 +00:00
Ian Campbell
4ce0e91035 local-check: fail build if gofmt detects differences
It seems to exit code 0 in all cases.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-13 14:32:20 +01:00
Rolf Neugebauer
4de1b1444a Merge pull request #2608 from ijc/linuxkit-pkg-config
linuxkit: allow user to configure a content trust passphrase command
2017-10-13 13:38:58 +01:00
Ian Campbell
dfd72db820 Merge pull request #2607 from ijc/content-trust
enable content trust for a bunch more repos
2017-10-13 13:03:46 +01:00
Ian Campbell
dd8e3d49e8 linuxkit: allow user to configure a content trust passphrase command
Could be e.g.:
```
pkg:
  content-trust-passphrase-command: "lpass show <key> --password"
```
or
```
pkg:
  content-trust-passphrase-command: "gpg -d ~/.notary/passphrase.gpg"
```

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-13 11:41:22 +01:00
Ian Campbell
52de62206d Ensure moby is rebuilt if deps change.
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-13 10:59:55 +01:00
Ian Campbell
a6b89f1137 Update linuxkit/mkimage-*
These versions were created by https://github.com/linuxkit/linuxkit/pull/2607
which enables content trust, so drop the sha256 from all of them and ensure
DOCKER_CONTENT_TRUST is unconditionally set when running, since these
references are hardcoded we know they must be signed.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-13 10:56:21 +01:00
Ian Campbell
5380c7a18d update-component-sha: Accept easier to cut-n-paste --image arguments.
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-13 10:46:57 +01:00
Ian Campbell
8825ca2e66 Disable network in dockerRun
AFAICT none of the callers (which all involve one of `linuxkit/mkimage-*`) have
any reason to hit the network.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-13 10:42:40 +01:00
Ian Campbell
a87a07c8e9 tools: enable content trust for mkimage-*
A few of these already had content-trust, enable for the remaineder.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-13 10:21:17 +01:00
Ian Campbell
d606c88e80 Bump linuxkit/test-ltp hash
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-13 10:15:57 +01:00
Ian Campbell
28583eb747 Reenable content-trust for linuxkit/test-ltp
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-13 10:10:34 +01:00
Justin Cormack
d3549b78f5 Merge pull request #2604 from ijc/go1.9
Update to go 1.9
2017-10-12 20:10:01 +01:00
Ian Campbell
5e6a78821b Update yaml and reenable linuxkit.packages.containerd test
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 17:29:19 +01:00
Ian Campbell
9facf7b585 ip: Update to newest alpine.
Rebuild to pickup newer go also picked up newer wireguard-tools,
0.0.20171005-r0 → 0.0.20171011-r0.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 16:51:37 +01:00
Ian Campbell
29fc12607f Update various other go base pkgs to newer alpine (go1.9)
These are those which set $GOPATH but don't use go-compile.sh.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 16:50:47 +01:00
Ian Campbell
a9b03c3f95 Update all users of go-compile.sh to new alpine (go1.9)
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 16:47:35 +01:00
Ian Campbell
aba82533a0 Update go system components to new alpine (go1.9)
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 16:45:01 +01:00
Ian Campbell
6a51e5f937 Update references to linuxkit/go-compile to latest.
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 16:41:57 +01:00
Justin Cormack
e90337bd44 Merge pull request #2602 from justincormack/wg-kernel
Fix kernel version in Wireguard example
2017-10-12 16:40:16 +01:00
Ian Campbell
02bd90393f go-compile: Bump to new alpine (with go1.9)
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 16:36:18 +01:00
Ian Campbell
6ee21a37c6 alpine: Pull in go (1.9) from Edge
This is a requirement of containerd.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 15:32:15 +00:00
Ian Campbell
1d030172bf Merge pull request #2600 from ijc/containerd-v1.0.0-beta.2
Bump to containerd v1.0.0-beta.2
2017-10-12 16:19:01 +01:00
Ian Campbell
50ebd2709c Merge pull request #2601 from ijc/kubernetes
kubernetes: Mount /etc/os-release into docker cotainer too
2017-10-12 15:47:36 +01:00