Re: Kernel PKGBUILD proposition: Ease custom kernel compilation.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



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
}

[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux