Advice on Kernel Compilation

Hell all,
I am planning to compile my own kernel and would like some opinions on the matter. I am wanting to get it customized just for my hardware.
For instance is it faster and/or better to have features built-in or modularized?
I see that there is an option to set the maximum number of CPUs, is there any advantage to setting it to just the amount that I have (I have two dual core CPUs, so 4 cores)? Or is it better to leave it at 32?
I'm sure I will come up with some other questions as I look through the options more...
Anyhow, any advice or warnings on any aspect of doing this would be appreciated.
***Edit
I should have metioned that I am planning to use 'linux-2.6.26.5.tar.bz2' from here: ftp://ftp.us.kernel.org/pub/linux/kernel/v2.6/ (messed up the first time and grabbed 2.6.9.....)
Alsa I am not trying to get out of 'doing my homework' here, I am currently reading all I can on kernelnewbies.org. I am just curious about personal experiences, preferences, and advice. Thanks.
Last edited by The Avatar of Time (2008-09-09 05:06:21)

***** I deleted my first answer because I re-read your post and you were not using the zen patch.*****
I liked this guide the best: http://wiki.archlinux.org/index.php/Cus … n_with_ABS
I also just used the basic kernel26 files from the ABS tree with a few edits on all of them....
Since I couldn't find the coding that stops the regualr ABS kernel build to "make menuconfig", I used the dibblethewrecker PKGBUILD, edited with my kernel version (and zen2 patch which is optional) to create a donwloaded and patched pkg, that starts to build.....
I chose the make menuconfig option in my PKGBUILD so I could set all of my kernel tuneables and settings using the menuconfig way, then I saved it as a .config file. Then I aborted the build because that script would not work correctly for me. A traditional kernel build also works to create a .config file.
I then had a perfect config.x86_64 file for using the simple ABS PKGBUILD that just loads your choosen config file to build with.
As for you kernel26.img and vmlinuz you have to edit the ABS kernel26.preset and kernel26.install to have a different name than "kernel26"..... basically, everywhere in the ABS PKGBUILD, and the preset and install scripts I changed kernel26 to kernel26name..... so then you get a seperate kernel26name.img and vmlinuzkernel26name:
Large View: http://i480.photobucket.com/albums/rr16 … ot-9-2.jpg
***** I AM NEW TO THIS, so this isn't totally the correct way, but it worked for me*****
This is my /lib/modules and my /usr/src:
Large View: http://i480.photobucket.com/albums/rr16 … shot-8.png
This is my /boot :
Large View: http://i480.photobucket.com/albums/rr16 … ot-6-2.jpg
This is how I have my /boot/grub/menu.lst configured for all of my kernels:
# Config file for GRUB - The GNU GRand Unified Bootloader
# /boot/grub/menu.lst
# DEVICE NAME CONVERSIONS
# Linux Grub
# /dev/fd0 (fd0)
# /dev/hda (hd0)
# /dev/hdb2 (hd1,1)
# /dev/hda3 (hd0,2)
# FRAMEBUFFER RESOLUTION SETTINGS
# +-------------------------------------------------+
# | 640x480 800x600 1024x768 1280x1024
# ----+--------------------------------------------
# 256 | 0x301=769 0x303=771 0x305=773 0x307=775
# 32K | 0x310=784 0x313=787 0x316=790 0x319=793
# 64K | 0x311=785 0x314=788 0x317=791 0x31A=794
# 16M | 0x312=786 0x315=789 0x318=792 0x31B=795
# +-------------------------------------------------+
# general configuration:
timeout 5
default 0
color light-blue/black light-cyan/blue
# boot sections follow
# each is implicitly numbered from 0 in the order of appearance below
# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
# (0) Zen21000-AMD64-1000HZ-desktop-desktop
title Zen21000-AMD64-1000HZ-desktop-desktop
root (hd0,2)
kernel /vmlinuz26zen21000 root=/dev/disk/by-uuid/fe976406-f6d8-4cd0-99ea-e6e8aab2c397 resume=/dev/sda5 iommu=noaperture ro
initrd /kernel26zen21000.img
# (1) Zen2next-AMD64-432HZ-desktop-desktop
title Zen2next-AMD64-432HZ-desktop-desktop
root (hd0,2)
kernel /vmlinuz26zen2next root=/dev/disk/by-uuid/fe976406-f6d8-4cd0-99ea-e6e8aab2c397 resume=/dev/sda5 iommu=noaperture ro
initrd /kernel26zen2next.img
# (2) Zen2-AMD64-desktop-lowlatency
title Zen2-AMD64-desktop-lowlatency
root (hd0,2)
kernel /vmlinuz26zen2 root=/dev/disk/by-uuid/fe976406-f6d8-4cd0-99ea-e6e8aab2c397 resume=/dev/sda5 iommu=noaperture ro
initrd /kernel26zen2.img
# (3) Zen227rc5-AMD64-no-battery
title Zen227rc5-AMD64-no-battery
root (hd0,2)
kernel /vmlinuz26zen227rc5 root=/dev/disk/by-uuid/fe976406-f6d8-4cd0-99ea-e6e8aab2c397 resume=swap:/dev/sda5 iommu=noaperture ro
initrd /kernel26zen227rc5.img
# (4) Arch Linux-1000HZ
title Arch Linux-1000HZ
root (hd0,2)
kernel /vmlinuz26 root=/dev/disk/by-uuid/fe976406-f6d8-4cd0-99ea-e6e8aab2c397 resume=swap:/dev/sda5 iommu=noaperture ro
initrd /kernel26.img
# (5) Arch Linux
title Arch Linux Fallback
root (hd0,2)
kernel /vmlinuz26 root=/dev/disk/by-uuid/fe976406-f6d8-4cd0-99ea-e6e8aab2c397 ro
initrd /kernel26-fallback.img
# (1) Windows
title Windows
rootnoverify (hd0,0)
makeactive
chainloader +1
***** Like I said, none of this is the correct way*****  but since I couldn't find a guide with the exact correct way, I sort of figured this way out on my own, an it works perfectly for now.
Last edited by methuselah (2008-09-12 10:12:15)

Similar Messages

  • Kernel compile problem

    in arch 0.7, when i compile redhat hat kernel 2.4.21-27.0.1.EL, gcc 3.4.3 complains:
    gcc -D__KERNEL__ -I/data/linux-2.4.21-27.0.1.EL/include -Wall -Wstrict-prototypes -Wno-trigraphs -O3 -fno-strict-aliasing -fno-common  -Wno-unused -funroll-loops -fomit-frame-pointer -fomit-frame-pointer -pipe -freorder-blocks -mpreferred-stack-boundary=2 -march=pentium4   -DKBUILD_BASENAME=main -c -o init/main.o init/main.c
    In file included from /data/linux-2.4.21-27.0.1.EL/include/linux/sched.h:24,
                    from /data/linux-2.4.21-27.0.1.EL/include/linux/mm.h:22,
                    from /data/linux-2.4.21-27.0.1.EL/include/linux/slab.h:14,
                    from /data/linux-2.4.21-27.0.1.EL/include/linux/proc_fs.h:5,
                    from init/main.c:15:
    /data/linux-2.4.21-27.0.1.EL/include/linux/smp.h:31: error: conflicting types for 'smp_send_reschedule'
    /data/linux-2.4.21-27.0.1.EL/include/asm/smp.h:41: error: previous declaration of 'smp_send_reschedule' was here
    /data/linux-2.4.21-27.0.1.EL/include/linux/smp.h:31: error: conflicting types for 'smp_send_reschedule'
    /data/linux-2.4.21-27.0.1.EL/include/asm/smp.h:41: error: previous declaration of 'smp_send_reschedule' was here
    In file included from /data/linux-2.4.21-27.0.1.EL/include/linux/unistd.h:9,
                    from init/main.c:17:
    /data/linux-2.4.21-27.0.1.EL/include/asm/unistd.h:382: warning: conflicting types for built-in function '_exit'
    make: *** [init/main.o] Error 1
    gcc info:
    Reading specs from /usr/lib/gcc/i686-pc-linux-gnu/3.4.3/specs
    Configured with: ../gcc-3.4.3/configure --prefix=/usr --enable-shared --enable-languages=c,c++,objc --enable-threads=posix --enable-__cxa_atexit
    Thread model: posix
    gcc version 3.4.3
    but when i compile the kernel src in redhat as 3 with the same kernel config , compiling options and kernel compiling procedure, everything is ok. the gcc info:
    Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.3/specs
    Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --host=i386-redhat-linux
    Thread model: posix
    gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-20)
    what's the problem ? it's something between gcc 3.4 and kernel 2.4.21 (or redhat ?) ? how to resolve this problem ?

    jnengland77 wrote:
    hmmm if you need the patch Con Kolivas has a patch... idk if this is the exact need.
    1g lowmem?
    Many machines now have exactly 1Gb ram and the standard memory split on i386 does not allow you to use more than 896Mb ram without enabling high memory for at least 4Gb. The problem is that this incurs an overhead whereas we can simply change this split with this patch to allow i386 architectures to use up to 1Gb ram without enabling highmem. This is configurable if HIGHMEM is disabled.
    I also don't know if his old patches have the patch or if the current will work on the 2.4 kernel..
    Just looked around and found the 2.4 are now Ick patchset and i don't see that... CK does have a server patch... If anything just get the 2.6 CK server patchset...   2.6 is stable, but how am I to say I've only used 2.6... Go with 2.6 ck server.
    websites:  CK patchset 2.6
    ICK 2.4 patchset
    i really want a huge kernel space, and i can't find the 4G kernel space vm patch for 2.4 at these links
    thanks anyway

  • How to determine the kernel compilation time stamp ?

    Hi, all
    sorry of this is a miss post.
    I'm trying to find out the date (time stamp) using the
    "uname -a" command  , but I'm not sure this is the correct way , because the
    the output of the command returns the kernel release date and I'm not sure this is the
    correct time
    Any suggestions ?
    Victor

    I'm referring to the date the kernel was actually compiled .
    My question was if the output of the command "uname -a" contains the kernel compilation date, because
    the "man uname" and "info uname" says that the output contains kernel  release info.
    Or is there another way of determining the actual date(time) when the kernel was compiled.

  • Issue after kernel compilation

    I've compiled my own kernel based on the arch linux default kernel its configuration file. I simply executed  make clean &&  make dep && make modules && make bzImage && make modules_install. Afther the depmod I've built a ramdisk with mkinitcpio.Unfortunately I'm not able to boot into my new self-compiled kernel. Here you can see my /boot/grub/menu.lst:
    # (0) Arch Linux Self-compiled kernel
    title Linux 2.6.30.5 [/boot/vmlinuz-2.6.30.5]
    root (hd0,0)
    kernel /vmlinuz-2.6.30.5 root=/dev/sda3 ro
    initrd /kerneltest.img
    # (0) Arch Linux
    title Arch Linux [/boot/vmlinuz26]
    root (hd0,0)
    kernel /vmlinuz26 root=/dev/sda3 ro
    initrd /kernel26.img
    While booting into the new kernel the next error message about the root device shows up. I've noticed I'm able to boot the default arch kernel that's using the same root device (=/dev/sda3) on this desktop.
    Waiting 10 seconds for device /dev/sda3
    Root device /dev/sda3 doesnt exist, attempting to create it
    Error: Failed to parse block device ids for /dev/sda3
    Error: Unable to detect or create root devide /dev/sda3
    If you would like to see my partitions:
    /dev/sda1 /boot ext2 defaults 0 1
    /dev/sda2 swap swap defaults 0 0
    /dev/sda3 / ext4 defaults 0 1
    /dev/sda4 /home ext4 defaults 0 1
    Who can help me with this issue? Thanks.
    Last edited by Nando (2009-09-05 15:40:04)

    I've compiled a new kernel but the same issue remains. I executed some important changes in my kernel config: CONFIG_SCSI=y, CONFIG_ATA=y, CONFIG_EXT4_FS=y  (instead of being modular as in the default arch linux kernel). I also inserted the "aufs" lines, but they were gone in my .config file after the kernel compilation.(I think it was after make dep)
    A "diff" of both .config reveals that aufs is almost the only difference. (I've already mentioned the stuff that used to be modular and is now built-in.)
    3 root@archlinux $ diff /usr/src/linux-2.6.30.5/.config /usr/src/linux-2.6.30-ARCH/.config
    3,4c3,4
    < # Linux kernel version: 2.6.30.5
    < # Mon Sep 7 10:35:44 2009
    > # Linux kernel version: 2.6.30
    > # Mon Aug 17 16:49:59 2009
    1269c1269
    < CONFIG_SCSI=y
    > CONFIG_SCSI=m
    1418c1418
    < CONFIG_ATA=y
    > CONFIG_ATA=m
    3905c3905
    < CONFIG_EXT4_FS=y
    > CONFIG_EXT4_FS=m
    3912c3912
    < CONFIG_JBD2=y
    > CONFIG_JBD2=m
    3914c3914
    < CONFIG_FS_MBCACHE=y
    > CONFIG_FS_MBCACHE=m
    4041a4042,4052
    > CONFIG_AUFS_FS=m
    > CONFIG_AUFS_BRANCH_MAX_127=y
    > # CONFIG_AUFS_BRANCH_MAX_511 is not set
    > # CONFIG_AUFS_BRANCH_MAX_1023 is not set
    > # CONFIG_AUFS_BRANCH_MAX_32767 is not set
    > CONFIG_AUFS_HINOTIFY=y
    > CONFIG_AUFS_EXPORT=y
    > CONFIG_AUFS_SHWH=y
    > CONFIG_AUFS_BR_RAMFS=y
    > # CONFIG_AUFS_DEBUG is not set
    > CONFIG_AUFS_BDEV_LOOP=y
    4427c4438
    < CONFIG_CRC16=y
    > CONFIG_CRC16=m
    I've built an own ramdisk again with mkinitcpio, but I'm using the default kernel26.img
    /boot/grub/menu.lst:
    # (0) Arch Linux
    title Arch Linux [/boot/vmlinuz26]
    root (hd0,0)
    kernel /vmlinuz26 root=/dev/sda3 ro
    initrd /kernel26.img
    # (0) Arch Linux
    title Arch Linux [/boot/vmlinuz2-6-30.5]
    root (hd0,0)
    kernel /vmlinuz-2.6.30.5-nando root=/dev/sda3 ro
    initrd /kernel26.img
    Last edited by Nando (2009-09-07 17:38:21)

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

  • In depth Kernel Compilation

    Hello,
    I just wanted to give a little shameless self promotion on a new article that I just wrote up:
    http://fsk141.com/habari/kernel-compilation-arch-linux
    And the digg link:
    http://digg.com/linux_unix/Kernel_Compi … Arch_Linux
    Let me know what you think. Add comments if I'm missing anything that you would like to see. Also if you would like articles on anything in particular, send me an email at [email protected] and I would be happy to think about it

    ...[the kernel] can be split into two main types. The first being a monolithic kernel, and the second being a modular kernel. At one time the linux kernel was a monolith, and consisted of one large file. Today's implimentation of the kernel is modular..
    This is not technically accurate. It should read something more like, " The Linux kernel is monolithic in nature, but can make use of modularity, (if compiled to do so) or can be compiled as static. A kernel compiled for modularity  has the ability to load drivers (modules) on the fly, whereas a static kernel constantly maintains all drivers in memory. A static kernel may generally be advantageous for some who need a less versatile, lighter kernel compiled for a specific machine. A modular kernel is typically more versatile and able to be used on a wider range of hardware."
    EDIT: Moving this..
    Last edited by Misfit138 (2009-03-31 17:29:14)

  • Kernel Compile how not to do it !!!! [FXx]

    EDIT I would like to say kernel compile problem was my fault.... I should have moved it then compiled 2.6.5-3 (gcc3.4) I will in future use /usr/src (improve my CLI skills)
    I am sorry for posting but this old boy gets in muddle sometimes & I like to think out loud.
    After several mugs of tea & reading posts I now have kernel 2.6.5-3 Xfee4.4 & nvidia working again (well for a couple of hours till 2.6.6 !!!)
    pacman -Af
    Many thanks again for all your help
    Mr Green :oops:

    If I use pacman -U I get a load of errors :
    usr/src/linux-2.6.5/sound/isa/Kconfig: exists in filesystem
    /usr/src/linux-2.6.5/sound/oss/Kconfig: exists in filesystem
    /usr/src/linux-2.6.5/sound/oss/dmasound/Kconfig: exists in filesystem
    /usr/src/linux-2.6.5/sound/parisc/Kconfig: exists in filesystem
    /usr/src/linux-2.6.5/sound/pci/Kconfig: exists in filesystem
    /usr/src/linux-2.6.5/sound/pcmcia/Kconfig: exists in filesystem
    /usr/src/linux-2.6.5/sound/ppc/Kconfig: exists in filesystem
    /usr/src/linux-2.6.5/sound/sparc/Kconfig: exists in filesystem
    /usr/src/linux-2.6.5/sound/usb/Kconfig: exists in filesystem
    Mr Green  :?

  • Ccache and kernel compilation -SOLVED

    I have installed ccache and am compiling the kernel from the commandline, but can't get ccache working. Compiling takes a while, and ccache -s says there are no cached files. Read the wiki and man ccache, am a bit confused, and thought I had done what they suggested, but obviously not.
    Can anyone help me set this up? Preferably I would like  all compiling to be done using ccache, not just using makepkg. I think I have to softlink ccache and gcc, not sure how to do this.
    Happily, my custom compiled kernel boots fine, sound is the only thing not working.
    Last edited by scooby (2009-11-26 00:05:29)

    I have discovered one of the cardinal rules for using Arch...if something doesn't work, check for typos.
    ccache is working now,  makes kernel compiling so much easier.
    I'm having a read finding out the pros/cons of using PKGBUILD for a custom kernel. Not too fussed, everything works and it boots ridiculously quickly.
    Last edited by scooby (2009-11-25 23:06:24)

  • Kernel Compile error

    can someone look at http://members.aol.com/trekboy07/vmware.jpg I am getting kernel compile errors and i am doing everything in the FAQ.  what i do is i untar the file from the arch 4.0 cd into /usr/src/linux-2.4.20 and run make menuconfig take file from /usr/abs/base/kernel make some changes and replace it, and run "makepkg" i have done this in VMWare and on a Thinkpad 600 and get the same errors.
    thanks for the help

    It seems like you bumped into a little bug in the linux kernel (at least, that's what google says, see the top link at http://groups.google.com/groups?q=undef … htool_gset )
    I already sent a patch for this for 2.5 but I didn't know the problem
    also exists in 2.4. The following patch fixes it:
    --- linux-2.4.20-test/drivers/net/Makefile.old    2002-11-29 17:46:47.000000000 +0100
    +++ linux-2.4.20-test/drivers/net/Makefile    2002-11-29 17:47:22.000000000 +0100
    @@ -122,6 +122,7 @@
    obj-$(CONFIG_MAC8390) += daynaport.o 8390.o
    obj-$(CONFIG_APNE) += apne.o 8390.o
    obj-$(CONFIG_PCMCIA_PCNET) += 8390.o
    +obj-$(CONFIG_PCMCIA_SMC91C92) += mii.o
    obj-$(CONFIG_SHAPER) += shaper.o
    obj-$(CONFIG_SK_G16) += sk_g16.o
    obj-$(CONFIG_HP100) += hp100.o
    Zwane changed this driver to use the MII support library but he
    accidentially forgot that this requires mii.o.
    cu
    Adrian

  • Simple kernel compilation question

    Hi,
    I'm just trying to get my head around compiling my own 2.6.25.4 kernel.. I'm following the Kernel Compilation from Source guide in the wiki (using pacman/makepkg) tutorial. One thing which is confusing me is after I configure the kernel using make menuconfig and save it, when I build the kernel I still see modules I disabled streaming past. I just would like to clarify how to read the compile output so I have a clue of what is going on... e.g all the CC/[M]/SHIPPED flags.
    Also, whats the difference between setting an option as a module ([M]) or built in?

    What might be happening is that some PKGBUILDs copy the provided config every time the package is built, overwriting any customizations.
    You should copy the $stardir/linux-2.6.25/.config file back to $startdir/config overwriting the previous one, and regenerate the md5 sum with 'makepkg -g'.
    A kernel module is loaded dynamically, with modprobe or insmod. A built-in module is part of the kernel blob, so its loaded the moment the kernel is loaded.

  • [Solved] Kernel compilation newbie questons.

    Hello
    That will be my first kernel compilation and i have few questions.
    1.When i compile kernel from this(http://wiki.archlinux.org/index.php/Ker … sers_Guide) tortial i havo to do this:
    http://wiki.archlinux.org/index.php/NVI … tom_kernel
    2.When i compile modules to kernel there are diffrence when i have them as modules (lsmod)?
    Thanks for anserws.
    And I'm sorry for that questions.
    Last edited by SpeedVin (2009-05-19 12:13:48)

    Hi SpeedVin,
    1. you must recompile nvidia driver if you are planning to use custom kernel.
    You can do this by either using ABS or with yaourt -Sb command. The link you posted to wiki says it right.
    2. When compiling drivers directly into kernel, they will make size of kernel bigger, but udev will not spend so much time autoloading them. The best practise is to have all needed modules compiled in kernel and turned autoloading modules off in /etc/rc.conf. Be aware, that not all modules are loaded when lsmod - e.g. when you plug in USB disk, udev loads needed modules (usb_storage, correct coding, etc.).
    And last but no least, i can't get why is wiki giving advise to compile kernel like 10 years ago. If I were you, I would NOT choose this way. It is much easier to compile kernel with ABS, or with yaourt -Sb. All you need is to edit PKGBUILD and uncomment one of these lines:
    #make menuconfig # CLI menu for configuration
    #make xconfig # X-based configuration
    #make oldconfig # using old config from previous kernel version
    I am a happy user of xconfig menu (you need Qt3 package to use xconfig).
    Configure your kernel as you need, save config file and exit configuration, compilation goes on and after 30-50min you have your kernel ready to install.
    If you want a save option you can also edit and uncomment # pkgname=kernel26-custom to have your kernel alongside with -ARCH stock kernel. Note, that you must also edit nvidia's PKGBUILD if you want to use it this way.
    I think this way will save you lot of time and the result is better, but it's up to you of course.

  • Kcheck for kernel compilation?

    Just found this tool on sourceforcge, http://kcheck.sourceforge.net/ . Did anybody try this tool for a kernel compilation?

    definitely keep the stock kernel as a fallback.
    and here's another tip, with a story. I spent several hours yesterday compiling a kernel for my webserver, to squeeze a little more juice out of it. I can't found how many times i kept recompiling because i kept getting kernel panics. luckily i still had the stock kernel as a fallback. but what i messed up, and must have known somehow i messed up the whole time, because it eventually just dawned on me out of nowhere, was my messed up my grub menu.lst. what i did, was copy and paste the default arch kernel lines and just modified them for the new kernel, but what i forgot to do was add the -custom on the vmlinuz26 line, so i was still using the stock kernel, but with initrd disabled, thats why i was getting the kernel panics, god knows how much compile time i could have saved had i noticed that sooner.....but my ADD must have kicked into overdrive or something, i guess it comes with the territory
    bottom line is, pay attention,

  • 18h of kernel compilation for nothing

    Just when it was about to finish, I got:
    VOFFSET arch/x86/boot/voffset.h
    LDS arch/x86/boot/compressed/vmlinux.lds
    AS arch/x86/boot/compressed/head_32.o
    CC arch/x86/boot/compressed/misc.o
    CC arch/x86/boot/compressed/string.o
    CC arch/x86/boot/compressed/cmdline.o
    CC arch/x86/boot/compressed/early_serial_console.o
    OBJCOPY arch/x86/boot/compressed/vmlinux.bin
    HOSTCC arch/x86/boot/compressed/relocs
    arch/x86/boot/compressed/relocs.c: In function \u2018print_absolute_symbols\u2019:
    arch/x86/boot/compressed/relocs.c:405:14: warning: variable \u2018sh_symtab\u2019 set but not used [-Wunused-but-set-variable]
    RELOCS arch/x86/boot/compressed/vmlinux.relocs
    LZMA arch/x86/boot/compressed/vmlinux.bin.lzma
    lzma: (stdin): Cannot allocate memory
    make[2]: *** [arch/x86/boot/compressed/vmlinux.bin.lzma] Error 1
    make[1]: *** [arch/x86/boot/compressed/vmlinux] Error 2
    make: *** [bzImage] Error 2
    ==> ERROR: A failure occurred in build().
    Aborting...
    ==> ERROR: Makepkg was unable to build linux-pf.
    ==> Restart building linux-pf ? [y/N]
    ==> ---------------------------------
    ==>

    Lockheed wrote:No way. On my Core 2 Duo 2.1Ghz and 4GB RAM Arch kernel compiles in 40-60 minutes (can't say for sure).
    Wtf, not possible. Really. On the weekend I'll be at the Pentium-M again, I'll go compile a kernel using the Arch config file. I can't imagine it taking more than half an hour.
    Lockheed wrote:No. It's mine. It's awesome and you can't have it Seriously, I have an old lightweight LXbuntu 9.04 on it and it works like a charm.
    Whoa!
    Though, of course it works like a charm, with 384MB you have plenty of ram. Should be enough even for a kernel compile. Just don't compile in a tmpfs. And, like tomegun says, maybe switch from lzma to gzip compression. And a machine-specific config would also cut down on the compile time a lot.
    Lockheed wrote:I have a Pentium 133, too, unfortunately the mobo must be cracked somewhere as it rarely starts. What a pity.
    My condolences
    We had the habit of always giving away the old computer when we bought a new one. Sometimes I regret it. One of the masterpieces was a Pentium MMX 166Mhz with, get this, 3dfx Voodoo graphics. Yeah, the legendary accelerator. Oh how I wish I still had that. The oldest machine that's still at home is an AMD Duron 800Mhz, with I think a Geforce FX 5200.
    Edit: Holy eff, I compiled a kernel with an Arch config on a Core i3-530. It took 24 minutes!! My fairly generic kernel takes 4:30 minutes, a machine-specific one takes 2:30 minutes. Man, the Arch kernel really does have everything including the kitchen sink in it. So I can now see it taking 60 minutes on a Core2Duo.
    Compiling all that stuff on a slow machine makes no sense, so Lockheed I really suggest you make a machine-specific config. You'll get the kernel compiled in like 1/10 of the time.
    Last edited by Gusar (2012-02-28 14:42:31)

  • Manual Kernel Compilation fails with "Error: not a valid kernel..."

    I wanted to try out the Zen kernel to compile my own custom kernel. The basic steps that I did were:
    1. $ make localmodconfig
    2. $ make -j3
    3. # make modules_install
    4. # cp -v ~/<build directory>/arch/x86_64/boot/bzImage /boot/vmlinuz-linux-zen-3.1.4.img
    5. # mkinitcpio -k vmlinuz-linux-zen-3.1.4 -g /boot/initramfs-linux-zen-3.1.4
    and I get the error:
    ==> ERROR: '/lib/modules/vmlinuz-linux-zen-3.1.4' is not a valid kernel module directory
    Inside of /lib/modules I have a new files called "3.1.4-zen-ARCH-g30db333 (and the original files that were there from the stock kernel).
    Inside of /boot/ I have the stock image and the stock initram as well as "vmlinuz-linux-zen-3.1.4.img"
    Which step am I missing? Also, I was thinking it was possible to NOT use an initram if I just compiled the ext2 and ext4 (root is ext4) into the kernel instead of building them as modules. Is my thinking correct? Also, if anyone needs a reason why I'm using the zen sources instead of the nice Liquorix binary, the answer is simply that I wanted to mess around with it to satisfy my curiosity. Thanks.

    As per the man page:
    -k kernelversion
    Use kernelversion, instead of the current running kernel. This may be a path to a kernel image or a
    specific kernel version. If specified as a path to an image, this will always be prefixed by the basedir.
    You've picked... neither? I guess you want "/boot/vmlinuz-linux-zen-3.1.4.img" or "3.1.4-zen-ARCH-g30db333".
    Compiling the filesystem module into the kernel alone is not sufficient to avoid using an initramfs. You also need, at a minimum, drivers for the disk controller and a block device driver.
    Last edited by falconindy (2011-12-08 04:43:21)

  • Kernel compiling - mount failed: No such device?

    Hello everyone!
    I'm having an issue with mounting the linux kernel I've just compiled.  What I've done:
    -  I've patched linux-2.6.33.3 with patch-2.6.33.3-rt19 by issuing bzcat ../patch-2.6.33.3-rt19.bz2 | patch -p1
    -  sudo make -j4 all
    -  sudo make modules_install
    -  sudo mkinitcpio -g /boot/kernel26rt.img -k 2.6.33.3-rt19
    -  sudo cp ./arch/x86/boot/bzImage /boot/vmlinuz2.6.33.3x86-rt
    -  sudo cp ./System.map /boot/System.map2.6.33.3x86-rt
    -  sudo rm /boot/System.map
    -  sudo ln -s /boot/System.map2.6.33.3x86-rt /boot/System.map
    -  Edit grub/menu.lst:
    # (0) Arch Linux
    title Arch Linux2
    root (hd0,2)
    kernel /vmlinuz26 root=/dev/disk/by-label/root ro
    initrd /kernel26.img
    # (1) Arch Linux
    title Arch Linux Fallback
    root (hd0,2)
    kernel /vmlinuz26 root=/dev/disk/by-label/root ro
    initrd /kernel26-fallback.img
    # (2) Windows
    title Windows
    rootnoverify (hd0,0)
    makeactive
    chainloader +1
    # (3) RT Kernel
    title RT Linux
    root (hd0,2)
    kernel /vmlinuz2.6.33.3x86-rt root=/dev/disk/by-label/root ro
    initrd /kernel26rt.img
    Now when I select the rt kernel from grub, it fails with:
    mount: mounting /dev/disk/by-label/root on /new_root failed: No such device
    Can anyone help me figure out what went wrong?
    -nonpoly

    http://www.cs.bgu.ac.il/~arik/usail/net … /tips.html
    Look under "Common NFS Errors"
    I'm guessing you haven't installed nfs-utils and portmap on the client. Or you haven't started them. In the right order (portmap, then nfslock - you don't need to start nfsd on the client)

Maybe you are looking for

  • Forms Developer/Services 6i Download for Windows 98

    In the oracle website download directory, there's only one option to download Forms Developer 6i for Windows, and it's for NT. Will this exe also work for Windows 98? Thanks!

  • ESS Personal Information Scenarios do not display any services in ERP 2005

    Hello, I am configuring ESS in ERP 2005. When I click on workset Personal Information it gives message 'There are no services in this area'. I have checked that all the resources services are present and that they are also assigned to the sub area pe

  • How to set up PDF IFilter for SharePoint 2013?

    I want to set up PDF IFilter for SharePoint 2013. I know that this is possible for SharePoint 2010. http://www.adobe.com/support/downloads/thankyou.jsp?ftpID=5542&fileID=5550 http://www.adobe.com/devnet-docs/acrobatetk/tools/AdminGuide/Acrobat_Reader

  • Cannot View Webi Document

    <p><font size="2"><strong>Hello</strong></font></p><p><font size="2"><strong>I am new to this product and I am having problems with viewing sample Webi documentt from my application. I have Business Oblects Enterprise XI R2 and I am using C#.net</str

  • Reverse Signs in hierarchies

    Hi Guys, how can I reverse signs in hierarchies? I went to rsa1 an set the flag at the node in my hierarchy, which I want to reverse the sign at. When I then retrieve the data using a query the sign does not change, but still remains + Thanks for you