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?

Similar Messages

  • Vanilla kernel with suspend2 support

    Hey people,
    I have started using the beyond kernel a while ago, because I wanted a precompiled arch kernel with suspend2 support. I used self-compiled vanilla+suspend2 kernels for a while before that, and they were very stable. With beyond, I first got strange bugs, hard to reproduce, suspending or resuming sometimes failed, and the newest version doesn't work at all.
    Just for some testing, I compiled a kernel with the same config and patches as kernel26 AND suspend2 patches included. It seems to work great, much stabler than beyond when suspending.
    What I am asking is, how many people would be interested if such a kernel would be maintained in community and what kernel modules they would need (I am planning to do rt2500, rt2x00, nvidia and maybe ATI, more if requested).
    Please only submit your vote to the poll if you are either a suspend2 user or interested in using suspend2

    brain0 wrote:
    dtw wrote:I think this is a waste of time and energy propogated by a lack of patience.  Do you really want to go to all this trouble, maintain what is in essence a very small but new kernel patchset and all the relevant modules _just_ because suspend2 is a broken in -beyond at the moment?  My Dog, I wish I had such time to spend.
    Can you give me your definition of "at the moment" please? Or better, name a beyond release where suspend2 was stable. I switched to beyond with 2.6.16 and since then it was always unusable for me. With a vanilla kernel, suspend2 hasn't failed for me in a year or so. With beyond, it failed every time I really needed it.
    Admittedly suspend2 may be _generally_ unstable with other patchsets but even still, it'll only take one bulletproof release to invalidate all you are suggesting.
    I won't spend the rest of my life waiting for the beyond release that will work. I'd rather do something about it and provide a kernel that is stable and has that very important feature. (And as tpowa wasn't willing to include suspend2 in kernel26 when I asked him, this is the best shot).
    Awesome -  I dont think I could have said it in better words - however I did try above >
    I have tried many patchsets that had suspend2=swap patches but the never worked or not as well as a vanilla kernel with just suspend2-swap patch.
    Lets do it.

  • 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)

  • Kernel 2.6.19-beyond and i810 driver problem

    while i was using kernel 2.6.19-beyond 
    glxinfo|grep render
    command returned me like this:
    [titus@blackbox ~]$ glxinfo|grep render
    do_wait: drmWaitVBlank returned -1, IRQs don't seem to be working correctly.
    Try running with LIBGL_THROTTLE_REFRESH and LIBL_SYNC_REFRESH unset.
    direct rendering: Yes
    OpenGL renderer string: Mesa DRI Intel(R) 852GM/855GM 20061017 x86/MMX/SSE2
    but now i am using kernel 2.6.20 (not beyond) and that command doesn't return me like above anymore.  does it means  "i can't use kernel26beyond with an interl graphics card?"

    Titus wrote:
    while i was using kernel 2.6.19-beyond 
    glxinfo|grep render
    command returned me like this:
    [titus@blackbox ~]$ glxinfo|grep render
    do_wait: drmWaitVBlank returned -1, IRQs don't seem to be working correctly.
    Try running with LIBGL_THROTTLE_REFRESH and LIBL_SYNC_REFRESH unset.
    direct rendering: Yes
    OpenGL renderer string: Mesa DRI Intel(R) 852GM/855GM 20061017 x86/MMX/SSE2
    but now i am using kernel 2.6.20 (not beyond) and that command doesn't return me like above anymore.  does it means  "i can't use kernel26beyond with an interl graphics card?"
    nope, should work fine, i remember seeing this on one of my computers and there were no problems. that said, it shouldnt appear in any future versions.

  • Does anyone know how to connect an older 20" cinema display with the (ADC) adapter end and connect it to a MacBook Pro 17" 2008 model (DVI) ?????

    Does anyone know how to connect an older 20" cinema display with the (ADC) adapter end and connect it to a MacBook Pro 17" 2008 model (DVI) ?????

    I believe you naeed the Apple ADC to DVI adapter.

  • I'm using an older iMac G5 (PowerPC) with Firefox and MacOs 10.5.8. I no longer am able to watch video clips because Firefox recently auto-updated to 3.6.24; is there an older version of FireFox that would work with my PowerPC, and where do I find it

    I used to be able to watch video clips off a streaming website, but it's been getting more difficult and now it no longer works. I suspect that my older Power PC G5 Mac is not compatible with the newer Firefox version of 3.6.24. I suspect that if I used an older version of Firefox with my system, I could get back to watching video clips. Would this work, and if so, where can I download an earler version of Firefox that would be compatible with my Mac and MacOs 10.5.8?

    You might want to consider extending the lifespan of your G5 by using a different operating system. I put [https://en.wikipedia.org/wiki/Lubuntu Lubuntu] on a G5 recently and it runs the newest Firefox just fine. Lubuntu (pronounced Loo-boon-two) is sort of an Ubuntu lite - a user-friendly version of Linux. There are many applications to choose from, and it's all free.
    The PowerPC I did this on was one of the old Bondi Blue ones. Firefox had no problem running on it at all and has all plug-ins needed for video, audio, etc.. I gave it to a church and it's running fine for them.
    You can download old versions of Firefox, but you'll just open yourself up to security problems if you do.
    FYI: The Mac operating system is built on Linux.

  • Can older charger be used with MacBook Air?

    Can older charger be used with MacBook Air? Charger with cylindrical magnetic male end was lost. Charger for older white plastic MacBook is available, but is it safe to use with MacBook Air.

    You have to use the right power adapter.
    You can order one from Apple store.
    https://support.apple.com/en-us/HT201700
    Best.

  • How to create a custom kernel with initrd and ARCH patches

    Hi,
    I like the default kernel because everything seems to work well and I think the Arch kernel includes patches I need (such as the mactel patch). But some options that i would like to be enabled are not. in fact i would like to use powertop but i can't because it needs the CONFIG_TIMER_STATS option.
    What I would like is a kernel based on the arch kernel but with a different config file. Nothing more.
    if i look at the solution on the Wiki, I see that I have to add all patches the standard kernel have ... Moreover there is no initrd creation. i think i will need it if I use the Arch kernel configuration.
    And if i use the kernel26 PKGBUILD, I must change the package name in order to keep my current kernel. It's easy to do in the PKGBUILD but much more complicated to do it in the kernel26.install file beacuse I have to change the filenames in /boot and I do not want to replace the kernel26 files.
    So do you have any ideas how to compile my custom kernel ? Is there a better solution ?
    Thanks.
    Mildred.
    Last edited by mildred (2007-07-03 01:46:33)

    tomk wrote:It's possible I'm missing something here, but I don't understand what you're worried about. If I understand correctly, you now have a PKGBUILD and associated files for kernel26mildred (or whatever you've decided to call it). Why do you think you would have to change the files again when kernel26 is updated?
    don't the patches change from version to version?
    anyways, i was bored so i wrote a little script... edit the configuration variables at the top and it'll do the work for you. just put it in /var/abs/kernels or wherever you have the kernel26/ at, chmod +x scriptname, and run.
    if you're in /var/abs/kernels you'll probably have to run as root.
    from my testing, it seems to be all working (looking at resulting files and no errors so far from makepkg); but i'm still building my test kernel with it.
    #!/bin/bash
    # Author: kano <[email protected]>
    # Configuration #
    appendname="-custom1" # Name to append to kernel package
    BUILD=0 # Build package when done? No = 0; Yes = 1
    #MAKEPKGOPT="" # Uncomment if you're building after you make; Add any options you want passed to makepkg (can be nothing)
    # Work starts here; shouldn't have to edit anything below #
    mkdir kernel26${appendname}/
    cp kernel26/* kernel26${appendname}/
    regen_md5sum() {
    if [ ${file} != 'PKGBUILD' ]; then
    echo "Regenerating md5sum for ${file}"
    cat kernel26${appendname}/PKGBUILD \
    | sed "s/'`md5sum kernel26/${file} | awk '{ print $1 }'`'/'`md5sum kernel26${appendname}/${file} | awk '{ print $1 }'`'/;" \
    > PKGBUILD.tmp
    mv PKGBUILD.tmp kernel26${appendname}/PKGBUILD
    fi
    for file in "PKGBUILD" "kernel26.preset" "kernel26.install"; do
    echo "Editing ${file}"
    cat kernel26/${file} | \
    sed "s/kernel26/kernel26${appendname}/g" \
    | sed "s/vmlinuz26/vmlinuz26${appendname}/g" \
    | sed "s/kconfig26/kconfig26${appendname}/g" \
    | sed "s/System.map26/System.map26${appendname}/g" \
    > kernel26${appendname}/${file}
    # Regenerate md5sum
    regen_md5sum
    done
    for file in "config" "config.x86_64"; do
    echo "Editing ${file}"
    cat kernel26/${file} | \
    sed "s/CONFIG_LOCALVERSION=\"-ARCH\"/CONFIG_LOCALVERSION=\"-ARCH${appendname}\"/" \
    > kernel26${appendname}/${file}
    # Regenerate md5sum
    regen_md5sum
    done
    mv kernel26${appendname}/mkinitcpio-kernel26.conf kernel26${appendname}/mkinitcpio-kernel26${appendname}.conf
    mv kernel26${appendname}/kernel26.install kernel26${appendname}/kernel26${appendname}.install
    mv kernel26${appendname}/kernel26.preset kernel26${appendname}/kernel26${appendname}.preset
    # Add make menuconfig to PKGBUILD
    cat kernel26${appendname}/PKGBUILD | \
    sed 's/# load configuration/\n # configure kernel before build\n make menuconfig\n\n # load configuration/;' \
    > PKGBUILD.tmp
    mv PKGBUILD.tmp kernel26${appendname}/PKGBUILD
    echo "Custom kernel pkgbuild created."
    # To build or to not to build?
    if [ ${BUILD} -eq 1 ]; then
    cd kernel26${appendname}
    makepkg ${MAKEPKGOPT}
    fi

  • [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?

  • How to patch kernel with this...

    How can I patch the kernel with this files?
    https://patchwork.kernel.org/patch/94542/
    Archwiki about kernel compilation is really poor...

    Given your apparent level of expertise, it is not reasonable to expect procedures like this to "just work" without putting some time and effort into them. In this case, I would strongly recommend learning about the patch command first, and then learning about ABS (Arch Build System) and PKGBUILDs. You are throwing yourself in at the deep end by attempting to modify the kernel PKGBUILD - people usually work their way up to that.
    In other news - the 2.6.36 kernel has been released, and it includes this patch. The package is currently in the testing repo, and will soon be available in core. If the recommended learning above is not to your liking, I suggest you be patient until that happens. You could enable the testing repo either - but that's a whole other story.

  • [SOLVED] Managing Kernels with rEFInd

    Hey fellows hope you're all doing great.
    I just have some questions regarding refind boot manager which I use to dual boot arch and windows on my laptop.
    Before I installed arch,I installed refind boot manager from windows 8 using the guide  on the rodsmith website.
    Then I went on and installed arch,and everything worked right away.
    On the arch system I mounted the efi partition to the
    boot folder using fstab.
    UUID="502D-3405" /boot/efi vfat defaults 0 1¬
    /dev/sda2: UUID="502D-3405" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="85674c9f-2484-4b3b-bb97-2205e8d9da1c"
    so what resides now in my boot folder next to the efi folder,are the files (initramfs-linux.img, initramfs-linux-fallback.img
    and vmlinuz-linux)
    to make a long story short,I'm trying to create a custom entry in refind to boot into the kernel with modified parameters.
    I just added this stanza to the defualt refind.conf file in (/boot/efi/EFI/refind/)
    #Custom.Kernel Test
    menuentry "Arch Linux" {
    icon /EFI/refind/icons/os_arch.icns
    loader /boot/vmlinuz-linux
    initrd /boot/initramfs-linux.img
    options "root=PARTUUID=5b772462-68e1-463c-b22f-8ff22625ec21 rw rootfstype=ext4 pcie_aspm=force i915.i915_enable_rc6=1"
    blkid
    /dev/sdb1: LABEL="root" UUID="310f4bbc-0a2c-4667-a397-d020a7c94177" TYPE="ext4" PARTUUID="5b772462-68e1-463c-b22f-8ff22625ec21"
    The entry is there,but the the system won't boot.I also tried compiling a custom kernel the traditional way using the guide on the wiki,the kernel and the img are created another entry for the custom kernel which showed up on the refind menu,when I select it,error that the loader is not found while loading vmlinuz comes up although all the files are in the boot directory.
    Is there any thing I'm missing to make the new kernel bootable ?
    Last edited by Herbalist (2014-08-01 12:24:30)

    It seems as if you have two drives: one containing the efi-partition (sda2) and one containing your system (sdb)
    On which partition is your boot folder you put the kernel images in?
    If your kernel files are NOT on the efi partition you need to specify that using the 'volume' token as described here because the paths for 'loader' and such are relative to the efi partition or the specified volume.
    Last edited by dice (2014-07-31 15:59:24)

  • My Mac operating system is OSX 10.4.11 and I "replaced" my older version of Firefox with a newer one that does not open with my system. Can you send me an older version of Firefox? Thanks!

    My Mac operating system is OSX 10.4.11 and I "replaced" my older version of Firefox with a newer one that does not open with my system. Can you send me an older version of Firefox? Thanks!

    You can get Firefox 3.6.20 from here. <br />
    http://www.mozilla.com/en-US/firefox/all-older.html

  • 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 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)

  • Kernel with archck and win4lin patches?

    I've tried to patch the kernel with archck and win4lin myself, but compilation fails :-( Without the win4lin patch compilation is successfull... but I need win4lin for some windows app.

    phrakture wrote:Yeah, it's the correct place, the problem is that you didn't ask anything
    I thought the subject of the posting was clear that I was looking for someone who is willing to build this kernel (or has a PKGBUILD for this kernel).
    If I was looking for someone to help me build this kernel, I would have post in "Kernel & Hardware Issues" and I would've put the error message and .config file in my posting... But I was just asking someone to build this kernel for me... hoping someone is willing to do this for me or maybe if the guy who made archck read my posting, he will include win4lin in future versions. Yeah, I know, that's lazy, but this is the place for this kind of favours.
    Maybe the body of my posting created the confusion, next time I'll be more clear, I should say something like: "I'm looking for 2.6.13+archck6.2+win4lin... anyone?" instead of: "I've tried to patch and compile but it fails..."
    phrakture wrote:For instance, if you post the exact error message you get, along with what patches you used and how you changed the configuration, if anything, someone here will probably be able to track the error down in very short time.  However, saying "it doesn't work" doesn't help us much 8)
    So, instead of saying "it doesn't work", I should have said "I want it, can you make it for me or give it to me?"
    Anyway, now that this thread has evolved this way, I'll post the .config and error message when I have access to my own computer (that's after the weekend).

Maybe you are looking for