You are not logged in.

#26 2004-09-21 09:01:49

dtw
Forum Fellow
From: UK
Registered: 2004-08-03
Posts: 4,439
Website

Re: Problem building kernel with makepkg

works fine

the only difference is the substitution of 24 for 26 where necessary and adding "dep" to the make commands.

that was it - works perfectly

with the patches - should i post my efforts on the wiki and then we can collectively edit it?

Offline

#27 2004-10-19 16:53:18

dtw
Forum Fellow
From: UK
Registered: 2004-08-03
Posts: 4,439
Website

Re: Problem building kernel with makepkg

http://wiki.archlinux.org/index.php/Ker … %20ABS-2.4

My efforts are here and some people have been editing them - anyone know who?

Offline

#28 2004-10-19 19:32:01

IceRAM
Member
From: Bucharest, Romania
Registered: 2004-03-04
Posts: 772
Website

Re: Problem building kernel with makepkg

I've recently seen some SPAM beeing added to the Wiki (same thing happened to my Wiki). The last revisions are from removing spam, the others - I don't know.

Offline

#29 2004-12-09 04:13:35

dtw
Forum Fellow
From: UK
Registered: 2004-08-03
Posts: 4,439
Website

Re: Problem building kernel with makepkg

does the current custom PKGBUILD on the wiki cater for the new 2.6.9?

I tried to use my modified version last night and got some screwy results - largely due to this in the config, i think:

CONFIG_LOCALVERSION="-ARCH"

This is new isn't it?  How does this affect this custom PKGBUILD - i'd love to know cos i have lots of kernels to compile, please!

Offline

#30 2004-12-09 10:31:18

IceRAM
Member
From: Bucharest, Romania
Registered: 2004-03-04
Posts: 772
Website

Re: Problem building kernel with makepkg

The PKGBUILD in the Wikipage does not work with the current version, as I have recently changed my computer & compiled myself 2.6.9-nitro3 with a roughly modified version of that PKGBUILD.

Problems indeed come from the recent use of LOCAL_VERSION="-ARCH".
I'm trying to update http://wiki2.archlinux.org/index.php/Ke … with%20ABS to make use of that variable, but I'm currently in the middle of my exams (I've got one tomorrow).

I'll try to find some time and upload a new version soon.

Hmm...
Lots of pages about the Kernel in the Wiki... looks a little bit like a mess...

Offline

#31 2004-12-10 03:47:45

dtw
Forum Fellow
From: UK
Registered: 2004-08-03
Posts: 4,439
Website

Re: Problem building kernel with makepkg

i modified my own from the stock kernel - how is this for starters?

# $Id: PKGBUILD,v 1.36 2004/12/07 08:59:32 judd Exp $
# Maintainer: judd <jvinet@zeroflux.org>
pkgname=kernel26
pkgver=2.6.9
pkgrel=1
pkgdesc="The Linux Kernel and modules (IDE support)"
url="http://www.kernel.org"
backup=('boot/kconfig26')
depends=('module-init-tools')
install=kernel26.install
source=(ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$pkgver.tar.)
md5sums=()

build() {
  cd $startdir/src/linux-$pkgver

  # Create build stats
  echo "Build started at `date +%c`" > $startdir/buildstats

  # Start build
  #Apply patches
  patch -Np1 -i ../cdburning.patch || return 1
  patch -Np1 -i ../acpi-20041015-26-latest-release.diff || return 1
  # A nasty bug that caused kswapd to get stuck consuming heaps of cpu
  # which was in mainline 2.6.9, fixed by this patch
  patch -Np1 -i ../vm-pages_scanned-active_list.patch || return 1

  # Arch logo!
  #cp ../logo_linux_clut224.ppm drivers/video/logo/

  # get rid of the 'i' in i686
  carch=`echo $CARCH | sed 's|i||'`
  cat ../config | sed "s|#CARCH#|$carch|g" >./.config

  # build the full kernel version to use in pathnames
  . ./.config
  _kernver="${pkgver}${CONFIG_LOCALVERSION}"
  _kerncust="${CONFIG_LOCALVERSION}"
  pkgname="${pkgname}${_kerncust}"

  # load configuration
  yes "" | make config
  #make oldconfig || return 1
  #make menuconfig
  #make xconfig
  #make gconfig

  # save the configuration with today's date
  cp ./.config $startdir/config-$(date +%b%d)

  # build!
  make clean bzImage modules || return 1
  mkdir -p $startdir/pkg/{lib/modules,boot}
  make INSTALL_MOD_PATH=$startdir/pkg modules_install || return 1
  cp System.map $startdir/pkg/boot/System.map26${_kerncust}
  cp arch/i386/boot/bzImage $startdir/pkg/boot/vmlinuz26${_kerncust}
  install -D -m644 Makefile 
    $startdir/pkg/usr/src/linux-${_kernver}/Makefile
  install -D -m644 .config 
    $startdir/pkg/usr/src/linux-${_kernver}/.config
  install -D -m644 .config $startdir/pkg/boot/kconfig26${_kerncust}
  mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/include
  mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/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-${_kernver}/include/
  done
  # copy files necessary for later builds, like nvidia and vmware
  cp -a scripts $startdir/pkg/usr/src/linux-${_kernver}
  mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/.tmp_versions
  cp arch/i386/Makefile $startdir/pkg/usr/src/linux-${_kernver}/arch/i386/
  cp arch/i386/kernel/asm-offsets.s 
    $startdir/pkg/usr/src/linux-${_kernver}/arch/i386/kernel/
  # copy in Kconfig files
  for i in `find . -name "Kconfig*"`; do 
    mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/`echo $i | sed 's|/Kconfig.*||'`
    cp $i $startdir/pkg/usr/src/linux-${_kernver}/$i
  done
  cd $startdir/pkg/usr/src/linux-${_kernver}/include && ln -s asm-i386 asm
  chown -R root.root $startdir/pkg/usr/src/linux-${_kernver}
  cd $startdir/pkg/lib/modules/${_kernver} && 
    (rm -f source build; ln -sf /usr/src/linux-${_kernver} build)

  # Finalize build stats
  echo "Package name: $pkgname" >> $startdir/buildstats
  echo "Package  ver: $pkgver" >> $startdir/buildstats
  echo "Package desc: $pkgdesc" >> $startdir/buildstats
  echo "Build finished at `date +%c`" >> $startdir/buildstats
  mv $startdir/buildstats $startdir/buildstats-$(date +%b%d)
}

Offline

#32 2004-12-12 06:43:05

dtw
Forum Fellow
From: UK
Registered: 2004-08-03
Posts: 4,439
Website

Re: Problem building kernel with makepkg

ok - the above does not work with patches that add their own EXTRAVERSION info as this is automatically used in the name of the modules dir - this build works perfectly - you just have to remeber/check not to include any patchset EXTRAVERSION in your LOCALVERSION setting!

i have done several builds with this big_smile

i added in the buildstats file to help me quickly keep track of what options i had used and the time it took to build - clearly these are easily removed or edited to output to the term instead

# $Id: PKGBUILD,v 1.36 2004/12/07 08:59:32 judd Exp $
# Maintainer: judd <jvinet@zeroflux.org>
pkgname=kernel26
pkgver=2.6.9
pkgrel=1
pkgdesc="The Linux 2.6.9 Kernel 2.6.9 and modules (IDE support), built with nitro patchset (-nitro4)"
url="http://www.kernel.org"
backup=('boot/kconfig26')
depends=('module-init-tools')
install=kernel26.install

source=(config http://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/patches/release/$pkgver/acpi-20041015-26-latest-release.diff.bz2 
ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$pkgver.tar.bz2 )

md5sums=()

# Function to grab var from src
getvar() {
  old=$(cat Makefile | grep "^$1")
  echo $(echo ${old/"$1 ="/} | sed -e "s/[ ]*(.*)[ ]*/1/g")
  return 0
}

build() {
  cd $startdir/src/linux-$pkgver

  # Create build stats
  echo "Build started at `date +%c`" > $startdir/buildstats

  # Start build
  # apply patches
  # patch -Np1 -i ../acpi-20041015-26-latest-release.diff || return 1
  # A nasty bug that caused kswapd to get stuck consuming heaps of cpu
  # which was in mainline 2.6.9, fixed by this patch

  # get rid of the 'i' in i686
  carch=`echo $CARCH | sed 's|i||'`
  cat ../config | sed "s|#CARCH#|$carch|g" >./.config

  # load configuration
  #yes "" | make config
  #make oldconfig || return 1
  #make menuconfig
  #make xconfig
  make gconfig

  # save the configuration with today's date
  cp ./.config $startdir/config-$(date +%b%d)

  # get EXTRAVERSION to correctly name /lib/modules/ subdirectories
  _kernextra=$(getvar "EXTRAVERSION")

  # build the full kernel version to use in pathnames
  . ./.config
  # Kernel release var will be the same as Makefile
  _kernrel="${pkgver}${_kernextra}${CONFIG_LOCALVERSION}"
  # Kernel custom - to create a unique pkgname (see below) and
  # unique /boot files
  _kerncust="${_kernextra}${CONFIG_LOCALVERSION}"
  pkgname="${pkgname}${_kerncust}"

  # Add more build stats
  echo >> $startdir/buildstats
  echo "Package Info" >> $startdir/buildstats
  echo "  Package name: $pkgname" >> $startdir/buildstats
  echo "  Package  ver: $pkgver" >> $startdir/buildstats
  echo "  Package desc: $pkgdesc" >> $startdir/buildstats
  echo >> $startdir/buildstats
  echo "  Kernel EXTRAVERSION: $_kernextra" >> $startdir/buildstats
  echo "  Kernel LOCALVERSION: ${CONFIG_LOCALVERSION}" 
>> $startdir/buildstats
  echo "  Kernel RELEASE: $_kernrel" >> $startdir/buildstats

  # build!
  make clean bzImage modules || return 1
  mkdir -p $startdir/pkg/{lib/modules,boot}
  make INSTALL_MOD_PATH=$startdir/pkg modules_install || return 1
  cp System.map $startdir/pkg/boot/System.map26${_kerncust}
  cp arch/i386/boot/bzImage $startdir/pkg/boot/vmlinuz26${_kerncust}
  install -D -m644 Makefile 
    $startdir/pkg/usr/src/linux-${_kernrel}/Makefile
  install -D -m644 .config 
    $startdir/pkg/usr/src/linux-${_kernrel}/.config
  install -D -m644 .config $startdir/pkg/boot/kconfig26${_kerncust}
  mkdir -p $startdir/pkg/usr/src/linux-${_kernrel}/include
  mkdir -p $startdir/pkg/usr/src/linux-${_kernrel}/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-${_kernrel}/include/
  done
  # copy files necessary for later builds, like nvidia and vmware
  cp -a scripts $startdir/pkg/usr/src/linux-${_kernrel}
  mkdir -p $startdir/pkg/usr/src/linux-${_kernrel}/.tmp_versions
  cp arch/i386/Makefile $startdir/pkg/usr/src/linux-${_kernrel}/arch/i386/
  cp arch/i386/kernel/asm-offsets.s 
    $startdir/pkg/usr/src/linux-${_kernrel}/arch/i386/kernel/
  # copy in Kconfig files
  for i in `find . -name "Kconfig*"`; do 
    mkdir -p $startdir/pkg/usr/src/linux-${_kernrel}/`echo $i | sed 's|/Kconfig.*||'`
    cp $i $startdir/pkg/usr/src/linux-${_kernrel}/$i
  done
  cd $startdir/pkg/usr/src/linux-${_kernrel}/include && ln -s asm-i386 asm
  chown -R root.root $startdir/pkg/usr/src/linux-${_kernrel}
  cd $startdir/pkg/lib/modules/${_kernrel} && 
    (rm -f source build; ln -sf /usr/src/linux-${_kernrel} build)

  # Finalize build stats
  echo >> $startdir/buildstats
  echo "Build finished at `date +%c`" >> $startdir/buildstats
  mv $startdir/buildstats $startdir/buildstats-$(date +%b%d)
}

Offline

Board footer

Powered by FluxBB