milis/talimatname/temel-ek/kernel-lts/talimat

181 lines
4.4 KiB
Plaintext
Raw Normal View History

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 16:23:47 +02:00
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}
# Firmware are in linux-firmware
rm -rf $PKG/lib/firmware
}