You are not logged in.
hi...i'm new of this forum and new of archlinux
i'm tryng to compiling a custom kernel in order not to replace the kernel26 package.. i prefere to make it with abs for managing it with pacman.. i followed the wiki but something went wrong.... i used both the pkgbuild i found on the wiki but nothing...can someone help me please??
Offline
We could give more help if you posted what went wrong... Error messages, &c.
Offline
As SamC said, we cannot read minds Please post your new PKGBUILD, errors, etc.
Offline
tnx for the replies sorry but here in italy we have a different hour here there are:
pkgbuild
pkgname=kernel26-custom
basekernel=2.6.28.1custom
pkgver=2.6.28.1custom
pkgrel=1
pkgdesc="The Linux Kernel and modules"
arch=('i686')
url="http://www.kernel.org"
depends=('module-init-tools')
provides=(kernel26-custom)
install=kernel26-custom.install
build() {
# build!
cd ..
_kernver="${basekernel}${CONFIG_LOCALVERSION}"
make || 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-custom
cp arch/x86/boot/bzImage $startdir/pkg/boot/vmlinuz26-custom
install -D -m644 .config $startdir/pkg/boot/kconfig26-custom
# set correct depmod command for install
sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" $startdir/kernel26-custom.install
}
kernel26-custom.install script
post_install () {
echo ">>> Updating module dependencies. Please wait ..."
KERNEL_VERSION=2.6.28.1custom
/sbin/depmod -A -v $KERNEL_VERSION > /dev/null 2>&1
}
post_upgrade() {
echo ">>> Updating module dependencies. Please wait ..."
KERNEL_VERSION=2.6.28.1custom
/sbin/depmod -A -v $KERNEL_VERSION > /dev/null 2>&1
}
op=$1
shift
$op $*
and now the errors (i wrote the translation under it)
sudo pacman -U kernel26-custom-2.6.28.1custom-1-i686.pkg.tar.gz
Password:
caricamento dei dati in corso...
controllo delle dipendenze in corso...
(1/1) controllo dei conflitti in corso [#####################] 100%
errore: impossibile eseguire l'operazione richiesta (file in conflitto)
kernel26-custom: /lib/firmware/atmsar11.fw è già presente nel filesystem
kernel26-custom: /lib/firmware/cpia2/stv0672_vp4.bin è già presente nel filesystem
kernel26-custom: /lib/firmware/dabusb/bitstream.bin è già presente nel filesystem
kernel26-custom: /lib/firmware/dabusb/firmware.fw è già presente nel filesystem
kernel26-custom: /lib/firmware/edgeport/boot.fw è già presente nel filesystem
kernel26-custom: /lib/firmware/edgeport/boot2.fw è già presente nel filesystem
kernel26-custom: /lib/firmware/edgeport/down.fw è già presente nel filesystem
kernel26-custom: /lib/firmware/edgeport/down2.fw è già presente nel filesystem
kernel26-custom: /lib/firmware/edgeport/down3.bin è già presente nel filesystem
kernel26-custom: /lib/firmware/emi26/bitstream.fw è già presente nel filesystem
kernel26-custom: /lib/firmware/emi26/firmware.fw è già presente nel filesystem
kernel26-custom: /lib/firmware/emi26/loader.fw è già presente nel filesystem
kernel26-custom: /lib/firmware/emi62/bitstream.fw è già presente nel filesystem
kernel26-custom: /lib/firmware/emi62/loader.fw è già presente nel filesystem
kernel26-custom: /lib/firmware/emi62/midi.fw è già presente nel filesystem
kernel26-custom: /lib/firmware/emi62/spdif.fw è già presente nel filesystem
kernel26-custom: /lib/firmware/ess/maestro3_assp_kernel.fw è già presente nel filesystem
kernel26-custom: /lib/firmware/ess/maestro3_assp_minisrc.fw è già presente nel filesystem
kernel26-custom: /lib/firmware/kaweth/new_code.bin è già presente nel filesystem
kernel26-custom: /lib/firmware/kaweth/new_code_fix.bin è già presente nel filesystem
kernel26-custom: /lib/firmware/kaweth/trigger_code.bin è già presente nel filesystem
kernel26-custom: /lib/firmware/kaweth/trigger_code_fix.bin è già presente nel filesystem
kernel26-custom: /lib/firmware/keyspan_pda/keyspan_pda.fw è già presente nel filesystem
kernel26-custom: /lib/firmware/keyspan_pda/xircom_pgs.fw è già presente nel filesystem
kernel26-custom: /lib/firmware/korg/k1212.dsp è già presente nel filesystem
kernel26-custom: /lib/firmware/ti_3410.fw è già presente nel filesystem
kernel26-custom: /lib/firmware/ti_5052.fw è già presente nel filesystem
kernel26-custom: /lib/firmware/ttusb-budget/dspbootcode.bin è già presente nel filesystem
kernel26-custom: /lib/firmware/vicam/firmware.fw è già presente nel filesystem
kernel26-custom: /lib/firmware/whiteheat.fw è già presente nel filesystem
kernel26-custom: /lib/firmware/whiteheat_loader.fw è già presente nel filesystem
kernel26-custom: /lib/firmware/yamaha/ds1_ctrl.fw è già presente nel filesystem
kernel26-custom: /lib/firmware/yamaha/ds1_dsp.fw è già presente nel filesystem
kernel26-custom: /lib/firmware/yamaha/ds1e_ctrl.fw è già presente nel filesystem
si sono verificati degli errori, nessun pacchetto è stato aggiornato.
translation:
sudo pacman -U kernel26-custom-2.6.28.1custom-1-i686.pkg.tar.gz
Password:
charging datas....
checking dependencies...
(1/1)checking conflicts....
error: unable to do the requested operation (files in conflict)
kernel26-custom: /lib/firmware/atmsar11.fw is alredy present in the filesystem
and so on for alle the other files mentioned above....
pratically this pkgbuild tries to overwrite many files in /lib/firmware....
i recently compiled from sources the modules uvcvideo, broadcomm STA driver and used isight-firmware-tools.. could be related to these errors??
sorry for my bad english
Offline
SInce the inclusion of these firmware files in the kernel, this is likely to happen to anyone compiling their own kernel. This is because /lib/firmware is not specific to any kernel version, unlike /usr/src/linux-<kernel_version> and /lib/modules/<kernel_version>, the install paths for the other kernel files. Useing pacman's -f/--force option is OK in this case.
Re your PKGBUILD, it has no source array, and it provides itself, which is unnecessary. It also fails to install anything in /usr/src/linux-<kernel_version>, which will make it impossible to build any external modules e.g. nvidia etc, against this kernel.
Offline
tnx for the esplannation, but mind that i am a bit too unexpert and i am not very good in english...so... what i have to do to fix it?? i removed the source array because i put this pkgbuild directly in the dir /home/myusername/linux-2.6.xx.y is it uncorrect?
Offline
tnx for the esplannation, but mind that i am a bit too unexpert and i am not very good in english...so... what i have to do to fix it??
i removed the source array because i put this pkgbuild directly in the dir /home/myusername/linux-2.6.xx.y is it uncorrect?
#pacman -Uf kernel26-custom-2.6.28.1custom-1-i686.pkg.tar.gz
Offline
i know i can force the installation bangkok_manouel but i don't want to make damages to my arch installation..if tomk has right about the problems for compiling external modules i think is better to review my pkgbuild because i use many external modules.. can you tell me how to fix this pkgbuild?tnx
Offline
i'm tryng to compiling a custom kernel in order not to replace the kernel26 package..
Why exactly are you trying to compile the kernel.?
If you want to keep the kernel version fixed you can use ignorepkg in pacman.conf.
Offline
hi u_no_hu, i am trying to compile the kernel because i use a macbook, i need many customizations due to my hardware (like external modules, different modules from the ones on default kernels) for having a more customized system and for getting more confident with this distro.. i read many times that i can exclude packages from the sync of pacman but i prefere to have more than just one kernel.. one "standard" made by archlinux and one custom for trying to have better hardware compatibility
Offline
anyone here??
Offline
There are various other forum threads on this topic, and there are wiki pages about it too. Have a good read, then try again.
Given the state of your PKGBUILD, I'd also recommend reading the ABS-related wiki pages.
Offline
i read about 90 threads but nothing...i know my pkgbuild looks so "rough"..first of all sorry for upping this thread but i wanted to know how to make it, i'll try again
Last edited by lorenzo87 (2009-01-26 11:28:47)
Offline
I'm not an expert but this works for me .
PKGBUILD
pkgname=kernel26-custom
basekernel=2.6.28.1
pkgver=2.6.28.1
pkgrel=1
pkgdesc="The Linux Kernel and modules"
arch=('i686')
url="http://www.kernel.org"
depends=('module-init-tools')
provides=(kernel26)
install=kernel26.install
build() {
# build!
cd ..
_kernver="${basekernel}${CONFIG_LOCALVERSION}"
make || 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-custom
cp arch/x86/boot/bzImage $startdir/pkg/boot/vmlinuz26-custom
install -D -m644 .config $startdir/pkg/boot/kconfig26-custom
# set correct depmod command for install
sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" $startdir/kernel26.install
}
kernel26.install
post_install () {
echo ">>> Updating module dependencies. Please wait ..."
KERNEL_VERSION=2.6.28.1
/sbin/depmod -A -v $KERNEL_VERSION > /dev/null 2>&1
}
post_upgrade() {
echo ">>> Updating module dependencies. Please wait ..."
KERNEL_VERSION=2.6.28.1
/sbin/depmod -A -v $KERNEL_VERSION > /dev/null 2>&1
}
op=$1
shift
$op $*
I used this guide the first time I compiled my own kernel :
http://wiki.archlinux.org/index.php/Ker … rom_Source
Last edited by Nezmer (2009-01-26 17:16:19)
English is not my native language .
Offline
tnx Nezmer, is the same link i followed, but i see that your pkgbuild is a bit different so i'll give it a try
Offline
You could also try looking at the Arch Linux Italia wiki; it may have a translation of the kernel compiling page that is easier to read (if not, maybe you can write a translation :-)):
Dusty
Offline
hi dusty..i also had a look on the italian wiki..the problem is that there are the same instructions, only traslated if i can't do it with the articles on the eng wiki, the same will be with the italian one..
Offline
if it can be of any help, this works for me too. actually, it's the official arch kernel PKGBUILD (maybe not the latest one) that I've just changed according to my needs:
# $Id: PKGBUILD 17203 2008-10-26 20:28:29Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Maintainer: Thomas Baechler <thomas@archlinux.org>
pkgname=kernel26mm
_basekernel=2.6.27
pkgver=2.6.28
pkgrel=5
_patchname="patch-${pkgver}-${pkgrel}-ARCH"
pkgdesc="The Linux Kernel and modules"
arch=(i686 x86_64)
license=('GPL2')
groups=('base')
url="http://www.kernel.org"
backup=(etc/mkinitcpio.d/${pkgname}.preset)
depends=('coreutils' 'module-init-tools' 'mkinitcpio>=0.5.18')
# pwc, ieee80211 and hostap-driver26 modules are included in kernel26 now
# nforce package support was abandoned by nvidia, kernel modules should cover everything now.
# kernel24 support is dropped since glibc24
replaces=('kernel24' 'kernel24-scsi' 'kernel26-scsi'
'alsa-driver' 'ieee80211' 'hostap-driver26'
'pwc' 'nforce' 'squashfs' 'unionfs' 'ivtv'
'zd1211' 'kvm-modules' 'iwlwifi' 'rt2x00-cvs'
'gspcav1')
install=kernel26mm.install
source=(ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$_basekernel.tar.bz2
ftp://ftp.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.28-rc2.bz2
http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.28-rc2/2.6.28-rc2-mm1/2.6.28-rc2-mm1.bz2
# the main kernel config files
config config.x86_64
iosched-bfq-03-update-kconfig-kbuild.patch
iosched-bfq-02-add-bfq-scheduler.patch
iosched-bfq-01-prepare-iocontext-handling.patch
zen.git-aircrack.patch
march-native.patch
# standard config files for mkinitcpio ramdisk
kernel26mm.preset)
build() {
KARCH=x86
cd $startdir/src/linux-$_basekernel
# Add -ARCH patches
# See http://projects.archlinux.org/git/?p=linux-2.6-ARCH.git;a=summary
patch -Np1 -i $startdir/src/patch-2.6.28-rc2 || return 1
patch -Np1 -i $startdir/src/2.6.28-rc2-mm1 || return 1
patch -Np1 -i $startdir/src/iosched-bfq-01-prepare-iocontext-handling.patch || return 1
patch -Np1 -i $startdir/src/iosched-bfq-02-add-bfq-scheduler.patch || return 1
patch -Np1 -i $startdir/src/iosched-bfq-03-update-kconfig-kbuild.patch || return 1
patch -Np1 -i $startdir/src/zen.git-aircrack.patch || return 1
patch -Np1 -i $startdir/src/march-native.patch || return 1
sed -i 's|^EXTRAVERSION = .*$|EXTRAVERSION =|g' Makefile
if [ "$CARCH" = "x86_64" ]; then
cat ../config.x86_64 >./.config
else
cat ../config >./.config
fi
# build the full kernel version to use in pathnames
. ./.config
### next line is only needed for rc kernels
#_kernver="2.6.25${CONFIG_LOCALVERSION}"
_kernver="2.6.28${CONFIG_LOCALVERSION}"
# load configuration
make menuconfig
# build!
####################
# stop here
# this is useful to configure the kernel
#msg "Stopping build"
#return 1
####################
make 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.map26mm
cp arch/$KARCH/boot/bzImage $startdir/pkg/boot/vmlinuz26mm
install -D -m644 Makefile \
$startdir/pkg/usr/src/linux-${_kernver}/Makefile
install -D -m644 kernel/Makefile \
$startdir/pkg/usr/src/linux-${_kernver}/kernel/Makefile
install -D -m644 .config \
$startdir/pkg/usr/src/linux-${_kernver}/.config
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/include
for i in acpi asm-{generic,x86} config linux math-emu media net pcmcia scsi sound 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 Module.symvers $startdir/pkg/usr/src/linux-${_kernver}
cp -a scripts $startdir/pkg/usr/src/linux-${_kernver}
# fix permissions on scripts dir
chmod og-w -R $startdir/pkg/usr/src/linux-${_kernver}/scripts
#mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/.tmp_versions
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/arch/$KARCH/kernel
cp arch/$KARCH/Makefile $startdir/pkg/usr/src/linux-${_kernver}/arch/$KARCH/
if [ "$CARCH" = "i686" ]; then
cp arch/$KARCH/Makefile_32.cpu $startdir/pkg/usr/src/linux-${_kernver}/arch/$KARCH/
fi
cp arch/$KARCH/kernel/asm-offsets.s $startdir/pkg/usr/src/linux-${_kernver}/arch/$KARCH/kernel/
# add headers for lirc package
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/drivers/media/video
cp drivers/media/video/*.h $startdir/pkg/usr/src/linux-${_kernver}/drivers/media/video/
for i in bt8xx cpia2 cx25840 cx88 em28xx et61x251 pwc saa7134 sn9c102 usbvideo zc0301; do
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/drivers/media/video/$i
cp -a drivers/media/video/$i/*.h $startdir/pkg/usr/src/linux-${_kernver}/drivers/media/video/$i
done
# add dm headers
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/drivers/md
cp drivers/md/*.h $startdir/pkg/usr/src/linux-${_kernver}/drivers/md
# add inotify.h
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/include/linux
cp include/linux/inotify.h $startdir/pkg/usr/src/linux-${_kernver}/include/linux/
# add CLUSTERIP file for iptables
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/net/ipv4/netfilter/
# add wireless headers
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/net/mac80211/
cp net/mac80211/*.h $startdir/pkg/usr/src/linux-${_kernver}/net/mac80211/
# add dvb headers for external modules
# in reference to:
# http://bugs.archlinux.org/task/9912
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core
cp drivers/media/dvb/dvb-core/*.h $startdir/pkg/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core/
# add dvb headers for external modules
# in reference to:
# http://bugs.archlinux.org/task/11194
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/include/config/dvb/
cp include/config/dvb/*.h $startdir/pkg/usr/src/linux-${_kernver}/include/config/dvb/
# add xfs and shmem for aufs building
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/fs/xfs
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/mm
cp fs/xfs/xfs_sb.h $startdir/pkg/usr/src/linux-${_kernver}/fs/xfs/xfs_sb.h
# add vmlinux
cp vmlinux $startdir/pkg/usr/src/linux-${_kernver}
# 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-$KARCH asm
chown -R root.root $startdir/pkg/usr/src/linux-${_kernver}
find $startdir/pkg/usr/src/linux-${_kernver} -type d -exec chmod 755 {} \;
cd $startdir/pkg/lib/modules/${_kernver} && \
(rm -f source build; ln -sf ../../../usr/src/linux-${_kernver} build)
# install fallback mkinitcpio.conf file and preset file for kernel
install -m644 -D $startdir/src/${pkgname}.preset $startdir/pkg/etc/mkinitcpio.d/${pkgname}.preset || return 1
# set correct depmod command for install
sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" $startdir/kernel26mm.install
echo -e "# DO NOT EDIT THIS FILE\nALL_kver='${_kernver}'" > ${startdir}/pkg/etc/mkinitcpio.d/${pkgname}.kver
# remove unneeded architectures
rm -rf $startdir/pkg/usr/src/linux-${_kernver}/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa}
}
just replace all the kernel26mm by kernel26mycustomkernelname. same below with the install file and of course in your kernel config.
# arg 1: the new package version
# arg 2: the old package version
KERNEL_VERSION=2.6.28-mm
post_install () {
# updating module dependencies
echo ">>> Updating module dependencies. Please wait ..."
depmod $KERNEL_VERSION > /dev/null 2>&1
# generate init ramdisks
echo ">>> MKINITCPIO SETUP"
echo ">>> ----------------"
echo ">>> If you use LVM2, Encrypted root or software RAID,"
echo ">>> Ensure you enable support in /etc/mkinitcpio.conf ."
echo ">>> More information about mkinitcpio setup can be found here:"
echo ">>> http://wiki.archlinux.org/index.php/Mkinitcpio"
echo ""
echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..."
/sbin/mkinitcpio -p kernel26mm
}
post_upgrade() {
pacman -Q grub &>/dev/null
hasgrub=$?
pacman -Q lilo &>/dev/null
haslilo=$?
# reminder notices
if [ $haslilo -eq 0 ]; then
echo ">>>"
if [ $hasgrub -eq 0 ]; then
echo ">>> If you use the LILO bootloader, you should run 'lilo' before rebooting."
else
echo ">>> You appear to be using the LILO bootloader. You should run"
echo ">>> 'lilo' before rebooting."
fi
echo ">>>"
fi
if grep "/boot" /etc/fstab 2>&1 >/dev/null; then
if ! grep "/boot" /etc/mtab 2>&1 >/dev/null; then
echo "WARNING: /boot appears to be a seperate partition but is not mounted"
echo " This is most likely not what you want. Please mount your /boot"
echo " partition and reinstall the kernel unless you are sure this is OK"
fi
fi
# updating module dependencies
echo ">>> Updating module dependencies. Please wait ..."
depmod -v $KERNEL_VERSION > /dev/null 2>&1
echo ">>> MKINITCPIO SETUP"
echo ">>> ----------------"
echo ">>> If you use LVM2, Encrypted root or software RAID,"
echo ">>> Ensure you enable support in /etc/mkinitcpio.conf ."
echo ">>> More information about mkinitcpio setup can be found here:"
echo ">>> http://wiki.archlinux.org/index.php/Mkinitcpio"
echo ""
echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..."
if [ "`vercmp $2 2.6.19`" -lt 0 ]; then
/sbin/mkinitcpio -p kernel26mm -m "ATTENTION:\nIf you get a kernel panic below
and are using an Intel chipset, append 'earlymodules=piix' to the
kernel commandline"
else
/sbin/mkinitcpio -p kernel26mm
fi
if [ "`vercmp $2 2.6.21`" -lt 0 ]; then
echo ""
echo "Important ACPI Information:"
echo ">>> Since 2.6.20.7 all possible ACPI parts are modularized."
echo ">>> The modules are located at:"
echo ">>> /lib/modules/$(uname -r)/kernel/drivers/acpi"
echo ">>> For more information about ACPI modules check this wiki page:"
echo ">>> 'http://wiki.archlinux.org/index.php/ACPI_modules'"
fi
}
op=$1
shift
$op $*
Last edited by bangkok_manouel (2009-01-27 13:55:34)
Offline
Search the forum for posts by big_gie. He created a PKGBUILD specifically for custom kernel compilation that has gotten very good reviews. You may want to try that out.
archlinux - please read this and this — twice — then ask questions.
--
http://rsontech.net | http://github.com/rson
Offline
hi...i'm new of this forum and new of archlinux
i'm tryng to compiling a custom kernel in order not to replace the kernel26 package.. i prefere to make it with abs for managing it with pacman.. i followed the wiki but something went wrong.... i used both the pkgbuild i found on the wiki but nothing...can someone help me please??
Hello, I made this AUR package to make a parallel -ARCH kernel: http://aur.archlinux.org/packages.php?ID=23467
You will be able to customize because the PKGBUILD uses the "make menuconfig". I made sure that everything builds with the name "-ARCHparallel" and "26parallel" so that you don't overwrite any default "-ARCH" or "26" files and directories.
Last edited by methuselah (2009-01-27 18:13:01)
Offline
@rson451: searching now
@methuselah: tnx for sharing this pkgbuild i'll try it and have a look for finding where i was wrong
update: worked fine for me with both methods
tnx to everybody!!!
Last edited by lorenzo87 (2009-01-28 10:47:56)
Offline