Recompile kernel without SMP

Jarod Wilson jarod at redhat.com
Mon Aug 17 22:00:33 UTC 2009


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 at 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 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

-- 
Jarod Wilson
jarod at redhat.com




More information about the Fedora-kernel-list mailing list