Hi
usually building kernels for 64 Studio is fine, but today I stopped
building the kernel, because there's something wrong, or I made a
mistake. Please take a look at the attachment.
Cheers,
Ralf
################################################## ########################################
# How I tried to build a real-time kernel with hrtimer supported for 64 Studio 3.0-beta3 #
################################################## ########################################
The needed packages to build a kernel are:
bin86
build-essential
bzip2
fakeroot
gcc
kernel-package
make
libncurses5-dev
I found out what real-time patch version is the latest one:
$ firefox http://www.kernel.org/pub/linux/kernel/projects/rt
Have taken a look if there's a kernel available for this patch version:
$ firefox ftp://ftp.kernel.org/pub/linux/kernel/v2.6
Changed to a directory were I will build the kernel:
$ cd /usr/src
Downloaded, extracted and patched (and kept, resp. made everything clear):
$ wget http://www.kernel.org/pub/linux/kernel/projects/rt/patch-2.6.31.5-rt18.bz2
$ wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.5.tar.bz2
$ tar xvjf linux-2.6.31.5.tar.bz2
$ rm linux-2.6.31.5.tar.bz2
$ mv linux-2.6.31.5 linux-2.6.31.5-rt18
$ ln -s linux-2.6.31.5-rt18 linux
$ cd linux
$ bunzip2 ../patch-2.6.31.5-rt18.bz2
$ patch -p1 <../patch-2.6.31.5-rt18
$ rm ../patch-2.6.31.5-rt18
Copied the configuration of 64 Studios default multimedia kernel:
$ cp /boot/config-$(uname -r) .config
Enabled hrtimer:
$ gedit .config
Found and deleted the line:
# CONFIG_SND_HRTIMER is not set
Copied and pasted the lines:
CONFIG_SND_HRTIMER=m
CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_HPET=y
CONFIG_HPET_MMAP=y
Saved .config, closed Gedit and kept the directory clear:
$ rm .config~
$ make-kpkg clean
I ignored this output:
exec make -f /usr/share/kernel-package/ruleset/minimal.mk clean
====== making target minimal_clean [new prereqs: ]======
Cleaning.
test ! -f .config || cp -pf .config config.precious
test ! -e stamp-building || rm -f stamp-building
test ! -f Makefile ||
make ARCH=xen distclean
make[1]: Entering directory `/usr/src/linux-2.6.31.5-rt18'
Makefile:527: /usr/src/linux-2.6.31.5-rt18/arch/xen/Makefile: No such file or directory
make[1]: *** No rule to make target `/usr/src/linux-2.6.31.5-rt18/arch/xen/Makefile'. Stop.
make[1]: Leaving directory `/usr/src/linux-2.6.31.5-rt18'
make: *** [minimal_clean] Error 2
Customized the .config:
$ make menuconfig
Load an Alternate Configuration File: .config
"Processor type and features --->" > "Processor family [snip] --->" and "[snip] Maximum number of CPUs"
Save an Alternate Configuration File: .config
and exited. I ignored this output:
HOSTCC scripts/kconfig/lxdialog/checklist.o
HOSTCC scripts/kconfig/lxdialog/inputbox.o
HOSTCC scripts/kconfig/lxdialog/menubox.o
HOSTCC scripts/kconfig/lxdialog/textbox.o
HOSTCC scripts/kconfig/lxdialog/util.o
HOSTCC scripts/kconfig/lxdialog/yesno.o
HOSTCC scripts/kconfig/mconf.o
HOSTLD scripts/kconfig/mconf
scripts/kconfig/mconf arch/x86/Kconfig
.config:538:warning: symbol value 'm' invalid for INET_LRO
.config:1064:warning: symbol value 'm' invalid for RFKILL_INPUT
.config:3137:warning: override: reassigning to symbol HPET_TIMER
.config:3138:warning: override: reassigning to symbol HPET_EMULATE_RTC
.config:3139:warning: override: reassigning to symbol HPET
.config:3140:warning: override: reassigning to symbol HPET_MMAP
.config:3317:warning: symbol value 'm' invalid for THRUSTMASTER_FF
.config:3318:warning: symbol value 'm' invalid for ZEROPLUS_FF
.config:3765:warning: symbol value 'm' invalid for GFS2_FS_LOCKING_DLM
*** End of Linux kernel configuration.
*** Execute 'make' to build the kernel or try 'make help'.
$ cat .config | grep HPET
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_HPET=y
CONFIG_HPET_MMAP=y
$ cat .config.old | grep HPET
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_HPET=y
CONFIG_HPET_MMAP=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_HPET=y
CONFIG_HPET_MMAP=y
$ gedit .config
Found and deleted the lines ...
CONFIG_XEN_BALLOON=y
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_XEN_DEV_EVTCHN=y
CONFIG_XENFS=y
CONFIG_XEN_COMPAT_XENFS=y
CONFIG_XEN_SYS_HYPERVISOR=y
and added the line ...
# CONFIG_XEN is not set
Now I would like to run ...
rm .config~
make-kpkg --rootcmd fakeroot --initrd kernel-image kernel-headers kernel-source
or ...
rm .config~
make-kpkg clean
make-kpkg -initrd kernel_image kernel_headers
Usual this is how I'm able to compile kernel-rt for 64 Studio that are fine, but in this case I guess building the kernel won't be a good idea to do.
Instead I run:
$ cd /usr/src
$ ls
checkinstall_packages linux linux-2.6.31.5-rt18 qtractor rpm
$ rm -r linux linux-2.6.31.5-rt18
$ ls
checkinstall_packages qtractor rpm_______________________________________________
64studio-users mailing list
64studio-users@lists.64studio.com
http://lists.64studio.com/mailman/listinfo/64studio-users