Non-PAE kernel in 12.10

Liam Proven lproven at
Fri Nov 23 10:58:58 UTC 2012

On 22 November 2012 16:47, Tom H <tomh0665 at> wrote:
> 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".

Thanks for the info.

I must admit, that sounds /very/ daunting and rather scary to me, but
I will try it when time permits & see if I can wrap my head around it.

TBH, at the moment, switching to Debian is more appealing... O_o

(Although judging from Linux Mint Debian Edition on that machine, I
would have to run the 486 kernel. :¬( )

Liam Proven • Profile:
Email: lproven at • GMail/G+/Twitter/Flickr/Facebook: lproven
MSN: lproven at • Skype/AIM/Yahoo/LinkedIn: liamproven
Tel: +44 20-8685-0498 • Cell: +44 7939-087884

More information about the ubuntu-users mailing list