#!/bin/sh -x CLEAN_SRC=${CLEAN_SRC:-NO} CWD=$(pwd) PRGNAM=$(basename $CWD) VERSION=${VERSION:-$(echo /usr/src/linux-* | sort | tail | cut -d- -f2)} BUILD=${BUILD:-1} ARCH=$(uname -m) SOURCES=/usr/src/ TAG=cyco TMP=/tmp/$TAG PKG=$TMP/pkg-$PRGNAM OUTPUT=/tmp NUMJOBS=${NUMJOBS:-" -j4 "} SRC_URL="http://www.kernel.org/pub/linux/kernel/v$(echo \"$VERSION\" | sed 's|\([0-9]*\.[0-9]*\).*|\1|')$(echo \"$VERSION\" | grep -q \"\-rc\" && echo \"/testing\" )" rm -fr $PKG if [ $CLEAN_SRC != "NO" ] ; then rm -fr $SOURCES/linux-$VERSION fi if [ $CLEAN_SRC != "NO" ]; then [ ! -e $CWD/linux-$VERSION.tar.?z* ] && wget -c "$SRC_URL/linux-$VERSION.tar.bz2" -O $CWD/linux-$VERSION.tar.xz [ ! -e $SOURCES ] && mkdir -p $SOURCES tar xf $CWD/linux-$VERSION.tar.?z* -C $SOURCES fi cd $SOURCES/linux-$VERSION if [ $CLEAN_SRC != "NO" ] || [ ! -e .config ] ; then if [ -e $CWD/config-$VERSION ] ; then cp $CWD/config-$VERSION .config else if [ -e $CWD/config ]; then cp $CWD/config .config else zcat /proc/config.gz > .config fi fi fi make oldconfig $* make $NUMJOBS make modules_install INSTALL_MOD_PATH=$PKG KERNEL_TAG=$(grep "CONFIG_LOCALVERSION=" .config | sed 's|CONFIG_LOCALVERSION=||' | tr -d \" ) KERNEL_VERSION=$(grep -o "[0-9]\+\.[0-9]\+.*[0-9]" .config)$KERNEL_TAG mkdir -p $PKG/boot/ for i in .config System.map; do cp $i $PKG/boot/${i}-$KERNEL_VERSION done mv $PKG/boot/{.,}config-$KERNEL_VERSION cp arch/x86/boot/bzImage $PKG/boot/vmlinuz-$KERNEL_VERSION ( cd $PKG/boot/ ln -s vmlinuz-$KERNEL_VERSION vmlinuz-cycojesus ) # mkdir -p $PKG/install # cat < $PKG/install/doinst.sh # cp /etc/lilo.conf /etc/lilo.conf.orig # grep -q "image = /boot/$KERNEL_VERSION/bzImage" /etc/lilo.conf || \ # cat <> /etc/lilo.conf # # Linux bootable partition config begins # image = /boot/$KERNEL_VERSION/bzImage # root = /dev/sda1 # label = $KERNEL_VERSION # read-only # # Linux bootable partition config ends # EOLILO # sed -i "s|default=.*|default=$KERNEL_VERSION|" /etc/lilo.conf # lilo # EOF VERSION=$(echo $VERSION | tr - _) cat < $PKG/install/slack-desc $PRGNAM-$VERSION: $PRGNAM-$VERSION (kernel) $PRGNAM-$VERSION: $PRGNAM-$VERSION: Linux is a clone of the operating system Unix, written from scratch by $PRGNAM-$VERSION: Linus Torvalds with assistance from a loosely-knit team of hackers $PRGNAM-$VERSION: across the Net. It aims towards POSIX and Single UNIX Specification $PRGNAM-$VERSION: compliance. $PRGNAM-$VERSION: $PRGNAM-$VERSION: It has all the features you would expect in a modern fully-fledged Unix $PRGNAM-$VERSION: $PRGNAM-$VERSION: http://www.kernel.org $PRGNAM-$VERSION: EOF cd $PKG makepkg -l y -c n $OUTPUT/$PRGNAM-${VERSION}_$(echo $KERNEL_TAG | tr - _)-$ARCH-$BUILD$TAG.txz