Recompile kernel without SMP

Markus Kesaromous remotestar at live.com
Fri Aug 14 20:51:44 UTC 2009


> Date: Fri, 14 Aug 2009 14:35:22 -0400
> From: pgrinberg at nyc.saic.com
> To: fedora-kernel-list at 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


_________________________________________________________________
Windows Live™: Keep your life in sync.
http://windowslive.com/explore?ocid=PID23384::T:WLMTAGL:ON:WL:en-US:NF_BR_sync:082009




More information about the Fedora-kernel-list mailing list