Rebuilding Wheezy kernel
Hi, folks.
With the aid of Jonathan's and Philipp's excellent instructions I was
able to rebuild the Debian Wheezy 3.2 kernel with the NSS feature enabled.
As I have begun to experiment with building the kernel, I have found the
following issues with the Debian process
1) If I install the libncurses5-dev package and use the instructions
found in Chapter 4, Section 5 of the Debian Linux Kernel Handbook (i.e.,
the make menuconfig, make clean, make deb-pkg steps), the kernel built
is for the s390 architecture and not the s390x one.
2) If I use the "make menuconfig" command instead of the two
"scripts/config" commands shown below, then the next "fakeroot make -f
debian/rules.gen binary-arch_s390x_none_s390x" command fails with an
error. That is the following sequence does not work:
cd linux-3.2.23
fakeroot make -f debian/rules.gen setup_s390x_none_s390x
make menuconfig
fakeroot make -f debian/rules.gen binary-arch_s390x_none_s390x
3) Since it appears that I can not use the "make menuconfig" process to
update the kernel configuration file, where might I find a list of all
acceptable options for the "scripts/config --enable" command
4) Why is the kernel build process for s390x different than the one
documented in the Handbook?
Thanks again for the help, and have a good one, too.
DJ
On 10/25/2012 05:17 PM, Philipp Kern wrote:
> Hi,
>
> On Tue, Oct 23, 2012 at 08:45:25PM -0700, Jonathan Nieder wrote:
>> Dave Jones wrote:
>>> Can the wheezy s390x kernel be saved as an NSS? If so, how?
>> Based on [1], it looks like the answer is currently no, based on the
>> following line in the kernel config file:
>>
>> # CONFIG_SHARED_KERNEL is not set
>>
>> The description of that option says
>>
>> Select this option, if you want to share the text segment of the
>> Linux kernel between different VM guests. This reduces memory
>> usage with lots of guests but greatly increases kernel size.
>>
>> You can build a custom kernel using that option if you wish. It works
>> like this[2]:
>>
>> $ apt-get source linux
>> # apt-get install build-essential fakeroot
>> # apt-get build-dep linux
>> $ cd linux-<version>
>> $ fakeroot debian/rules source
>> $ fakeroot make -f debian/rules.gen setup_s390_none_s390x
>
> as we're talking about s390x here that would be setup_s390x_none_s390x.
>
>> $ cd debian/build/build_s390_none_s390x
>
> Same here.
>
>> $ scripts/config --disable DEBUG_INFO
>> $ scripts/config --enable SHARED_KERNEL
>
> That's «../source_none/scripts/config».
>
>> $ cd ../../..
>> $ fakeroot make -f debian/rules.gen binary-arch_s390_none_s390x
>
> And again s390x_none_s390x instead of s390_none_s390x.
>
> I just did the recompilation. AFAICS the kernel size is indeed increased quite
> a bit. We currently have:
>
> -rw-r--r-- root/root 6303232 2012-10-22 15:36 ./boot/vmlinuz-3.2.0-4-s390x
>
> With SHARED_KERNEL on and DEBUG_INFO off as above:
>
> -rw-r--r-- root/root 7945728 2012-10-25 21:53 ./boot/vmlinuz-3.2.0-4-s390x
>
> So a NSS shareable kernel is 1.26 times larger than a plain one. And I fear
> that the additional bits cannot be discarded at runtime neither, but I cannot
> test this right now.
>
> Interestingly enough the kernel is already in its plain form 2.23 times bigger
> than an amd64 build of vmlinuz-3.2.0-3-amd64.
>
> Kind regards
> Philipp Kern
>
>> [1] http://www.vm.ibm.com/linux/linuxnss.html
>> [2] http://kernel-handbook.alioth.debian.org/ch-common-tasks.html
>
--
Dave Jones
V/Soft Software
www.vsoft-software.com
Houston, TX
281.578.7544
Reply to: