[arch-general] Kernel PKGBUILD proposition: Ease custom kernel compilation.
Nicolas Bigaouette
nbigaouette at gmail.com
Mon Dec 8 13:50:56 EST 2008
Thats another story... I agree that the PKGBUILD is huge. There is probably
a reason for that. It is true it is not the easiest one to read. Maybe
another bug report?
2008/12/8 RedShift <redshift at pandora.be>
> Nicolas Bigaouette wrote:
>
>> Hi all!
>>
>> * lots of text here *
>
>>
>>
> Whoah, that PKGBUILD is HUGE. Take a look at mine, which I use for my
> custom configs. It doesn't do one thing though, and that's install the
> kernel headers. You need those if you want to compile out-of-tree modules
> like nvidia. I'm not sure if it's 100% OK because I haven't used it in a
> long time, but the logic I like to follow is there.
>
> Glenn
>
> pkgname=linux
> pkgver=2.6.28
> pkgrel=1
> pkgdesc='Linux is a clone of the operating system Unix'
> arch=(
> 'i686'
> )
> url='http://www.kernel.org/'
> license=GPL
> depends=(
> 'coreutils'
> 'mkinitcpio'
> 'module-init-tools'
> )
> makedepends=('gcc')
> backup=("etc/mkinitcpio.d/$pkgname.preset")
> install=linux.install
> source=(
> "
> http://www.kernel.org/pub/linux/kernel/v2.6/testing/$pkgname-$pkgver.tar.bz2
> "
> config-$pkgver.i686
> 'linux.preset'
> )
>
> build() {
> # Apply configuration
> cat config-$pkgver.$CARCH > $startdir/src/$pkgname-$pkgver/.config
>
> # cd to the kernel build directory
> cd $startdir/src/$pkgname-$pkgver/
>
> # Process the configuration to get CONFIG_LOCALVERSION
> . ./.config
>
> # Make necessary directories
> mkdir -p $startdir/pkg/boot
> mkdir -p $startdir/pkg/etc/mkinitcpio.d
> mkdir -p
> $startdir/pkg/usr/src/${pkgname}-${pkgver}${CONFIG_LOCALVERSION}/
>
> # Make the boot image and kernel modules
> make vmlinux bzImage
> make modules
>
> # Install boot image and kernel modules
> make INSTALL_MOD_PATH=$startdir/pkg modules_install
> if [ "$CARCH" = "x86_64" ]; then
> cp $startdir/src/$pkgname-$pkgver/arch/x86_64/boot/bzImage
> $startdir/pkg/boot/linux
> else
> cp $startdir/src/$pkgname-$pkgver/arch/i386/boot/bzImage
> $startdir/pkg/boot/linux
> fi
>
> # Setup mkinitcpio
> echo "ALL_kver='${pkgver}${CONFIG_LOCALVERSION}'" >
> $startdir/pkg/etc/mkinitcpio.d/$pkgname.kver
> install -m664 -D $startdir/src/$pkgname.preset
> $startdir/pkg/etc/mkinitcpio.d/$pkgname.preset
> }
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://archlinux.org/pipermail/arch-general/attachments/20081208/c2951dd5/attachment.htm>
More information about the arch-general
mailing list