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)

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.

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

  • Manual Kernel Compilation

    Hi, I'm trying to patch and compile my own kernel, in the hope that I will be able to then transfer the process to makepkg, but I keep getting an error during "make" or "make bzImage". The last few lines that give the errors seem to be to do with bfs, with some unused variables.
    VDSOSYM arch/x86/vdso/vdso32-int80-syms.lds
    VDSOSYM arch/x86/vdso/vdso32-sysenter-syms.lds
    VDSOSYM arch/x86/vdso/vdso32-syms.lds
    LD arch/x86/vdso/built-in.o
    LD arch/x86/built-in.o
    CC kernel/sched.o
    In file included from include/trace/ftrace.h:343:0,
    from include/trace/define_trace.h:96,
    from include/trace/events/sched.h:397,
    from kernel/sched_bfs.c:80,
    from kernel/sched.c:2:
    include/trace/events/sched.h: In function ‘ftrace_define_fields_sched_stat_template’:
    include/trace/events/sched.h:305:1: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
    include/trace/events/sched.h: In function ‘ftrace_define_fields_sched_stat_runtime’:
    include/trace/events/sched.h:363:1: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
    include/trace/events/sched.h:363:1: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
    In file included from kernel/sched.c:2:0:
    kernel/sched_bfs.c: At top level:
    kernel/sched_bfs.c:3094:5: error: conflicting types for ‘mutex_spin_on_owner’
    include/linux/sched.h:368:12: note: previous declaration of ‘mutex_spin_on_owner’ was here
    kernel/sched_bfs.c: In function ‘mutex_spin_on_owner’:
    kernel/sched_bfs.c:3131:19: warning: comparison of distinct pointer types lacks a cast [enabled by default]
    kernel/sched_bfs.c: In function ‘sched_getaffinity’:
    kernel/sched_bfs.c:4271:13: warning: variable ‘rq’ set but not used [-Wunused-but-set-variable]
    kernel/sched_bfs.c: In function ‘sys_sched_rr_get_interval’:
    kernel/sched_bfs.c:4545:13: warning: variable ‘rq’ set but not used [-Wunused-but-set-variable]
    make[1]: *** [kernel/sched.o] Error 1
    make: *** [kernel] Error 2
    My process is below:
    wget -c http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.3.tar.bz2
    wget -c ftp://ftp.kernel.org/pub/linux/kernel/v2.6/patch-2.6.38.3.bz2
    wget -c ftp://ftp.archlinux.org/other/kernel26/patch-2.6.38.3-1-ARCH.bz2
    wget -c http://grsecurity.net/test/grsecurity-2.2.2-2.6.38.4-201104231406.patch
    wget -c http://kernel.org/pub/linux/kernel/people/ck/patches/2.6/2.6.38/2.6.38-ck3/patch-2.6.38-ck3.bz2
    cp linux-2.6.38.3.tar.bz2 ~/kernelbuild/
    cp patch-2.6.38.3.bz2 ~/kernelbuild/
    cp patch-2.6.38.3-1-ARCH.bz2 ~/kernelbuild/
    cp grsecurity-2.2.2-2.6.38.3-201104231406.patch ~/kernelbuild/
    cp patch-2.6.38-ck3.bz2 ~/kernelbuild/
    # Extracted everything with gnome's file manager.
    cd ~/kernelbuild/linux-2.6.38.3
    patch -Np1 -i ~/kernelbuild/patch-2.6.38.3
    patch -Np1 -i ~/kernelbuild/patch-2.6.38.3-1-ARCH
    patch -Np1 -i ~/kernelbuild/grsecurity-2.2.2-2.6.38.4-201104231406.patch
    patch -Np1 -i ~/kernelbuild/patch-2.6.38-ck3
    sudo mount -o remount,exec /home # Because my home directory is mounted noexec.
    make menuconfig #
    make mrproper
    make or make bzImage
    My main reason for doing this is for the testing grsecurity patchset, I don't really fancy being a kernel version behind, after having drilled into myself that I must keep everything updated.
    Thanks,
    Ben.

    The best route is definitely making your own PKGBUILD once you feel comfortable trying that.
    I've made one for my own personal kernel package (being very pedantic about such things), if you'd like to take a look and mod it to your liking.  It's a bit cleaner than the `kernel26' PKGBUILD.
    Be sure to track http://projects.archlinux.org/linux-2.6-ARCH.git/ and http://projects.archlinux.org/svntogit/ … l26/trunk/ for new Arch patches and config file changes.
    I don't remember why I commented out the firmware packaging and don't want to look into it right now
    So yeah, in case it helps you.
    http://ompldr.org/vOGYyNQ

Maybe you are looking for

  • NANO WON'T SYNC - TRIED EVERYTHING!

    Hi, all. I have a Nano that has many songs on it. My computer crashed, and I had to download the new iTunes, so I lost all my songs on my hard drive and have no backup. I know, I know - it was stupid. So now I have all the songs on the ipod and also

  • Crystal Reports for Eclipse throwing error - wizard could not be open

    Hi, Today i downloaded Crystal Reports for Eclipse version 3.4.1. i copied the same to the program files folder & while i double click on eclipse.exe. I am able to get in to the eclipse, but while i am trying to create a blank report by right click p

  • Movie gets cropped on HDTVs

    I have created a movie in Final Cut Pro X and then burned a DVD disk in iDVD. The movie shows the whole 16:9 frame on the computer and a CRT TV. The movie gets cropped on the two HDTVs I have tested it on. The DVD players have be set to their default

  • Having tuuble installing itunes on my windows Vista laptop I keep gettinr of missing support files?

    I have tried to install itunes on my Vista laptop to transfer mp3 music files to my Iphone. I keep getting missing itunes support message to unload and reload itunes, which I have done twice. any ideas??

  • Export to Quicktime and Flash Fail Slide Dropped

    I am using the latest keynote. We wanted to use it to add an audio track to each slide to we could post the presentation on the web using flash or quicktime. I imported the slides from power point presentation my boss has had for awhile. We successfu