I've been attempting to build a custom kernel for the 2015.03 release with CONFIG_HOTPLUG_CPU
disabled. Following a bunch of threads on this forum and elsewhere I've been able to build a new kernel RPM but the option I'm setting is not taking effect.
The steps so far are:
# Download the kernel source
/usr/bin/get_reference_source -p kernel-$(uname -r)
# Install some needed packages
/usr/bin/yum install -y gcc gcc44 system-rpm-config m4 rpm-build gdb xmlto asciidoc elfutils-devel zlib-devel binutils-devel python-devel perl gettext newt-devel perl-ExtUtils-Embed bison audit-libs-devel python27-devel pciutils-devel
# Add the mockbuild user which seems to be needed by the kernel source RPM
/usr/sbin/useradd mockbuild
# Install the source RPM
/bin/rpm -Uvh /usr/src/srpm/debug/kernel*.src.rpm
# Disable CONFIG_HOTPLUG_CPU
/bin/sed -i 's/HOTPLUG_CPU=y/HOTPLUG_CPU=n/' /usr/src/rpm/SOURCES/config*
# Set a custom build ID in the spec file
/bin/sed -i 's/buildid 31.38/buildid mybuild/' /usr/src/rpm/SPECS/kernel.spec
# Build the RPM
/usr/bin/rpmbuild -bb /usr/src/rpm/SPECS/kernel.spec
# Install the RPM
/usr/bin/yum localinstall /usr/src/rpm/RPMS/x86_64/kernel-3.14.42-31.38.tmo.amzn1.x86_64.rpm
From there I can see that the new kernel is indeed available on disk but CONFIG_HOTPLUG_CPU
is still enabled:
$ grep HOTPLUG_CPU= /boot/config-3.14.mybuild*
/boot/config-3.14.42-mybuild.amzn1.x86_64:CONFIG_HOTPLUG_CPU=y
/boot/config-3.14.42-mybuild.amzn1.x86_64:CONFIG_ACPI_HOTPLUG_CPU=y
What else is needed to disable CONFIG_HOTPLUG_CPU and set up the new kernel?