From 0e216f25488c06c4ad4f2a86c32bb8a736604cff Mon Sep 17 00:00:00 2001 From: gdm85 Date: Tue, 10 Jun 2014 12:25:20 +0200 Subject: [PATCH] * added Ubuntu Archive reference keyring * added script to debootstrap Ubuntu Trusty * added Dockerfile for Ubuntu Trusty kernel builder --- docker/keyrings/ubuntu-archive-keyring.gpg | Bin 0 -> 12335 bytes docker/scripts/build-trusty.sh | 68 +++++++++++++++++++++ docker/trusty-kbuilder/Dockerfile | 48 +++++++++++++++ docker/trusty-kbuilder/build-kernel.sh | 16 +++++ docker/trusty-kbuilder/sources.list | 11 ++++ 5 files changed, 143 insertions(+) create mode 100644 docker/keyrings/ubuntu-archive-keyring.gpg create mode 100755 docker/scripts/build-trusty.sh create mode 100644 docker/trusty-kbuilder/Dockerfile create mode 100755 docker/trusty-kbuilder/build-kernel.sh create mode 100644 docker/trusty-kbuilder/sources.list diff --git a/docker/keyrings/ubuntu-archive-keyring.gpg b/docker/keyrings/ubuntu-archive-keyring.gpg new file mode 100644 index 0000000000000000000000000000000000000000..b18548d05852ea37cd60e1d6a015c36eafc9a271 GIT binary patch literal 12335 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 UnOq+SNSh5L9s@*gi4TeVAAw^TU;qFB literal 0 HcmV?d00001 diff --git a/docker/scripts/build-trusty.sh b/docker/scripts/build-trusty.sh new file mode 100755 index 0000000..b9be3ba --- /dev/null +++ b/docker/scripts/build-trusty.sh @@ -0,0 +1,68 @@ +#!/bin/bash +## @author gdm85 +## +## build a base Ubuntu Trusty +# + +BASENAME=$(dirname $(readlink -m $0)) + +## the distro we are going to use +## the distro we are going to use +DISTNAME=trusty +REPOSRC=http://archive.ubuntu.com/ubuntu/ + +if [ ! $UID -eq 0 ]; then + echo "This script can only be run as root" 1>&2 + exit 1 +fi + +## check for prerequisites +if ! type -P debootstrap >/dev/null; then + echo "You need to install debootstrap" 1&2 + exit 2 +fi + +## check about the Ubuntu archive keyring +DEFK=/usr/share/keyrings/ubuntu-archive-keyring.gpg +KEYRING=$BASENAME/../keyrings/ubuntu-archive-keyring.gpg +if [ -s $DEFK ]; then + if ! diff $DEFK $KEYRING; then + ANSWER= + while [[ "$ANSWER" != "Y" && "$ANSWER" != "n" ]]; do + echo -n "The Ubuntu Archive keyring in your system ($DEFK) that will be used to debootstrap is different from the reference provided keyring. Continue? (Y/n) " + read -r ANSWER || exit $? + done + if [[ "$ANSWER" == "n" ]]; then + exit 1 + fi + ## use system's keyring, even if different than provided one + ## this is a no-issue only in case the system's keyring is more recent than the provided one + KEYRING=$DEFK + fi +else + ANSWER= + while [[ "$ANSWER" != "Y" && "$ANSWER" != "n" ]]; do + echo -n "Your system comes with no Ubuntu Archive keyring in $DEFK that is necessary for debootstrap. Use reference provided keyring? (Y/n) " + read -r ANSWER || exit $? + done + if [[ "$ANSWER" == "n" ]]; then + exit 1 + fi +fi + +echo "Will use $KEYRING" +exit 0 + +## NOTE: a temporary directory under /tmp is not used because can't be mounted dev/exec +mkdir $DISTNAME || exit $? +TMPDIR=$PWD/$DISTNAME + +debootstrap --keyring=$KEYRING $DISTNAME $DISTNAME $REPOSRC && \ +cd $DISTNAME && \ +tar -c . | docker import - gdm85/$DISTNAME +RV=$? + +# always perform cleanup +rm -rf $TMPDIR + +exit $RV diff --git a/docker/trusty-kbuilder/Dockerfile b/docker/trusty-kbuilder/Dockerfile new file mode 100644 index 0000000..05d1693 --- /dev/null +++ b/docker/trusty-kbuilder/Dockerfile @@ -0,0 +1,48 @@ +## trusty-kbuilder +## +## VERSION 0.1.0 +## +## Trusty image to build kernel +## +# + +## NOTE: this image must be debootstrapped with build-trusty.sh +FROM gdm85/trusty + +MAINTAINER Giuseppe Mazzotta "gdm85@users.noreply.github.com" + +ENV DEBIAN_FRONTEND noninteractive + +## replace sources +ADD sources.list /etc/apt/sources.list + +RUN apt-get update && apt-get install -y apt-utils aptitude && aptitude update && aptitude safe-upgrade -y && \ +aptitude install -y nano tmux fakeroot build-essential crash kexec-tools makedumpfile kernel-wedge openssh-server + +## log rotation is managed outside, thus remove it +## install necessary daemons +RUN apt-get remove -y logrotate + +## set current user's id_rsa as only allowed key +ADD authorized_keys /root/.ssh/authorized_keys +RUN chmod -R go-rwx /root/.ssh + +## disable password logins & reverse DNS lookups +RUN sed -i 's/^#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config && echo 'UseDNS no' >> /etc/ssh/sshd_config + +EXPOSE 22 + +##NOTE: this will use current kernel version! +RUN apt-get build-dep -y --no-install-recommends linux-image-$(uname -r) +RUN apt-get install -y git-core libncurses5 libncurses5-dev libelf-dev asciidoc binutils-dev + +## user that will make the compilation +RUN useradd -m -s /bin/bash rdeckard + +## add script for getting source +ADD build-kernel.sh /home/rdeckard/ +ADD patches/ /home/rdeckard/patches/ + +RUN chown -R rdeckard.rdeckard /home/rdeckard + +CMD /usr/sbin/sshd -D -e diff --git a/docker/trusty-kbuilder/build-kernel.sh b/docker/trusty-kbuilder/build-kernel.sh new file mode 100755 index 0000000..bcfe8ef --- /dev/null +++ b/docker/trusty-kbuilder/build-kernel.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +set -e + +apt-get source linux-image-$(uname -r) + +cd linux-3.13.0 + +## will fail here if no patches are available +## why are you recompiling kernel if no custom patches are there? +for MYP in $(ls ../patches); do + patch -p1 < ../patches/$MYP +done + +fakeroot debian/rules clean +DEB_BUILD_OPTIONS=parallel=3 AUTOBUILD=1 NOEXTRAS=1 fakeroot debian/rules binary-generic diff --git a/docker/trusty-kbuilder/sources.list b/docker/trusty-kbuilder/sources.list new file mode 100644 index 0000000..61276ee --- /dev/null +++ b/docker/trusty-kbuilder/sources.list @@ -0,0 +1,11 @@ +deb http://archive.ubuntu.com/ubuntu/ trusty main restricted +deb-src http://archive.ubuntu.com/ubuntu/ trusty main restricted +deb http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted +deb-src http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted + +deb http://security.ubuntu.com/ubuntu trusty-security main restricted +deb-src http://security.ubuntu.com/ubuntu trusty-security main restricted +deb http://security.ubuntu.com/ubuntu trusty-security universe +deb-src http://security.ubuntu.com/ubuntu trusty-security universe +deb http://security.ubuntu.com/ubuntu trusty-security multiverse +deb-src http://security.ubuntu.com/ubuntu trusty-security multiverse