mirror of
https://github.com/jessfraz/dockerfiles.git
synced 2024-11-23 11:31:49 +01:00
update kernel builder
Signed-off-by: Jess Frazelle <jess@mesosphere.com>
This commit is contained in:
parent
d5dbee9c86
commit
1faa831e49
|
@ -39,6 +39,7 @@ linux_next(){
|
||||||
|
|
||||||
install_kernel(){
|
install_kernel(){
|
||||||
local VERSION=$1
|
local VERSION=$1
|
||||||
|
local OPT=$2
|
||||||
|
|
||||||
if [[ -z $VERSION ]]; then
|
if [[ -z $VERSION ]]; then
|
||||||
echo "Please specify a kernel version."
|
echo "Please specify a kernel version."
|
||||||
|
@ -61,13 +62,16 @@ install_kernel(){
|
||||||
[ -d /usr/src/linux-${VERSION} ] || curl -sSL https://cdn.kernel.org/pub/linux/kernel/v${MAJOR_VERSION}.x/linux-${VERSION}.tar.xz | tar -v -C /usr/src -xJ
|
[ -d /usr/src/linux-${VERSION} ] || curl -sSL https://cdn.kernel.org/pub/linux/kernel/v${MAJOR_VERSION}.x/linux-${VERSION}.tar.xz | tar -v -C /usr/src -xJ
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ "$OPT" == "aufs" ]]; then
|
||||||
# get the aufs standalone source
|
# get the aufs standalone source
|
||||||
aufsdir=/tmp/aufs4-standalone
|
aufsdir=/tmp/aufs4-standalone
|
||||||
if [[ -d $aufsdir ]]; then
|
if [[ -d $aufsdir ]]; then
|
||||||
rm -rf $aufsdir
|
rm -rf $aufsdir
|
||||||
fi
|
fi
|
||||||
git clone -b aufs${MAJOR_MINOR_VERSION} --single-branch --depth 1 https://github.com/sfjro/aufs4-standalone.git $aufsdir
|
git clone -b aufs${MAJOR_MINOR_VERSION} --single-branch --depth 1 https://github.com/sfjro/aufs4-standalone.git $aufsdir
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$OPT" == "grsec" ]]; then
|
||||||
# get the grsec patches
|
# get the grsec patches
|
||||||
grsecdir=/tmp/grsec
|
grsecdir=/tmp/grsec
|
||||||
if [[ -d $grsecdir ]]; then
|
if [[ -d $grsecdir ]]; then
|
||||||
|
@ -80,28 +84,39 @@ install_kernel(){
|
||||||
gpg --keyserver pgp.mit.edu --recv-keys "DE94 52CE 46F4 2094 907F 108B 44D1 C0F8 2525 FE49"
|
gpg --keyserver pgp.mit.edu --recv-keys "DE94 52CE 46F4 2094 907F 108B 44D1 C0F8 2525 FE49"
|
||||||
# verify the patch
|
# verify the patch
|
||||||
gpg --verify $grsecdir/grsecurity.patch.sig
|
gpg --verify $grsecdir/grsecurity.patch.sig
|
||||||
|
fi
|
||||||
|
|
||||||
# apply the patches and compile the kernel
|
# apply the patches and compile the kernel
|
||||||
cd /usr/src/linux-${VERSION}
|
cd /usr/src/linux-${VERSION}
|
||||||
|
|
||||||
# apply the aufs patches
|
# apply the patches
|
||||||
|
if [[ "$OPT" == "grsec" ]]; then
|
||||||
patch -p1 < $grsecdir/grsecurity.patch || true
|
patch -p1 < $grsecdir/grsecurity.patch || true
|
||||||
|
fi
|
||||||
|
if [[ "$OPT" == "aufs" ]]; then
|
||||||
git apply $aufsdir/aufs4-kbuild.patch
|
git apply $aufsdir/aufs4-kbuild.patch
|
||||||
git apply $aufsdir/aufs4-base.patch
|
git apply $aufsdir/aufs4-base.patch
|
||||||
git apply $aufsdir/aufs4-mmap.patch
|
git apply $aufsdir/aufs4-mmap.patch
|
||||||
cp -r $aufsdir/{Documentation,fs} .
|
cp -r $aufsdir/{Documentation,fs} .
|
||||||
cp $aufsdir/include/uapi/linux/aufs_type.h include/uapi/linux/
|
cp $aufsdir/include/uapi/linux/aufs_type.h include/uapi/linux/
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$OPT" == "aufs" ]]; then
|
||||||
# remove aufs source
|
# remove aufs source
|
||||||
rm -rf $aufsdir
|
rm -rf $aufsdir
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$OPT" == "grsec" ]]; then
|
||||||
# remove grsecdir
|
# remove grsecdir
|
||||||
rm -rf $grsecdir
|
rm -rf $grsecdir
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ ! -f .config ]] && [[ -f ../config ]]; then
|
if [[ ! -f .config ]] && [[ -f ../config ]]; then
|
||||||
cp ../config .config
|
cp ../config .config
|
||||||
|
if [[ "$OPT" == "aufs" ]]; then
|
||||||
echo "CONFIG_AUFS_FS=y" >> .config
|
echo "CONFIG_AUFS_FS=y" >> .config
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
nice -19 make -j$JOBS KDEB_PKGVERSION=$PKGVERSION DISABLE_PAX_PLUGINS=y INSTALL_MOD_STRIP=1 deb-pkg
|
nice -19 make -j$JOBS KDEB_PKGVERSION=$PKGVERSION DISABLE_PAX_PLUGINS=y INSTALL_MOD_STRIP=1 deb-pkg
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user