Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 1 addition & 26 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,33 +8,8 @@ all:
install:
cp ocitools /usr/local/bin/ocitools

rootfs.tar.gz: rootfs/bin/echo
tar -czf $@ -C rootfs .

rootfs/bin/busybox: downloads/stage3-amd64-current.tar.bz2 rootfs-files
gpg --verify $<.DIGESTS.asc
(cd downloads && \
grep -A1 '^# SHA512 HASH' stage3-amd64-current.tar.bz2.DIGESTS.asc | \
grep -v '^--' | \
sha512sum -c)
sudo rm -rf rootfs
sudo mkdir rootfs
sudo tar -xvf downloads/stage3-amd64-current.tar.bz2 -C rootfs \
--no-recursion --wildcards $$(< rootfs-files)
sudo touch $@

rootfs/bin/echo: rootfs/bin/busybox
sudo sh -c 'for COMMAND in $$($< --list); do \
ln -rs $< "rootfs/bin/$${COMMAND}"; \
done'

downloads/stage3-amd64-current.tar.bz2: get-stage3.sh
./$<
touch downloads/stage3-amd64-*.tar.bz2

clean:
rm -f ocitools runtimetest downloads/*
sudo rm -rf rootfs
rm -f ocitools runtimetest

.PHONY: test .gofmt .govet .golint

Expand Down
38 changes: 0 additions & 38 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,41 +68,3 @@ validating rlimits
validating sysctls
Runtime runc passed validation
```

Building `rootfs.tar.gz`
------------------------

The root filesystem tarball is based on [Gentoo][]'s [amd64
stage3][stage3-amd64] (which we check for a valid [GnuPG
signature][gentoo-signatures]), copying a [minimal
subset](rootfs-files) to the root filesytem, and adding symlinks for
all BusyBox commands. To rebuild the tarball based on a newer stage3,
just run:

```
$ touch get-stage3.sh
$ make rootfs.tar.gz
```

### Getting Gentoo's Release Engineering public key

If `make rootfs.tar.gz` gives an error like:

```
gpg --verify downloads/stage3-amd64-current.tar.bz2.DIGESTS.asc
gpg: Signature made Thu 14 Jan 2016 09:00:11 PM EST using RSA key ID 2D182910
gpg: Can't check signature: public key not found
```

you will need to [add the missing public key to your
keystore][gentoo-signatures]. One way to do that is by [asking a
keyserver][recv-keys]:

```
$ gpg --keyserver pool.sks-keyservers.net --recv-keys 2D182910
```

[Gentoo]: https://www.gentoo.org/
[stage3-amd64]: http://distfiles.gentoo.org/releases/amd64/autobuilds/
[gentoo-signatures]: https://www.gentoo.org/downloads/signatures/
[recv-keys]: https://www.gnupg.org/documentation/manuals/gnupg/Operational-GPG-Commands.html
3 changes: 3 additions & 0 deletions contrib/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# ocitools contrib

The `contrib` directory contains various scripts, programs, and other helpful things which are not part of the core ocitools.
27 changes: 27 additions & 0 deletions contrib/rootfs-builder/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
rootfs.tar.gz: rootfs/bin/echo
tar -czf $@ -C rootfs .

rootfs/bin/busybox: downloads/stage3-amd64-current.tar.bz2 rootfs-files
gpg --verify $<.DIGESTS.asc
(cd downloads && \
grep -A1 '^# SHA512 HASH' stage3-amd64-current.tar.bz2.DIGESTS.asc | \
grep -v '^--' | \
sha512sum -c)
sudo rm -rf rootfs
sudo mkdir rootfs
sudo tar -xvf downloads/stage3-amd64-current.tar.bz2 -C rootfs \
--no-recursion --wildcards $$(< rootfs-files)
sudo touch $@

rootfs/bin/echo: rootfs/bin/busybox
sudo sh -c 'for COMMAND in $$($< --list); do \
ln -rs $< "rootfs/bin/$${COMMAND}"; \
done'

downloads/stage3-amd64-current.tar.bz2: get-stage3.sh
./$<
touch downloads/stage3-amd64-*.tar.bz2

clean:
rm -f downloads/*
sudo rm -rf rootfs
37 changes: 37 additions & 0 deletions contrib/rootfs-builder/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
Building `rootfs.tar.gz`
------------------------

The root filesystem tarball is based on [Gentoo][]'s [amd64
stage3][stage3-amd64] (which we check for a valid [GnuPG
signature][gentoo-signatures]), copying a [minimal
subset](rootfs-files) to the root filesytem, and adding symlinks for
all BusyBox commands. To rebuild the tarball based on a newer stage3,
just run:

```
$ touch get-stage3.sh
$ make rootfs.tar.gz
```

### Getting Gentoo's Release Engineering public key

If `make rootfs.tar.gz` gives an error like:

```
gpg --verify downloads/stage3-amd64-current.tar.bz2.DIGESTS.asc
gpg: Signature made Thu 14 Jan 2016 09:00:11 PM EST using RSA key ID 2D182910
gpg: Can't check signature: public key not found
```

you will need to [add the missing public key to your
keystore][gentoo-signatures]. One way to do that is by [asking a
keyserver][recv-keys]:

```
$ gpg --keyserver pool.sks-keyservers.net --recv-keys 2D182910
```

[Gentoo]: https://www.gentoo.org/
[stage3-amd64]: http://distfiles.gentoo.org/releases/amd64/autobuilds/
[gentoo-signatures]: https://www.gentoo.org/downloads/signatures/
[recv-keys]: https://www.gnupg.org/documentation/manuals/gnupg/Operational-GPG-Commands.html
File renamed without changes.
File renamed without changes.
File renamed without changes.