Compile Kernel with ABS
I'm trying to figure out how to compile a kernel using the ABS. My biggest problem is that I cant figure out where to get the stock config file. A couple of wikis and posts refer to files that I don't seem to have. I was also wondering how the initram used in the newer kernels affects compiling a new one. Do I need to create one with my custom kernel or is it something I shouldn't worry about? Thanks.
Start here
You can get the stock Arch config from abs (simply run abs with root perms and see /var/abs/kernels).
However, whether you want to use initramfs is not yet covered in the wiki. In theory, if you are building your own kernel for your machine and no other, you don't need to use initramfs, unless you want to use an encrypted root partition - you probably don't at this point.
Similar Messages
-
Recompile a compiled kernel with ABS
I had been compiling my own kernel with the traditional method for ages. Sometimes ago, I decided to try the ABS method, modifying properly a PKGBUILD for the kernels provided by arch. I now appreciate the provided automation and the ease in combining arch patches with the patches I need or like.
After a deep personalization of the PKGBUILD, there is now only a feature of the old method I continue to miss. It is when I decide to change something in the configuration of a kernel I have already compiled, and I want to recompile it. If I do so with the traditional method, the previous compilation is somewaht "cached" and only what is actually different is compiled again: thus, the recompilation time is apparently shorter than the time needed by the first compilation.
I am not able to do the same with the ABS method. It seems that the directory with the kernel source into src/ is rewritten every time (i.e., the kernel package is untarred also when is already there). Moreover, I also need to delete completely src/ or part of his content, otherwise makepkg complains about patches already being there. Is there a way to avoid this behaviour, so to shorten the recompilation time?Yes, ccache drastically reduces recompilation times (for my kernel, from 30 min to 5 min). However, when you change just a couple of peripheric things in config, 5 minutes are too much. Anyway, thanks a lot.
-
About compiling a kernel with ABS
So I was following the guide on the wiki about compiling a new kernel with ABS. I wanted to try and make a kernel that didn't need to use initramfs. I thought I could do it by not enabling the kernel to have the ability to use initramfs, and I think I also added the right modules to be built into it not have them be modules ( any idea if I can make sure I chose the correct drivers). After I was done I needed to install in using pacman -U. It told me it conflicted with kernel26 or something, and it asked if I wanted to replace it. Do I want to replace the current with the new? Or can I have them side by side? I know I can have multiple kernels, so it confused me a little.
Still new with all this, but I'm pretty sure you don't want to replace your current kernel, or you could mess your system up should your newly compiled kernel not work.
When you created your PKGBUILD did you by any chance forget to change its name? You should have something like "pkgname=linux-custom" (there's more to change, check the wiki for the full list) instead, so that your new kernel will be called "linux-custom" (or whatever you call it), and it can be installed alongside the (Arch) official "linux"
After that, you can put both in your bootloader, and boot the one you want. But yeah I think you definitely want to keep the official kernel alongside yours, just in case. -
[Solved] Compiling a new kernel with ABS
I've made it through the whole process outlined in the wiki, up to installing with pacman. Pacman is telling me that the stock arch kernel is a conflicting package and wants to remove it. I want to hang on to it in case I've messed something up. What am I doing wrong? I know you can have two kernels installed. Using the traditional way I can get this, but I'd rather keep to doing things The Arch Way.
Last edited by Morrvick (2011-11-17 00:40:30)I double checked what I was doing, and I have done that. Here is my modified PKGBUILD:
# $Id: PKGBUILD 130991 2011-07-09 12:23:51Z thomas $
# Maintainer: Tobias Powalowski <[email protected]>
# Maintainer: Thomas Baechler <[email protected]>
pkgbase=linux
#pkgname=('linux' 'linux-headers' 'linux-docs') # Build stock -ARCH kernel
pkgname=('linux-morrvick' 'linux-headers-morrvick') # Build kernel with a different name
_kernelname=${pkgname#linux}
_basekernel=3.1
pkgver=${_basekernel}.1
pkgrel=1
arch=('i686' 'x86_64')
url="http://www.kernel.org/"
license=('GPL2')
makedepends=('xmlto' 'docbook-xsl')
options=('!strip')
source=("http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.1.tar.xz"
"http://www.kernel.org/pub/linux/kernel/v3.x/patch-${pkgver}.xz"
# the main kernel config files
'config' 'config.x86_64'
# standard config files for mkinitcpio ramdisk
"${pkgname}.preset"
'change-default-console-loglevel.patch'
'i915-fix-ghost-tv-output.patch'
'i915-fix-incorrect-error-message.patch'
'usb-add-reset-resume-quirk-for-several-webcams.patch')
md5sums=('edbdc798f23ae0f8045c82f6fa22c536'
'2bf7eb28a58238e1a062fa7393bf7824'
'cbaaa923f00c1935055273ccc1630144'
'93687a4b7e1e6bcd4e7417d6e5079bc4'
'eb14dcfd80c00852ef81ded6e826826a'
'9d3c56a4b999c8bfbd4018089a62f662'
'263725f20c0b9eb9c353040792d644e5'
'a50c9076012cb2dda49952dc6ec3e9c1'
'52d41fa61e80277ace2b994412a0c856')
build() {
cd "${srcdir}/linux-${_basekernel}"
# add upstream patch
patch -p1 -i "${srcdir}/patch-${pkgver}"
# add latest fixes from stable queue, if needed
# http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git
# Some chips detect a ghost TV output
# mailing list discussion: http://lists.freedesktop.org/archives/intel-gfx/2011-April/010371.html
# Arch Linux bug report: FS#19234
# It is unclear why this patch wasn't merged upstream, it was accepted,
# then dropped because the reasoning was unclear. However, it is clearly
# needed.
patch -Np1 -i "${srcdir}/i915-fix-ghost-tv-output.patch"
# In 3.1.1, a DRM_DEBUG message is falsely declared as DRM_ERROR. This
# worries users, as this message is displayed even at loglevel 4. Fix
# this.
patch -Np1 -i "${srcdir}/i915-fix-incorrect-error-message.patch"
# Add the USB_QUIRK_RESET_RESUME for several webcams
# FS#26528
patch -Np1 -i "${srcdir}/usb-add-reset-resume-quirk-for-several-webcams.patch"
# set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param)
# remove this when a Kconfig knob is made available by upstream
# (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227)
patch -Np1 -i "${srcdir}/change-default-console-loglevel.patch"
if [ "${CARCH}" = "x86_64" ]; then
cat "${srcdir}/config.x86_64" > ./.config
else
cat "${srcdir}/config" > ./.config
fi
if [ "${_kernelname}" != "" ]; then
sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" ./.config
fi
# set extraversion to pkgrel
sed -ri "s|^(EXTRAVERSION =).*|\1 -${pkgrel}|" Makefile
# get kernel version
make prepare
# load configuration
# Configure the kernel. Replace the line below with one of your choice.
#make menuconfig # CLI menu for configuration
#make nconfig # new CLI menu for configuration
make xconfig # X-based configuration
#make oldconfig # using old config from previous kernel version
# ... or manually edit .config
# stop here
# this is useful to configure the kernel
#msg "Stopping build"
#return 1
yes "" | make config
# build!
make ${MAKEFLAGS} bzImage modules
package_linux-morrvick() {
pkgdesc="The Linux Kernel and modules"
groups=('base')
depends=('coreutils' 'linux-firmware' 'module-init-tools>=3.16' 'mkinitcpio>=0.7')
optdepends=('crda: to set the correct wireless channels of your country')
provides=('kernel26')
conflicts=('kernel26')
replaces=('kernel26')
backup=("etc/mkinitcpio.d/${pkgname}.preset")
install=${pkgname}.install
cd "${srcdir}/linux-${_basekernel}"
KARCH=x86
# get kernel version
_kernver="$(make kernelrelease)"
mkdir -p "${pkgdir}"/{lib/modules,lib/firmware,boot}
make INSTALL_MOD_PATH="${pkgdir}" modules_install
cp arch/$KARCH/boot/bzImage "${pkgdir}/boot/vmlinuz-${pkgname}"
# add vmlinux
install -D -m644 vmlinux "${pkgdir}/usr/src/linux-${_kernver}/vmlinux"
# install fallback mkinitcpio.conf file and preset file for kernel
install -D -m644 "${srcdir}/${pkgname}.preset" "${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset"
# set correct depmod command for install
sed \
-e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/g" \
-e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \
-i "${startdir}/${pkgname}.install"
sed \
-e "s|ALL_kver=.*|ALL_kver=\"/boot/vmlinuz-${pkgname}\"|g" \
-e "s|default_image=.*|default_image=\"/boot/initramfs-${pkgname}.img\"|g" \
-e "s|fallback_image=.*|fallback_image=\"/boot/initramfs-${pkgname}-fallback.img\"|g" \
-i "${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset"
# remove build and source links
rm -f "${pkgdir}"/lib/modules/${_kernver}/{source,build}
# remove the firmware
rm -rf "${pkgdir}/lib/firmware"
# gzip -9 all modules to save 100MB of space
find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \;
# make room for external modules
ln -s "../extramodules-${_basekernel}${_kernelname:--ARCH}" "${pkgdir}/lib/modules/${_kernver}/extramodules"
# add real version for building modules and running depmod from post_install/upgrade
mkdir -p "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--ARCH}"
echo "${_kernver}" > "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--ARCH}/version"
package_linux-headers-morrvick() {
pkgdesc="Header files and scripts for building modules for linux kernel"
provides=('kernel26-headers')
conflicts=('kernel26-headers')
replaces=('kernel26-headers')
mkdir -p "${pkgdir}/lib/modules/${_kernver}"
cd "${pkgdir}/lib/modules/${_kernver}"
ln -sf ../../../usr/src/linux-${_kernver} build
cd "${srcdir}/linux-${_basekernel}"
install -D -m644 Makefile \
"${pkgdir}/usr/src/linux-${_kernver}/Makefile"
install -D -m644 kernel/Makefile \
"${pkgdir}/usr/src/linux-${_kernver}/kernel/Makefile"
install -D -m644 .config \
"${pkgdir}/usr/src/linux-${_kernver}/.config"
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include"
for i in acpi asm-generic config crypto drm generated linux math-emu \
media net pcmcia scsi sound trace video xen; do
cp -a include/${i} "${pkgdir}/usr/src/linux-${_kernver}/include/"
done
# copy arch includes for external modules
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/arch/x86"
cp -a arch/x86/include "${pkgdir}/usr/src/linux-${_kernver}/arch/x86/"
# copy files necessary for later builds, like nvidia and vmware
cp Module.symvers "${pkgdir}/usr/src/linux-${_kernver}"
cp -a scripts "${pkgdir}/usr/src/linux-${_kernver}"
# fix permissions on scripts dir
chmod og-w -R "${pkgdir}/usr/src/linux-${_kernver}/scripts"
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/.tmp_versions"
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/kernel"
cp arch/${KARCH}/Makefile "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/"
if [ "${CARCH}" = "i686" ]; then
cp arch/${KARCH}/Makefile_32.cpu "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/"
fi
cp arch/${KARCH}/kernel/asm-offsets.s "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/kernel/"
# add headers for lirc package
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video"
cp drivers/media/video/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/"
for i in bt8xx cpia2 cx25840 cx88 em28xx et61x251 pwc saa7134 sn9c102; do
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/${i}"
cp -a drivers/media/video/${i}/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/${i}"
done
# add docbook makefile
install -D -m644 Documentation/DocBook/Makefile \
"${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile"
# add dm headers
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/md"
cp drivers/md/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/md"
# add inotify.h
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include/linux"
cp include/linux/inotify.h "${pkgdir}/usr/src/linux-${_kernver}/include/linux/"
# add wireless headers
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/"
cp net/mac80211/*.h "${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/"
# add dvb headers for external modules
# in reference to:
# http://bugs.archlinux.org/task/9912
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core"
cp drivers/media/dvb/dvb-core/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core/"
# and...
# http://bugs.archlinux.org/task/11194
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/"
cp include/config/dvb/*.h "${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/"
# add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new
# in reference to:
# http://bugs.archlinux.org/task/13146
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/"
cp drivers/media/dvb/frontends/lgdt330x.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/"
cp drivers/media/video/msp3400-driver.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/"
# add dvb headers
# in reference to:
# http://bugs.archlinux.org/task/20402
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-usb"
cp drivers/media/dvb/dvb-usb/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-usb/"
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends"
cp drivers/media/dvb/frontends/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/"
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/common/tuners"
cp drivers/media/common/tuners/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/common/tuners/"
# add xfs and shmem for aufs building
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/fs/xfs"
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/mm"
cp fs/xfs/xfs_sb.h "${pkgdir}/usr/src/linux-${_kernver}/fs/xfs/xfs_sb.h"
# copy in Kconfig files
for i in `find . -name "Kconfig*"`; do
mkdir -p "${pkgdir}"/usr/src/linux-${_kernver}/`echo ${i} | sed 's|/Kconfig.*||'`
cp ${i} "${pkgdir}/usr/src/linux-${_kernver}/${i}"
done
chown -R root.root "${pkgdir}/usr/src/linux-${_kernver}"
find "${pkgdir}/usr/src/linux-${_kernver}" -type d -exec chmod 755 {} \;
# strip scripts directory
find "${pkgdir}/usr/src/linux-${_kernver}/scripts" -type f -perm -u+w 2>/dev/null | while read binary ; do
case "$(file -bi "${binary}")" in
*application/x-sharedlib*) # Libraries (.so)
/usr/bin/strip ${STRIP_SHARED} "${binary}";;
*application/x-archive*) # Libraries (.a)
/usr/bin/strip ${STRIP_STATIC} "${binary}";;
*application/x-executable*) # Binaries
/usr/bin/strip ${STRIP_BINARIES} "${binary}";;
esac
done
# remove unneeded architectures
rm -rf "${pkgdir}"/usr/src/linux-${_kernver}/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa}
package_linux-docs() {
pkgdesc="Kernel hackers manual - HTML documentation that comes with the Linux kernel."
provides=('kernel26-docs')
conflicts=('kernel26-docs')
replaces=('kernel26-docs')
cd "${srcdir}/linux-${_basekernel}"
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}"
cp -al Documentation "${pkgdir}/usr/src/linux-${_kernver}"
find "${pkgdir}" -type f -exec chmod 444 {} \;
find "${pkgdir}" -type d -exec chmod 755 {} \;
# remove a file already in linux package
rm -f "${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile"
After the compiling is finished:
sudo pacman -U linux-morrvick-3.1.1-1-x86_64.pkg.tar.xz
Password:
resolving dependencies...
looking for inter-conflicts...
:: linux-morrvick and linux are in conflict (kernel26). Remove linux? [y/N] n
error: unresolvable package conflicts detected
error: failed to prepare transaction (conflicting dependencies)
:: linux-morrvick and linux are in conflict (kernel26)
Any thoughts? -
[Solved] Compiling kernel with 'localmodcfg' - 'brcmsmac' missing
Hi all,
I want to compile my own optimized ck-kernel with localmodcfg="y" which works mostly.
However there is a small problem.
The module 'brcmsmac' for the WLAN card is never included although it is listed in my modprobed.db.
Does someone have any clue what could be the cause?
Thanks
Radioactiveman
Last edited by Radioactiveman (2012-01-13 16:36:15)A minor fix for the patch by Steven Rostedt solved my issue.
I have compiled linux-ck 3.2.1-2 with localmodconfig today and brcmsmac is now included.
Marking the thread as solved, thanks to Steve.
Patch file:
diff --git a/scripts/kconfig/streamline_config.pl b/scripts/kconfig/streamline_config.pl
index ec7afce..bccf07d 100644
--- a/scripts/kconfig/streamline_config.pl
+++ b/scripts/kconfig/streamline_config.pl
@@ -250,33 +250,61 @@ if ($kconfig) {
read_kconfig($kconfig);
+sub convert_vars {
+ my ($line, %vars) = @_;
+
+ my $process = "";
+
+ while ($line =~ s/^(.*?)(\$\((.*?)\))//) {
+ my $start = $1;
+ my $variable = $2;
+ my $var = $3;
+
+ if (defined($vars{$var})) {
+ $process .= $start . $vars{$var};
+ } else {
+ $process .= $start . $variable;
+ }
+ }
+
+ $process .= $line;
+
+ return $process;
+}
+
# Read all Makefiles to map the configs to the objects
foreach my $makefile (@makefiles) {
- my $cont = 0;
+ my $line = "";
+ my %make_vars;
open(MIN,$makefile) || die "Can't open $makefile";
while (<MIN>) {
+ # if this line ends with a backslash, continue
+ chomp;
+ if (/^(.*)\\$/) {
+ $line .= $1;
+ next;
+ }
+
+ $line .= $_;
+ $_ = $line;
+ $line = "";
+
my $objs;
- # is this a line after a line with a backslash?
- if ($cont && /(\S.*)$/) {
- $objs = $1;
- $cont = 0;
+ $_ = convert_vars($_, %make_vars);
# collect objects after obj-$(CONFIG_FOO_BAR)
if (/obj-\$\((CONFIG_[^\)]*)\)\s*[+:]?=\s*(.*)/) {
$var = $1;
$objs = $2;
+
+ # check if variables are set
+ } elsif (/^\s*(\S+)\s*[:]?=\s*(.*\S)/) {
+ $make_vars{$1} = $2;
if (defined($objs)) {
- # test if the line ends with a backslash
- if ($objs =~ m,(.*)\\$,) {
- $objs = $1;
- $cont = 1;
foreach my $obj (split /\s+/,$objs) {
$obj =~ s/-/_/g;
if ($obj =~ /(.*)\.o$/) {
Last edited by Radioactiveman (2012-01-13 16:37:06) -
[Solved]Error compiling kernel from abs
Hello Everyone,
I've hit a wall trying to compile the kernel from the abs. I get this error message:
patching file fs/fat/inode.c
Hunk #1 succeeded at 800 (offset 74 lines).
HOSTCC scripts/basic/fixdep
/bin/sh: scripts/basic/fixdep: cannot execute binary file
make[2]: *** [scripts/basic/fixdep] Error 126
make[1]: *** [scripts_basic] Error 2
SYSHDR arch/x86/syscalls/../include/generated/asm/unistd_32.h
SYSHDR arch/x86/syscalls/../include/generated/asm/unistd_64.h
make: *** No rule to make target `include/config/auto.conf', needed by `include/config/kernel.release'. Stop.
make: *** Waiting for unfinished jobs....
HOSTCC scripts/basic/fixdep
SYSHDR arch/x86/syscalls/../include/generated/asm/unistd_x32.h
SYSTBL arch/x86/syscalls/../include/generated/asm/syscalls_32.h
/bin/sh: scripts/basic/fixdep: cannot execute binary file
make[1]: *** [scripts/basic/fixdep] Error 126
make: *** [scripts_basic] Error 2
==> ERROR: A failure occurred in build().
Aborting...
While trying to figure this out I came across this post: https://bbs.archlinux.org/viewtopic.php?id=99089 and have tried the solutions presented. I did end up having to change my fstab to include defaults,
/dev/sda3 /home ext4 defaults,exec,rw,relatime,data=ordered 0 2
and the permissions on scripts/basic/fixdep are: -rwxr-xr-x which i think it correct.
Unfortunately, the problem still exists and I don't know how to continue trouble shooting. Can someone point me in a direction to troubleshoot this?
Last edited by magyarm (2012-12-20 01:55:00)magyarm wrote:So now, I need to figure out a good way to handle multiple compilers on my system to prevent this from happening again. If anyone has any tips I would love to hear them.
Set up a file that you source from bash to prepend the cross compiler to your path, that would only be active for that shell, and when you're done just close it. Means you only activate the cross compiler when you need it. -
Update modules with compiling kernel from soure issue.
Compiling kernel from abs or aur take me much time, so i decide compile kernel from source, compilation and installation successfully but make initial RAM disk doesn't update full modules (crypto,lvm...). I specified -c option to /etc/mkinitcpio.conf but the result is the sam, non-autodectec doesn't help too. When i look into /lib/modules directory, 3.6.6-1-ARCH folder contain "kernel" folder which has a lot of things (arch, crypto, net..) and i think this is my extra modules were declared in HOOK array's mkinitcpio.conf. The another one only contain net folder so i can't boot into this kernel without having loaded others.
any suggestion for this problem? tks for reply.am sorry, i re-tried with HOOK array without autodectect and it can load modules but there are two error:
==> ERROR: module not found: `dm-crypt`
==> ERROR: modules not found: `dm-snapshot`
ok i will try to load these modules by manually.
EDIT: i tried to load dm-mod, dm-crypt, dm-snapshot but it isn't helpful. Errors still remain. any suggestion?
Last edited by angelfalls (2012-11-12 23:33:53) -
[SOLVED] Compiling kernel PKGBUILD from ABS (2.6.34)
So I'm currently compiling a kernel from ABS, and its been running som docbook stuff for 2-3 hours now which I've never seen before when compiling a kernel with ABS.
I commented out the line that allowed me to edit the config with make menuconfig. I tweaked the kernel to 1000hz and set up my cpu family.
Is this normal? Im pretty sure this didnt happen when I compiled 2.6.33.4 from ABS
This is what its been spamming for the past ~2 hours:
Note: Writing struct_usb_host_ss_ep_comp.9
Warn: meta author : no refentry/info/author struct usb_host_endpoint
Note: meta author : see http://docbook.sf.net/el/author struct usb_host_endpoint
Warn: meta author : no author data, so inserted a fixme struct usb_host_endpoint
Note: Writing struct_usb_host_endpoint.9
Warn: meta author : no refentry/info/author struct usb_interface
Note: meta author : see http://docbook.sf.net/el/author struct usb_interface
Warn: meta author : no author data, so inserted a fixme struct usb_interface
Note: Writing struct_usb_interface.9
Warn: meta author : no refentry/info/author struct usb_interface_cache
Note: meta author : see http://docbook.sf.net/el/author struct usb_interface_cache
Warn: meta author : no author data, so inserted a fixme struct usb_interface_cache
Last edited by XAM (2010-06-29 06:19:50)Coacher wrote:Since 2.6.34 there is also kernel26-manpages and kernel26-docs packages that also placed in kernel26 PKGBUILD.
I've never compiled that docs stuff for myself so cant say how long it takes, but if you need only new kernel26 package you can safely wipe out that lines from PKGBUILD.
wow, thats good to hear. Took ages compiling with it there. -
Linux 3.14.2-1 ARCH config error - will not build with ABS [SOLVED]
Hi Guys,
I need to compile my kernels with ABS because I need 16 DVB adaptors instead of 8. This works normally just fine. Today I tried to compile newest kernel and got following error during config. For the record 3.14.1-1 built just fine.
Makefile:615: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong not supported by compiler
SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_32.h
SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_64.h
SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_x32.h
SYSTBL arch/x86/syscalls/../include/generated/asm/syscalls_32.h
SYSHDR arch/x86/syscalls/../include/generated/asm/unistd_32_ia32.h
CHK include/config/kernel.release
SYSHDR arch/x86/syscalls/../include/generated/asm/unistd_64_x32.h
UPD include/config/kernel.release
SYSTBL arch/x86/syscalls/../include/generated/asm/syscalls_64.h
WRAP arch/x86/include/generated/asm/clkdev.h
CHK include/generated/uapi/linux/version.h
UPD include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
UPD include/generated/utsrelease.h
HOSTCC arch/x86/tools/relocs_32.o
HOSTCC arch/x86/tools/relocs_64.o
HOSTCC arch/x86/tools/relocs_common.o
HOSTLD arch/x86/tools/relocs
CC kernel/bounds.s
gcc: error: unrecognized command line option ‘-fstack-protector-strong’
/home/server/core/linux/src/linux-3.14/./Kbuild:35: recipe for target 'kernel/bounds.s' failed
make[1]: *** [kernel/bounds.s] Error 1
Makefile:884: recipe for target 'prepare0' failed
make: *** [prepare0] Error 2
==> ERROR: A failure occurred in prepare().
Aborting...
Thanks for the help
Last edited by wdirksen (2014-05-02 20:31:32)wdirksen wrote:...I just moved to New Zealand...
Beautiful part of the the world... you just need to watch out for Saruman and his orc army
wdirksen wrote:... and the packages in the NZ mirror are not all in sync at the same time.
Use reflector....
% which upp
upp: aliased to reflector -c "United States" -a 1 -f 3 --sort rate --save /etc/pacman.d/mirrorlist && cat /etc/pacman.d/mirrorlist && sudo pacman -Syyu
You need to `chmod youruser:yourgroup /etc/pacman.conf` for that to work if run by non-root.
Last edited by graysky (2014-05-02 20:33:38) -
Pactching kernel with fbsplash.patch (SOLVED)
Never patched a kernel before and i'm having problems!!
This what i've done so far (as root):
1. Installed kernel26-ck (2.6.22-ck) with pacman and rebooted into arch using that kernel
2. downloaded the fbsplash via (genpatches-2.6.22-1.extras.tar.bz2)
3. put the splash.patch file into /usr/src
4. made a symlink for current kernel in /usr/src; giving /usr/src/linux --> /usr/src/linux/linux-2.6.22-ck
5. cd /usr/src/linux
6. patch -p1 < ../splash.patch
# NOTE: looking into using the abs method of PKGBUILD'ing a custom kernel with patches - hopefully i'll do better!!
The best way to do this is by emulating the abs versions of the standard kernel as described in these forums
1. copy the abs version of the stock kernel26
2. adjust the PKGBUILD to include spock's patch (not gentoo's)
3. makepkg
4. pacman -U the new kernel
Then get on with fbsplash!
Last edited by Hongkongblue (2007-08-17 02:58:45)mazu wrote:
I used to use kernel26-beyond kernel with fbsplash. Recently I found out that with this kernel any attempt to mount ntfs disk end with system hung. I switched back to standard kernel, but I want to still use fbsplash. I read the wiki several times but I can't figure out how to patch and compile kernel with fbsplash. Can anyone write step by step what shuld I do?
Thanks for any help in advice.
mazu
Not that it answers your question but I have been using the latest beyond kernel since it came out and have had no problem with mounting and using ntfs disks resulting in system hangs. Also I have recently been using ntfs-3g which allows safely writing to NTFS partitions. I am using it for backups on an external USB drive with an NTFS file system. Give ntf-3g a shot before patching the kernel.
Last edited by raymano (2007-04-14 14:01:35) -
Custom kernel compilation with abs..
Been trying out custom kernel compilation with abs, since i only know the regular make menuconfig style, thought that this would be a good thing to learn.
here is my kernel pkgbuild (showing only the part that i changed):
# Contributor: dibblethewrecker <dibblethewrecker>
pkgname=kernel26
pkgver=2.6.17.13
pkgrel=1
pkgdesc="The Linux Kernel 2.6.x.y and modules (IDE support), built with ... patchset"
url="http://www.kernel.org"
depends=('module-init-tools')
install=kernel26.install
##### if you are using a single patch from a patchset you can add the name, without it's extention, below
patch=2.6.18-rc6-mm2
##### add the names of any patches to this section, ensure you have the correct extentions!
source=($patch.bz2 config ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$pkgver.tar.bz2 )
I want to install the 2.6.18-rc6-mm2, so i downloaded that patch and put it in the same folder as PKGBUILD.
I copied kernel26.install and put it in the same folder as the PKGBUILD.
when running makepkg it asks for a config file.. So i copied the config file in /var/abs/kernels/kernel26/. But this will build with an old config file.. how can i as when doing the manual way, do a make menuconfig and enter the settings i want for this kernel??
thanksI'd say it does too, and I think the problem is here:
jinn wrote:I copied kernel26.install and put it in the same folder as the PKGBUILD.
Did you just copy the install script, or did you edit it to create an image with a unique name? The script is hardcoded to create an image called kernel26.img i.e. the image name required by the stock kernel, so if you ran it as it is, you have overwritten the images for your stock kernel with images for your new kernel.
You might still be able to boot your new kernel with kernel26-fallback.img, but if not you will have to boot your stock kernel using the initrd image, which will have been unaffected.
Once your system is running again, you need to regenerate the kernel26 images using mkinitcpio, and then you can start debugging the problem with your new kernel.
Of course, if you've already edited kernel26.install for your new kernel, ignore the above, and I'll start again. -
Using ABS to compile OpenOffice with KDE3 support?
Hallo,
So I'm trying to use ABS to compile OpenOffice with KDE3 support so I can use the KDE file picker (the KDE4 support is really, really broken and too new to be used right now). I pulled Openoffice-base out of my ABS tree and modified the PKBUILD so that kde was enabled and I made kdelibs3 part of the dependencies.
However, it always says "checking whether KDE is between 3.2 and 3.6... configure: error: KDE version too old or too recent, please use another version of KDE or disable KDE address book support" before failing to compile. I know it's because I'm using KDE4. Is there a way I can trick it into thinking I'm using KDE3?
It says the path to kdelibs is /usr/lib, perhaps if I changed it to the path to kdelibs3? Where would I do that in the PKBUILD?
Thanks a lot!bstaletic wrote:The weird part, at least to me, is that I saw a lot more then 19 modules during compilation. Is this expected for some reason or have I messed something up?
Your build method seems ok to me. Can't really say anything about the .config, but kernel modules can have dependencies too. For example, if you choose to build ext4 as a module, it selects at least jdb2 and crc16 modules to be built as well. -
Older 2.6 kernels with ck (or beyond) patchsets don't compile
Hello! I'm trying to compile 2.6.17 kernel with ck or beyond patchset (i need this one because one of my drivers can be compiled only with 2.6.17 and i really like ck). I can't play with abs because kernel's PKGCONFIG is too complicated for me (and actual probably has small problem when it's necessary to deal with 4 parts kernel names like 2.6.17.7 etc.), if somebody has one working PKGCONFIG (any 2.6.17 with properly beyond or ck) i can try it, thank you.
I was trying to deal with my problem by downloading sources from kernel.org (of course they build properly and work) and patching by appropriate patch from beyond or ck's page. But during compilation i always get errors like
fs/splice.c:1381: error: redefinition of 'link_ipipe_prep'
fs/splice.c:1302: error: previous definition of 'link_ipipe_prep' was here
fs/splice.c:1419: error: redefinition of 'link_opipe_prep'
fs/splice.c:1340: error: previous definition of 'link_opipe_prep' was here
it isn't of course alway splice.c but it alway errors like that. My friend suggested that it could be problem with gcc4 is it possible? Or does anyone know solution for my problem?
Big ThanksAs you haven't been entirely clear about what you're doing, let me outline what I would do in your situation:
- get the 2.6.17 tarball from kernel.org - that's 2.6.17 ONLY, not 2.6.17.y
- get the 2.6.17-ck1 patch tarball from http://www.kernel.org/pub/linux/kernel/ … .6.17-ck1/
- get the corresponding kernel config from cvs.archlinux.org
- get the corresponding PKGBUILD and associated build files from cvs.archlinux.org (optional - only required if you want to use the Arch Build System)
- build
Actually, there may be a shortcut (just occurred to me while typing) - there are a couple of mirrors that archive old versions of Arch packages. They don't do all of them, but you might be lucky. They're listed on the "Downgrading Packages" wiki page.
Just for curiosity, what driver do you need 2.6.17 for? -
Kernel debugging using git bisection method in combination with abs.
Is there any way to use git bisection method for kernel debugging in combination with ABS for building the kernel via makepkg?
Yes, but ABS for kernel uses some patches in order for the kernel to be successfully build.
ftp://ftp.archlinux.org/other/kernel26/
I wanted to know is if there is any way to distinguish what particular patch to use in every bisection point. -
[Solved] kernel 2.6.28.1 compilation fails with reiser4 patch
Hi,
has anyone had problems compiling the latest kernel with the reiser4 patch?
The patching process itself completes successfully apart from this part:
patching file include/linux/fs.h
Hunk #1 succeeded at 1372 (offset 3 lines).
Hunk #2 succeeded at 1811 (offset 3 lines).
patching file mm/filemap.c
While the compilation fails here
CC fs/reiser4/plugin/file/file_conversion.o
fs/reiser4/plugin/file/file_conversion.c: In function 'reiser4_write_begin_careful':
fs/reiser4/plugin/file/file_conversion.c:689: error: implicit declaration of function '__grab_cache_page'
fs/reiser4/plugin/file/file_conversion.c:689: warning: assignment makes pointer from integer without a cast
make[2]: *** [fs/reiser4/plugin/file/file_conversion.o] Error 1
make[1]: *** [fs/reiser4] Error 2
make: *** [fs] Error 2
Or is it just me doing something wrong?
Last edited by moz (2009-01-23 13:08:27)moz wrote:
Hi,
has anyone had problems compiling the latest kernel with the reiser4 patch?
The patching process itself completes successfully apart from this part:
patching file include/linux/fs.h
Hunk #1 succeeded at 1372 (offset 3 lines).
Hunk #2 succeeded at 1811 (offset 3 lines).
patching file mm/filemap.c
While the compilation fails here
CC fs/reiser4/plugin/file/file_conversion.o
fs/reiser4/plugin/file/file_conversion.c: In function 'reiser4_write_begin_careful':
fs/reiser4/plugin/file/file_conversion.c:689: error: implicit declaration of function '__grab_cache_page'
fs/reiser4/plugin/file/file_conversion.c:689: warning: assignment makes pointer from integer without a cast
make[2]: *** [fs/reiser4/plugin/file/file_conversion.o] Error 1
make[1]: *** [fs/reiser4] Error 2
make: *** [fs] Error 2
Or is it just me doing something wrong?
It is a well known issue
Maybe you are looking for
-
Installed adobe flash player and now have a blocked plug-in
Installed Adobe flash player and now have a blocked plug-in. How do I remove this?
-
Error ORA-28009: connection as SYS should be as SYSDBA or SYSOPER
hi, i try to connect to oracle in c#2005. I'm using oralce 10.2.0.3.0 in window vista. i can connect as user scott , but can't do the same thing with use sys like sysdba. i encouter error : "ORA-28009: connection as SYS should be as SYSDBA or SYSOPER
-
HT1338 How do you create a group using imail
I am trying to create several different groups using the address book in imail. I tried the help section to no avail, can someone please help me. Thanks
-
Itunes syncing problem...HELP!
Hello! I've got a REALLY annoying problem with my iPhone currently, out of nowhere it is crashing when syncing on step 2 the backup stage, I've looked through possible suggestions, tried numerous things but cant find a solution! Any ideas!?
-
Material price in PO depending on quantity
Hi All My requirement is that for a particular material and plant if I make a PO of quantity greater than 1000 then system should propose me price of material as 1000 INR but if I make PO of quantity less than 1000 then system should propose me price