Non-PAE kernel in 12.10

Tom H tomh0665 at
Thu Nov 22 16:47:20 UTC 2012

On Wed, Nov 21, 2012 at 4:33 PM, Tom H <tomh0665 at> wrote:
> On Wed, Nov 21, 2012 at 11:32 AM, Liam Proven <lproven at> wrote:
>> Yes, the non-PAE kernel has been dropped altogether from 12.10.
>> I and quite a few other Pentium-M and Centrino v1 owners are not very
>> happy about this. OK, fair enough, almost all the other chips that
>> can't do PAE are really old - mostly from the 1990s and realistically
>> too old for Ubuntu (except possibly Lubuntu). However, the Pentium M
>> and even some Core/Core2-era Celeron chips - well over 1GHz-class,
>> more than able to run current Ubuntu versions just fine - are now
>> excluded.
>> This was a poor decision, made by people who did not realise how many
>> recent CPUs, some well under 4-5yo, do not support PAE.
>> I feel that for people with >3GB of RAM, the recommendation now should
>> have been to go 64-bit, not PAE.
>> But /alea jacta est/. It's too late. It is now PAE or nothing.
>> I am wondering if I could actually create a PPA myself and build a
>> non-PAE kernel and put it in there. I don't have the skills but I am
>> sure I could learn.
>> Building the kernel I can do. It's packaging it & creating a PPA I
>> know nothing about.
> Some people wanted to drop it for 12.04:
> I don't know anything about PPAs but Launchpad or the Ubuntu wiki must
> have instructions.
> I don't think that you can have PPA debs built on Ubuntu build
> servers, so you'll have to build your package in a clean install
> before uploading it.
> I build kernel packages in a chroot populated with debootstrap and
> apt-get. Using pbuilder or sbuild is probably more correct but AFAICT
> they're meant to be used with debianized sources so I don't use them.
> Building a kernel package isn't much more complicated than compiling a
> kernel with "make". In both cases, the most complex step's "make
> *config". Since you just want to rebuild an Ubuntu pae kernel as
> non-pae, you have to change that particular kernel config parameter,
> which is "Processor type and features" >> "High Memory Support" >>
> "4GB".
> I've moved from using "make-kpkg" to "make deb-pkg" to build kernel
> packages. The former needs fakeroot (according to the various howtos
> that I read when I first started using it and I've never tried using
> it without it) so I'm using fakeroot with the latter. I've never used
> fakeroot with a straight "make" so I don't know whether it makes sense
> to use it for "make deb-pkg". I don't use fakeroot with "make rpm-pkg"
> but maybe there's a step in the creation of debs that needs root
> perms...
> I build kernels with the command below from upstream/pristine sources
> rather than Ubuntu ones but you should be able to use (or at least
> inspire yourself from) it:
> DEBEMAIL="tomh0665 at" KDEB_PKGVERSION="" fakeroot
> make deb-pkg
> This creates "linux-image-3.7.0-rc6_3.7.0.0-9h_amd64.deb" (as well as
> linux-headers, linux-firmware-image, and linux-libc-dev debs).
> Had I added "-t1" to "-rc6" on the "EXTRAVERSION" line at the top of
> "./Makefile", the deb's name would've been
> "linux-image-3.7.0-rc6-t1_3.7.0.0-9h_amd64.deb".
> ("-t1" and "-9h" are just for illustration purposes!)
> I don't put "" in KDEB_PKGVERSION when I do a build, in which
> case the debs' names are "linux-image-3.7.0-rc6_9h_amd64.deb" or
> "linux-image-3.7.0-rc6-t1_9h_amd64.deb". I added it above because
> Ubuntu names its kernel packages this way (more or less!), so I
> thought that I'd follow that model in my example. The latest raring
> kernel package is "linux-image-3.7.0-3-generic_3.7.0-3.9_amd64.deb".
> If you'd rather not build the linux-headers, linux-firmware-image, and
> linux-libc-dev debs, you can edit the "builddeb" script
> ("./scripts/package/builddeb"). The edits are pretty straightforward.
> You also use "make-kpkg" in order to build a kernel package; it works
> perfectly well but it's "effectively unmaintained" according to a
> Debian kernel developer. Should you nonetheless want to use it, you
> can run the following after setting your name and email address in
> "/etc/kernel-pkg.conf":
> CONCURRENCY_LEVEL=$(getconf _NPROCESSORS_ONLN) fakeroot make-kpkg
> --append-to-version -t1 --revision --initrd kernel_image
> You can set the revision in "/etc/kernel-pkg.conf". If you don't set
> it in this file or within the command, it defaults to
> "<kernelversion>-10.00.Custom". AFAIR (I only tried it once, a while
> ago), if you don't set "KDEB_PKGVERSION" when you run "make deb-pkg",
> it defaults to "1". AFAIR!

"make deb-pkg" must be run with fakeroot. You can run "...
KBUILD_PKG_ROOTCMD=fakeroot make deb-pkg" rather than the above "...
fakeroot make deb-pkg".

More information about the ubuntu-users mailing list