Find the answer to your Linux question:
Results 1 to 3 of 3
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1

    cant boot after compile

    Well ive been pounding my head against a wall for about 8 hours on this.

    I cant really google the answer (or havent found it so far.)

    Sorry if this exact problem has been posted before. Ive seen things quite
    like it but the solutions didnt help. Im sure im missing something silly.

    I run on the stock centos 4.4 kernel right now:
    compaq dl320


    I am trying to compile the kernel to high resolution (1000)

    I followed these instructions except I have tried it without removing the bloat, I just changed the resolution high check and set it to 1000hz

    uname -rThis will identify what kernel you are using, usually specifically tells you what os it is running.

    This tutorial will be for Centos Operating systems however you can use this for other linux distros.

    First thing you do find your .config file for your kernel.
    it under your /boot folder in the main drive.
    For ex. /boot/config-2.6.9-42.0.8.ELsmp
    REMEMBER SMP is for Multiple Processors/CORES

    So what we do now is go into /usr/src and download the kernel package from

    tar xfz linux-
    cd linux- inside that directory.. Halt.
    Remember one of the first steps to find that config.
    Do a

    cp -R /boot/config-2.6.9-42.0.8.ELsmp .configChange it to whatever your distro has on the boot partition interms of config for the kernel.
    Note thats the config file for SMP(Dual Cores or Dual Processors)

    *********1000FPS Tutorial Begins!**********
    Now we're going to apply a kernel patch.
    Do This

    wget*This has to be done in the kernel source main directory.
    Ok Ok, Exciting isn't it.
    do this

    bzcat patches-2.6.20-hrt-dynticks1.tar.bz2 | patch -p1It should throw back an unexpected end of patch, doesn't matter the dev forgot to do that. That and it shows some offset lines. Who cares. It works.

    If this is a recompile,
    Do a
    make cleanIf not skip that step.

    You are ready to venture into the config for the kernel.
    Whatever you configure here, is what your kernel will do, so be careful to not take something out you don't know.

    Do start the configuration utility,
    Do a

    make oldconfig or menuconfigFor Menuconfig, a gui comes up, you need ncurses-devel and ncurses installed to do so.
    Be aware if it gives you a hard time.

    ***1000 FPS Configing***
    In the menuconfig, under processor types and features
    Enable High Resolution Timer, No Dynamic ticks, Low Latency Desktop.
    In the menuconfig, under Power management enable APIC only thats it.

    I suggest finding the specific drivers for the motherboard, chipset, video, sound, anything you need to run the server. There is <font color=orange>a lot</font> of bloat in there for Wireless cards, extra bs about sound cards, telephony devies, 56k crap.. If you are running 56k on a server just stop reading right now and close up shop.. No I'm just kidding.

    When configuring the I/O Schedulers under block options,
    Make sure you choose anticipitory, set it as default.

    Also, Find the part under the processor and performance part,
    you will see kernel_hz=250.. Change the value to 1000hz ..

    Get rid of the bloat, exit out and save the config file.

    Now before you get all happy and randy, that you just configured your kernel..

    Inorder to get 500 fps you have to change a nice little param.h in

    When I mean distro, what version, 32bit 64bit etc..
    i386 is 32bit and X86_64 for 64bit.

    So in the Param.h you will see

    USER_HZ = 100Change that to 1000.
    Now your ready to compile.. Wahoo!

    ****1000 FPS****
    Edit CONFIG_HZ with 1500.
    Edit User_hz with 1500
    Now edit include/linux/jiffies.h
    Find #defin shift_hz 10 or something similar
    Make it look like this

    # define SHIFT_HZ 10
    #elif HZ >= 1536 && HZ < 3072
    # define SHIFT_HZ 11
    # error You lose.
    #endifThats it, save it and you should be good to go.

    Here is the commands to do so..

    make bzImage
    make modules
    make modules_install
    make install
    (You can try make all or initrd for debian)You can thank Eth1 for those installation tips for Debian.
    Do those after its done,
    Do NOT change the grub.conf in /etc yet to default 0.
    Inorder for you to test it..

    savedefault --default=0 --once

    Upon booting i get:

    Mounting root filesystem
    mount: error 6 mounting ext3
    mount: error 2 mounting none
    switching to new root
    switchroot: mount failed : 22
    umount /initd/dev failed: 2
    Kernel panic - not syncing Attempted to kill init!

    When i revert back it boots fine.

    Anyone understand what I missed?

    Thanks in advance.


  2. #2
    Linux Engineer d38dm8nw81k1ng's Avatar
    Join Date
    Mar 2005
    check that you have support for your filesystems built into the kernel. check for ext2, ext3 and any other filesystems that you use and ensure that they are built into the kernel and NOT as modules.
    Here's why Linux is easier than Windows:
    Package Managers! Apt-Get and Portage (among others) allow users to install programs MUCH easier than Windows can.
    Hardware Drivers. In SuSE, ALL the hardware is detected and installed automatically! How is this harder than Windows' constant disc changing and rebooting?

  3. #3
    thanks for the reply. I found that advice on google with someone in a situation about the same as mine, but it didnt make a difference. The file systems are * not M in the make menu so they are in the kernal rather than modules.


  4. $spacer_open

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts