Please take a look at this.
:: Installing dependency
osu:~ # zypper in gcc make binutils util-linux module-init-tools e2fsprogs jfsutils reiserfs xfsprogs pcmciautils quota ppp isdngw nfs-utils procps oprofile patch ncurses ncurses-devel:: Looking default kernel version
osu:~ # uname -a
Linux osu 2.6.25.5-1.1-default #1 SMP 2008-06-07 01:55:22 +0200 i686 i686 i386 GNU/Linux
:: Download kernel source
osu:~ # cd /usr/src/
osu:/usr/src # wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.4.tar.bz2
osu:/usr/src # tar -xjf linux-2.6.30.4.tar.bz2
:: Compiling kernel source
osu:/usr/src # cd linux-2.6.30.4/--[ configuring your kernel options and make sure on these option like: ]--
osu:/usr/src/linux-2.6.30.4 # make mrproper
osu:/usr/src/linux-2.6.30.4 # make menuconfig
Processor type and features -> High Resolution Timer Support (built-in/enable)----------------------
Processor type and features -> Symmetric multi-processing support (excluded/disable)
Processor type and features -> Preemption Mode (Preemptible Kernel (Low-Latency Descktop))
Processor type and features -> Timer frequency (1000 HZ)
Power management and ACPI options -> Power Management support (excluded/disable)
osu:/usr/src/linux-2.6.30.4 # make cleanIf everything went correctly then the new kernel should exist in ./arch/$ARCH/boot.
osu:/usr/src/linux-2.6.30.4 # make -j2 bzImage
For example on my box is : arch/x86/boot/bzImage
:: Build the kernel modules
osu:/usr/src/linux-2.6.30.4 # make modules
osu:/usr/src/linux-2.6.30.4 # make modules_install
:: Make initrd
osu:/usr/src/linux-2.6.30.4 # cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.30.4-default
osu:/usr/src/linux-2.6.30.4 # cp System.map /boot/System.map
osu:/usr/src/linux-2.6.30.4 # mkinitrd -k /boot/vmlinuz-2.6.30.4-default -i /boot/initrd-2.6.30.4-default
:: Configuring GRUB
osu:~ # vi /boot/grub/menu.lst--[ configuring kernel & initrd ]----title kernel.2.6.30.4-rt-preempt-------------------
root (hd0,0)
kernel /boot/vmlinuz-2.6.30.4-default root=/dev/system/root resume=/dev/system/swap splash=verbose showopts
initrd /boot/initrd-2.6.30.4-default
booting the box with kernel-rt-preempt
:: Checking the rt-preempt kernel
osu:~ # uname -a
Linux osu 2.6.30.4-default #1 PREEMPT Thu Aug 13 00:55:00 EDT 2009 i686 i686 i386 GNU/Linux
:: Links
+ GoogleLinux
+ RtWikiKernel
+ DigitalHermit
+ LinuxForum



0 komentar:
Post a Comment