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??
    thanks

    I'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 Thanks

    As 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