summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--examples/build_gold_image/LINKS5
-rwxr-xr-xexamples/build_gold_image/build_fedora24.sh77
2 files changed, 82 insertions, 0 deletions
diff --git a/examples/build_gold_image/LINKS b/examples/build_gold_image/LINKS
new file mode 100644
index 0000000..e7972eb
--- /dev/null
+++ b/examples/build_gold_image/LINKS
@@ -0,0 +1,5 @@
+Other bootstraping scripts
+
+http://dozzie.jarowit.net/trac/wiki/yumbootstrap
+LXC templates
+http://unix.stackexchange.com/questions/267155/how-do-you-build-chroot-jails-with-dnf
diff --git a/examples/build_gold_image/build_fedora24.sh b/examples/build_gold_image/build_fedora24.sh
new file mode 100755
index 0000000..fe74ce1
--- /dev/null
+++ b/examples/build_gold_image/build_fedora24.sh
@@ -0,0 +1,77 @@
+#!/bin/sh
+
+# Fedora 24
+
+export PATH=/bin:/sbin:/usr/bin:/usr/sbin:${PATH}
+
+ARCH=$1
+
+if test "x$ARCH" = "x"; then
+ echo "One argument expected (architecture)" 1>&2
+ exit 1
+fi
+
+case $ARCH in
+ i686)
+ PACKAGE_ARCH=i386
+ ARCH_SWITCH=linux32
+ ;;
+
+ x86_64)
+ PACKAGE_ARCH=x86_64
+ ARCH_SWITCH=
+ ;;
+
+ *)
+ echo "Unsupported architecture '$ARCH'" 1>&2
+ exit 1
+esac
+
+CHROOT_DIR=fed24-${ARCH}
+
+rm -rf $CHROOT_DIR
+
+mkdir $CHROOT_DIR
+
+mkdir -p $CHROOT_DIR/var/lib/rpm
+
+rpm -v --rebuilddb --root=`pwd`/$CHROOT_DIR
+
+wget http://mirror.switch.ch/ftp/mirror/fedora/linux/releases/24/Server/${PACKAGE_ARCH}/os/Packages/f/fedora-release-24-1.noarch.rpm
+wget http://mirror.switch.ch/ftp/mirror/fedora/linux/releases/24/Server/${PACKAGE_ARCH}/os/Packages/f/fedora-repos-24-1.noarch.rpm
+
+rpm -v -i --root=`pwd`/$CHROOT_DIR --nodeps fedora-release-24-1.noarch.rpm fedora-repos-24-1.noarch.rpm
+
+rm -f fedora-release-24-1.noarch.rpm
+rm -f fedora-repos-24-1.noarch.rpm
+
+wget -O RPM_PGP-KEY-Fedora-24 https://getfedora.org/static/81B46521.txt
+
+rpm -v --root=`pwd`/$CHROOT_DIR --import RPM_PGP-KEY-Fedora-24
+
+rm RPM_PGP-KEY-Fedora-24
+
+${ARCH_SWITCH} yum --installroot=`pwd`/$CHROOT_DIR install -y yum
+${ARCH_SWITCH} yum --installroot=`pwd`/$CHROOT_DIR install -y dnf
+
+${ARCH_SWITCH} yum --installroot=`pwd`/$CHROOT_DIR install -y coreutils procps net-tools wget
+
+# rebuild the RPM database with the rpm inside the chroot
+${ARCH_SWITCH} chroot $CHROOT_DIR /bin/rpm -v --rebuilddb
+
+cp /etc/resolv.conf $CHROOT_DIR/etc/
+
+${ARCH_SWITCH} chroot ${CHROOT_DIR} dnf -y update
+
+cp $CHROOT_DIR/etc/skel/.bashrc $CHROOT_DIR/root
+cp $CHROOT_DIR/etc/skel/.bash_profile $CHROOT_DIR/root
+cp $CHROOT_DIR/etc/skel/.bash_logout $CHROOT_DIR/root
+
+cat >> $CHROOT_DIR/root/.bash_profile <<EOF
+export PATH=\$PATH:/usr/sbin:/usr/bin:/sbin:/bin
+export PS1='[fedora24:\u@\h \W]\$ '
+EOF
+
+# development stuff
+
+${ARCH_SWITCH} chroot ${CHROOT_DIR} dnf install -y make gcc gcc-c++ rpm-build tar ccache distcc