2016-10-23 14:10:48 +02:00
|
|
|
# Description: uzun donem kararli kernel surumu
|
2016-02-24 01:27:23 +01:00
|
|
|
# URL: http://www.kernel.org
|
2016-04-12 05:32:27 +02:00
|
|
|
# Packagers: milisarge
|
2016-02-24 01:27:23 +01:00
|
|
|
|
|
|
|
name=kernel-lts
|
2016-10-23 14:10:48 +02:00
|
|
|
alias=(linux-lts)
|
|
|
|
|
|
|
|
version=4.4.27
|
|
|
|
_version=${version:0:3}
|
|
|
|
|
2016-02-24 01:27:23 +01:00
|
|
|
release=1
|
|
|
|
|
2016-10-23 14:10:48 +02:00
|
|
|
# Virtualbox
|
|
|
|
vb_version=5.1.6
|
|
|
|
buildrelease=110634
|
|
|
|
[ "`uname -m`" == "i686" ] && _VBARCH=x86
|
|
|
|
[ "`uname -m`" == "x86_64" ] && _VBARCH=amd64
|
|
|
|
|
|
|
|
# nvidia
|
|
|
|
nv_version=361.42
|
|
|
|
[ "$PKGMK_ARCH" == "i686" ] && _NVARCH=x86
|
|
|
|
[ "$PKGMK_ARCH" == "x86_64" ] && _NVARCH=x86_64
|
|
|
|
|
|
|
|
|
|
|
|
# Broadcom
|
|
|
|
wl_version=6.30.223.271
|
|
|
|
[ "`uname -m`" == "x86_64" ] && _wlarch=_64
|
|
|
|
|
|
|
|
## Download all the sources
|
|
|
|
#
|
|
|
|
|
|
|
|
source=(\
|
|
|
|
http://www.kernel.org/pub/linux/kernel/v4.x/linux-${_version}.tar.xz
|
|
|
|
https://www.kernel.org/pub/linux/kernel/v4.x/patch-$version.xz
|
|
|
|
http://download.virtualbox.org/virtualbox/${vb_version}/VirtualBox-${vb_version}-${buildrelease}-Linux_${_VBARCH}.run
|
|
|
|
http://download.nvidia.com/XFree86/Linux-${_NVARCH}/${nv_version}/NVIDIA-Linux-${_NVARCH}-${nv_version}.run
|
|
|
|
http://www.broadcom.com/docs/linux_sta/hybrid-v35${_wlarch}-nodebug-pcoem-${wl_version//./_}.tar.gz
|
|
|
|
broadcom-wl.modprobe.d broadcom-wl.license.patch wl_linux.c.patch
|
|
|
|
aufs4-loopback.patch
|
|
|
|
aufs4-base.patch
|
|
|
|
aufs4-mmap.patch
|
|
|
|
aufs4-standalone.patch
|
|
|
|
aufs4-kbuild.patch
|
|
|
|
aufs4.4-20160912.patch
|
|
|
|
lockdep-debug.patch
|
|
|
|
tmpfs-idr.patch
|
|
|
|
vfs-ino.patch
|
|
|
|
$name.config $name.config_64)
|
|
|
|
|
|
|
|
## Time to build everything
|
|
|
|
#
|
2016-02-24 01:27:23 +01:00
|
|
|
|
|
|
|
build(){
|
|
|
|
|
2016-10-23 14:10:48 +02:00
|
|
|
#bsdtar -p -o -C $SRC -xf linux-${_version}.tar.xz
|
2016-02-24 01:27:23 +01:00
|
|
|
|
|
|
|
cd linux-${_version}
|
|
|
|
|
2016-10-23 14:10:48 +02:00
|
|
|
cp -r $DERLEME_KAYNAKDIZIN/aufs $SRC/fs/
|
|
|
|
|
2016-02-24 01:27:23 +01:00
|
|
|
if [ -f $SRC/patch-$version.xz ]; then
|
|
|
|
xz -d -c $SRC/patch-$version.xz | patch -Np1
|
|
|
|
fi
|
|
|
|
|
2016-10-23 14:10:48 +02:00
|
|
|
#aufs patches for Live:
|
|
|
|
patch -p1 -i "${SRC}/aufs4.4-20160912.patch"
|
|
|
|
patch -p1 -i "${SRC}/aufs4-base.patch"
|
|
|
|
patch -p1 -i "${SRC}/aufs4-kbuild.patch"
|
|
|
|
patch -p1 -i "${SRC}/aufs4-loopback.patch"
|
|
|
|
patch -p1 -i "${SRC}/aufs4-mmap.patch"
|
|
|
|
patch -p1 -i "${SRC}/aufs4-standalone.patch"
|
|
|
|
patch -p1 -i "${SRC}/lockdep-debug.patch"
|
|
|
|
patch -p1 -i "${SRC}/tmpfs-idr.patch"
|
|
|
|
patch -p1 -i "${SRC}/vfs-ino.patch"
|
|
|
|
|
2016-02-24 01:27:23 +01:00
|
|
|
make mrproper
|
|
|
|
case `uname -m` in
|
|
|
|
x86_64)
|
2016-10-23 14:10:48 +02:00
|
|
|
cp $SRC/kernel-lts.config_64 ./.config;;
|
2016-02-24 01:27:23 +01:00
|
|
|
i?86)
|
2016-10-23 14:10:48 +02:00
|
|
|
cp $SRC/kernel-lts.config ./.config;
|
2016-02-24 01:27:23 +01:00
|
|
|
esac
|
|
|
|
|
2016-10-23 14:10:48 +02:00
|
|
|
make
|
2016-02-24 01:27:23 +01:00
|
|
|
|
|
|
|
case `uname -m` in
|
|
|
|
x86_64)
|
|
|
|
cp .config $SRC/$name.config_64;;
|
|
|
|
i?86)
|
|
|
|
cp .config $SRC/$name.config;;
|
|
|
|
esac
|
|
|
|
|
2016-10-23 14:10:48 +02:00
|
|
|
## Modules
|
|
|
|
#
|
|
|
|
# Kernel modules
|
|
|
|
cd $SRC/linux-${_version}
|
|
|
|
make INSTALL_MOD_PATH=$PKG modules_install
|
|
|
|
|
|
|
|
KERNEL_VERSION="${version}-milis-lts"
|
|
|
|
|
|
|
|
# Module broadcom is broken on 32 bits machine
|
|
|
|
if [ "$PKGMK_ARCH" == "x86_64" ]; then
|
|
|
|
cd $SRC
|
|
|
|
bsdtar xf $DERLEME_KAYNAKDIZIN/hybrid-v35${_wlarch}-nodebug-pcoem-${wl_version//./_}.tar.gz
|
|
|
|
patch -p1 -i broadcom-wl.license.patch
|
|
|
|
patch -p1 -i wl_linux.c.patch
|
|
|
|
|
|
|
|
sed -e "/BRCM_WLAN_IFNAME/s:eth:wlan:" \
|
|
|
|
-i src/wl/sys/wl_linux.c
|
|
|
|
BUILD_NOPEDANTIC=1 make -C $SRC/linux-${_version} M=`pwd`
|
|
|
|
install -m 0644 -D wl.ko $PKG/lib/modules/${KERNEL_VERSION}/kernel/drivers/zzzz/wl.ko
|
|
|
|
install -Dm644 broadcom-wl.modprobe.d $PKG/etc/modprobe.d/broadcom-wl.conf
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Module nvidia
|
|
|
|
cd $SRC
|
|
|
|
sh NVIDIA-Linux-${_NVARCH}-${nv_version}.run --extract-only
|
|
|
|
cd NVIDIA-Linux-${_NVARCH}-${nv_version}/kernel
|
|
|
|
SYSSRC=$SRC/linux-${_version} make module
|
|
|
|
for MODULE in nvidia.ko nvidia-modeset.ko
|
|
|
|
do
|
|
|
|
install -m 0644 -D $MODULE \
|
|
|
|
$PKG/lib/modules/${KERNEL_VERSION}/kernel/drivers/zzzz/$MODULE
|
|
|
|
done
|
|
|
|
if [ "${_ARCH}" == "x86_64" ]; then
|
|
|
|
install -m 0644 -D nvidia-uvm.ko \
|
|
|
|
$PKG/lib/modules/${KERNEL_VERSION}/kernel/drivers/zzzz/nvidia-uvm.ko
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Module virtualbox
|
|
|
|
cd $SRC
|
|
|
|
sh VirtualBox-${vb_version}-${buildrelease}-Linux_${_VBARCH}.run --target vb --keep --noexec
|
|
|
|
cd vb
|
|
|
|
tar xfj VirtualBox.tar.bz2
|
|
|
|
cd src/vboxhost/
|
|
|
|
KERNELRELEASE=${version}
|
|
|
|
KERN_DIR=$SRC/linux-${_version} make
|
|
|
|
|
|
|
|
for i in *.ko
|
|
|
|
do
|
|
|
|
install -D -m0644 $i \
|
|
|
|
$PKG/lib/modules/${KERNEL_VERSION}/kernel/drivers/zzzz/$i
|
|
|
|
done
|
|
|
|
|
|
|
|
# depmod needed
|
|
|
|
depmod -b $PKG -a ${KERNEL_VERSION}
|
|
|
|
|
|
|
|
# Install config and kernel files
|
2016-02-24 01:27:23 +01:00
|
|
|
cd $SRC/linux-${_version}
|
2016-10-23 14:10:48 +02:00
|
|
|
|
2016-02-24 01:27:23 +01:00
|
|
|
mkdir -p $PKG/boot
|
|
|
|
case `uname -m` in
|
|
|
|
x86_64)
|
|
|
|
cp System.map \
|
|
|
|
$PKG/boot/System_64.map-$version
|
|
|
|
cp .config \
|
|
|
|
$PKG/boot/config_64-$version
|
|
|
|
cp arch/x86_64/boot/bzImage \
|
2016-10-23 14:10:48 +02:00
|
|
|
$PKG/boot/kernel-$version ;;
|
2016-02-24 01:27:23 +01:00
|
|
|
i?86)
|
|
|
|
cp System.map \
|
|
|
|
$PKG/boot/System.map-$version
|
|
|
|
cp .config \
|
|
|
|
$PKG/boot/config-$version
|
|
|
|
cp arch/i386/boot/bzImage \
|
2016-10-23 14:10:48 +02:00
|
|
|
$PKG/boot/kernel-$version ;;
|
2016-02-24 01:27:23 +01:00
|
|
|
esac
|
|
|
|
|
2016-10-23 14:10:48 +02:00
|
|
|
# Reorgenise the sources
|
|
|
|
cd $PKG/lib/modules/${KERNEL_VERSION}/
|
2016-02-24 01:27:23 +01:00
|
|
|
|
|
|
|
rm {build,source}
|
|
|
|
|
|
|
|
mkdir $SRC/linux-${_version}
|
|
|
|
mv $PKG/usr/src/linux-${_version}/Documentation \
|
|
|
|
$SRC/linux-${_version}
|
|
|
|
|
|
|
|
# Firmware are in linux-firmware
|
|
|
|
rm -rf $PKG/lib/firmware
|
|
|
|
|
|
|
|
}
|