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:
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 kernel.org
tar xfz linux-188.8.131.52.tar.gzDo
cd linux-184.108.40.206Once inside that directory.. Halt.
Remember one of the first steps to find that config.
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.
wget http://www.tglx.de/projects/hrtimers...1.tar.bz2*This has to be done in the kernel source main directory.
Ok Ok, Exciting isn't it.
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,
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,
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.
ONLY CHANGE THAT!
Now your ready to compile.. Wahoo!
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..
(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.
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.
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.