summaryrefslogtreecommitdiff
path: root/examples/build_gold_image/build_centos7.sh
blob: f70a9e5b2880f0452beb49a45cb6885f6d82eceb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#!/bin/sh

# Centos 7

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=rhel7-${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.centos.org/centos/7.2.1511/os/${PACKAGE_ARCH}/Packages/centos-release-7-2.1511.el7.centos.2.10.${ARCH}.rpm

rpm -v -i --root=`pwd`/$CHROOT_DIR --nodeps centos-release-7-2.1511.el7.centos.2.10.${ARCH}.rpm

rm -f centos-release-7-2.1511.el7.centos.2.10.${ARCH}.rpm

wget http://mirror.centos.org/centos/7.2.1511/os/${PACKAGE_ARCH}/RPM-GPG-KEY-CentOS-7

rpm -v --root=`pwd`/$CHROOT_DIR --import RPM-GPG-KEY-CentOS-7

rm RPM-GPG-KEY-CentOS-7

${ARCH_SWITCH} yum --installroot=`pwd`/$CHROOT_DIR install -y yum
${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

mknod -m 666 $CHROOT_DIR/dev/null c 1 3
mknod -m 666 $CHROOT_DIR/dev/zero c 1 5
mknod -m 666 $CHROOT_DIR/dev/random c 1 8
mknod -m 666 $CHROOT_DIR/dev/urandom c 1 9
mknod -m 666 $CHROOT_DIR/dev/tty c 5 0

cp /etc/resolv.conf $CHROOT_DIR/etc/

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='[centos7:\u@\h \W]\$ '
EOF

# development stuff

wget http://mirror.switch.ch/ftp/mirror/epel/7/${PACKAGE_ARCH}/e/epel-release-7-8.noarch.rpm

rpm -v -i --root=`pwd`/$CHROOT_DIR --nodeps epel-release-7-8.noarch.rpm 

rm epel-release-6-8.noarch.rpm

wget http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7

rpm -v --root=`pwd`/$CHROOT_DIR --import RPM-GPG-KEY-EPEL-7

rm -f RPM-GPG-KEY-EPEL-7

${ARCH_SWITCH} yum --installroot=`pwd`/$CHROOT_DIR install -y make gcc gcc-c++ rpm-build tar ccache distcc