You are not logged in.
Hi, as I recently browsed the wiki I found some pretty interesting information about kernel patchsets stating, that the morph patchset is a patchest geared towards desktop use.
the offical site states:
morph-sources is a linux kernel patchset aimed towards desktop usage. It features a series of additions to the standard linux kernel which increase system's responsiveness and interactivity, and introduces some new features that enhance users' experience in typical desktop setups. morph-sources' goal (admittedly quite ambitious) is to provide a kernel patchset for desktop users which is stable and featureful at the same time.
This PKGBUILD is based on the version for morph5, but also introduces some bufixes, md5sums and corrected urls for the new version. I do not provide a package, because precompiled kernels suck and I don't have the webspace to host the package.
Thanks for the previous work done by siimo and hyp0luxa.
# Morph Sources (2.6.10-morph17)
# Adopted from hyp0luxa <hyp0luxa@yahoo.com> 's nitro sources PKGBUILD
# siimo <siimo@mail.ru>
# New version for morph17
# cmp <se_police@gmx.de>
pkgname=kernel26morph
origkernelver=2.6.10
morphver=17
pkgver=${origkernelver}.morph${morphver}
kernelver=${origkernelver}-morph${morphver}
pkgrel=1
pkgdesc="The Linux Kernel and modules (IDE support) [morph kernel]"
url="http://morph-sources.sourceforge.net/"
backup=('boot/kconfig26morph')
depends=('module-init-tools')
source=( http://www.kernel.org/pub/linux/kernel/v2.6/linux-$origkernelver.tar.bz2
http://dl.sourceforge.net/morph-sources/patch-2.6.10-morph17.bz2
config
logo_linux_clut224.ppm)
md5sums=('cffcd2919d9c8ef793ce1ac07a440eda' 'c740258ba8f7c09d049c2d8398754dc2'
'08fb644cb1b4ff597cd984c6f717425d' '5a62bcc7e96601052c7405459b483826')
build() {
# if we run the makepkg more than once and use 'makepkg -e' to save time:
if [ -d $startdir/src/linux-${origkernelver} ]
then
cd $startdir/src/linux-${origkernelver}
#apply morph patchset
patch -Np1 -i ../patch-$kernelver || return 1
mv $startdir/src/linux-${origkernelver} $startdir/src/linux-$kernelver
fi
cd $startdir/src/linux-$kernelver
#CLEAN-ME:
if [ -f ../${kernelver} ]
then
rm ../${kernelver} # cleanup the existing patch (needed, if "makepkg -e" for another round)
fi
# get rid of the 'i' in i686
carch=`echo $CARCH | sed 's|i||'`
cat ../config | sed "s|#CARCH#|$carch|g" >./.config
mv -f $startdir/config $startdir/config.orig
# replace logo:
cp $startdir/src/logo_linux_clut224.ppm $startdir/src/linux-$kernelver/drivers/video/logo/ && echo "==> logo replaced successfully"
sleep 2
# let's be "user-friendly":
echo "==> "
echo "==> How do you want to configure the kernel:"
echo "==> ----------------------------------------"
echo "==> (for ArchLinux defaults, use 'not_at_all (1)')"
echo "==> "
AUSWAHL="not_at_all menuconfig xconfig oldconfig config"
select opt in $AUSWAHL; do
if [ "$opt" = "not_at_all" ]; then
yes "" | make config || return 1
mv $startdir/config.orig $startdir/config
break
elif [ "$opt" = "menuconfig" ]; then
make menuconfig || return 1
cp .config $startdir/config && echo "==> your config was saved to $startdir/config"
break
elif [ "$opt" = "xconfig" ]; then
make xconfig || return 1
cp .config $startdir/config && echo "==> your config was saved to $startdir/config"
break
elif [ "$opt" = "config" ]; then
make config || return 1
cp .config $startdir/config && echo "==> your config was saved to $startdir/config"
break
elif [ "$opt" = "oldconfig" ]; then
make oldconfig || return 1
cp .config $startdir/config && echo "==> your config was saved to $startdir/config"
break
else
clear
echo "==> I don't understand (bad option) ... assuming you don't want "
echo "==> to configure and use the defaults."
sleep 1
echo "==> 3..."
sleep 1
echo "==> 2..."
sleep 1
echo "==> 1..."
sleep 1
echo "==> 0: GO! --------------------------- :-)"
yes "" | make config || return 1
mv $startdir/config.orig $startdir/config
break
fi
done
echo ""
echo "==> Building the kernel $kernelver will start in 2s ! "
echo "==> Happy compiling and good luck :-)"
echo ""
sleep 2
make clean bzImage modules || return 1
mkdir -p $startdir/pkg/lib/modules/$kernelver-ARCH
mkdir -p $startdir/pkg/boot
make INSTALL_MOD_PATH=$startdir/pkg modules_install || return 1
cp System.map $startdir/pkg/boot/System.map26morph
cp arch/i386/boot/bzImage $startdir/pkg/boot/vmlinuz26morph
install -D -m644 Makefile $startdir/pkg/usr/src/linux-$kernelver/Makefile
install -D -m644 .config $startdir/pkg/usr/src/linux-$kernelver/.config
install -D -m644 .config $startdir/pkg/boot/kconfig26morph
mkdir -p $startdir/pkg/usr/src/linux-$kernelver/include
mkdir -p $startdir/pkg/usr/src/linux-$kernelver/arch/i386/kernel
for i in acpi asm-generic asm-i386 config linux math-emu net pcmcia scsi video; do
cp -a include/$i $startdir/pkg/usr/src/linux-$kernelver/include/
done
# copy files necessary for later builds, like nvidia and vmware
cp -a scripts $startdir/pkg/usr/src/linux-$kernelver/
mkdir -p $startdir/pkg/usr/src/linux-$kernelver/.tmp_versions
cp arch/i386/Makefile $startdir/pkg/usr/src/linux-$kernelver/arch/i386/
cp arch/i386/kernel/asm-offsets.s $startdir/pkg/usr/src/linux-$kernelver/arch/i386/kernel/
# copy in Kconfig files
for i in `find . -name "Kconfig*"`; do
mkdir -p $startdir/pkg/usr/src/linux-$kernelver/`echo $i | sed 's|/Kconfig.*||'`
cp $i $startdir/pkg/usr/src/linux-$kernelver/$i
done
cd $startdir/pkg/usr/src/linux-$kernelver/include && ln -s asm-i386 asm
chown -R root.root $startdir/pkg/usr/src/linux-$kernelver
cd $startdir/pkg/lib/modules/$kernelver-ARCH &&
(rm -f build; ln -sf /usr/src/linux-$kernelver build)
} Offline
the whole reason for my writing that article on the wiki about patches and spending several days perfecting and testing the custom kernel PKGBUILD was to entirely prevent the necessity for forum post such as these!
the wiki is not there to support the forum but rather is provided in addition to it. Many of the most valuable tit bits from the forum are added to the wiki for reference but to do the reverse is totally insane!
i'm on the verge of losing my sanity over this one! help me!
Offline
Sorry, but as I didn't found any PKGBUILD for the morph kernel and the one for morph5 was broken, I thought I should post the one I used, but feel free to delete the thread - I just tried to help.
BTW.: there is somthing wrong with the $startdir/lib/modules/$kernelver path, for the morph patchset I had to add an extra -ARCH to, but this may be something morph specific.
Offline
cmp, can you provide a PKG that I can download. When I see compilation I swear all the time
{meta traumatic experience left by Gentoo}
Offline
The problem with my current package is, that it's tailored to my system, so I had to recompile it with the standard arch config to match your system.
There is also the problem, that I don't know which features added by the patch to activate. Without these features the kernel will be pretty useless, because it would behave like the arch stock kernel, which is also security fixed.
Offline
cmp - oh man - there is nothing wrong with the $startdir/lib/modules/$kernelver path variable - your pkgbuild just doesn't what it is supposed to! you pkgbuild can't account for LOCALVERSION in your config
i HONESTLY appreciate what you are trying to do, I really do, but you are just going to get yourself into trouble!
if you use the default config it includes a LOCALVERSION ARCH - which is automatically added to the paths when you build
the PKGBUILD i made and posted on the wiki can be used with ANY patchset - simply my adding the name of the patch set at the start - i made it especially for this reason. there really is no need to have unique PKGBUILDS for every patchset!
Have a look at this and you will see why your PKGBUILD is not working correctly - http://wiki2.archlinux.org/index.php/Cu … 20later%29
with that PKGBUILD you can set patch=patch-2.6.10-morph17 as the top and the rest is history!
please have a read of the wiki page so you understand why i am not just chewing you out to be mean!
Offline