On Friday 14 August 2009 17:24:22 Paul Grinberg wrote:
Markus,
Thank you for your reply! I already feel better knowing that I'm not
alone :)
Maybe someone might have a clue "Why"....
Fedora doesn't ship any single-proc kernels anymore except for on
powerpc32. The spec file and sources don't contain an UP target or
the necessary support bits (config-foo) to build one for anything but
powerpc32, because its mostly pointless.
-----Original Message-----
From: Markus Kesaromous [mailto:remotestar@live.com]
Sent: Friday, August 14, 2009 4:52 PM
To: Paul Grinberg; Linux Kernel List
Subject: RE: Recompile kernel without SMP
> Date: Fri, 14 Aug 2009 14:35:22 -0400
> From: pgrinberg(a)nyc.saic.com
> To: fedora-kernel-list(a)redhat.com
> Subject: Recompile kernel without SMP
>
> Hi there,
>
> I am trying to recompile kernel without SMP. So far I've been
> unsuccessful. Meaning I am able to compile, but it was still SMP..
>
> Can someone tell me what I am doing wrong?
> And why I don't get "kernel-headers" build?
>
> It is probably related to spec parameters....
>
> So far this is what I've done:
>
> cd ~/
> rpmdev-setuptree # as regular user
> cd rmpbuild
> yumdownloader --source kernel # as regular user
>
> cd ~/rpmbuild/BUILD/kernel-2.6.29/linux-2.6.29.i686/
> cp configs/kernel-2.6.29.6-i586.config .config
> make menuconfig # console setup
>
> Select option: Processor type and features.
> Disable "Symmetric multi-processing support" (SMP)
>
> cp .config ~/rpmbuild/SOURCES/config-i686-generic
> cp .config ~/rpmbuild/SOURCES/config-i686
> cd ~/rpmbuild/SPECS
> nano kernel.spec
> Add line:
> % define buildid .NONSMP
> Replace:
>
> # Allow kernel-firmware building
> #%define with_firmware %{?_with_firmware: 1} %{?!_with_firmware: 0}
> %define with_firmware %{?_with_firmware: 0} %{?!_with_firmware: 1}
>
> #%define with_firmware %{?_without_firmware: 0} %{?!_without_firmware:
> 1}
> %define with_firmware %{?_without_firmware: 1} %{?!_without_firmware:
> 0}
>
> # Allow kernel-headers building
>
> # Allow kernel-devel building
>
> # Create RPM package
> rpmbuild -bb --with firmware --target=i686 kernel.spec
>
> # To actually install kernel
> su
> rpm -ivh kernel-firmware-2.6.29.6-217.2.3.nonsmp.fc11.i686.rpm
> kernel-PAE-2.6.29.6-217.2.3.nonsmp.fc11.i686.rpm
> kernel-PAE-devel-2.6.29.6-217.2.3.nonsmp.fc11.i686.rpm
>
>
>
> Just in case:
> $ cat config-i686-PAE | egrep -i "smp" | more
> CONFIG_BROKEN_ON_SMP=y
> # CONFIG_SMP is not set
> CONFIG_X86_FIND_SMP_CONFIG=y
> # CONFIG_X86_VSMP is not set
> CONFIG_SCSI_SAS_HOST_SMP=y
> CONFIG_VIDEO_VP27SMPX=m
>
>
>
>
>
> Best,
> Paul
>
I just got bit by a similar problem in trying to build
kernel-2.6.31-0.125.4.2.rc5.git2.fc12.src.rpm
I followed the steps outlined in
http://fedoraproject.org/wiki/Docs/CustomKernel
I only wanted to build i686 architecture
- without SMP
- without cpu id support
- without multicore support
- without hyperthreading support
- with kernel config support
- with kernel config via /proc support
- with frequency default governor set to Performance
- with preemptible kernel
- with rt2860 module support
- with NTFS read/write support
Well, it ended up building i686-PAE Debug kernel with SMP support.
It seems as if the architecture is i686, then only i686 PAE Debug gets
built.
I do not know where the problem lies, but ....SOURCES/Makefile.config
might be the place where the target kernel build is being selected.
To get around it, I edited
...SOURCES/Makefile.config and removed all rules and definitions
pertaining to i686-PAE and only left the simple i686 def and rule.
PS: I do not know if this is necessary, but after I copied .config to
...SOURCES/config-i686
I also copied it to
...SOURCES/config-x86-generic
Then running rpmbuild -v -bb --target=i686 kernel.spec
is proceeding without problems
MK
--
Jarod Wilson
jarod(a)redhat.com