Phillip Pearson - web + electronics notes

tech notes and web hackery from a new zealander who was vaguely useful on the web back in 2002 (see: python community server, the blogging ecosystem, the new zealand coffee review, the internet topic exchange).

2007-5-11

Building a non-PAE Xen kernel on Debian etch [IN PROGRESS]

Update: C. Vorwerk wrote to me to say that he has figured out how to do this. Thanks!

I've been running Xen on Debian etch for a couple of weeks now on all my own Linux boxes and all our new company servers, and it's working great. With xen-tools, I can build a pristine Debian VM with one command. I have a script that'll install all the prerequisites for PeopleAggregator and general VM administration, put my SSH keys in the appropriate places, and generally get the new VM ready to host one or more instances of PA. Then I have another script that will check out the PA code from one of our many Subversion repositories, get it ready to run the install script, configure log rotation, and all that. So all is working well.

Today I'm trying to install Solaris on Xen, however it looks like the provided Solaris domU image doesn't support PAE, while Debian *requires* PAE. So here's a quick guide to building a non-PAE Xen kernel on Debian. I've read a bunch of guides to doing more or less the same thing, but they're all from 2005. Here's one from May 2007 :)

The best source I've found is the Debian Linux Kernel Handbook, BTW.

apt-get source linux-2.6
apt-get install build-essential fakeroot
apt-get build-dep linux-2.6
cd linux-2.6-*
fakeroot debian/rules debian/build debian/stamps
fakeroot make -f debian/rules.gen setup-i386-xen-686

Now edit debian/build/build-i386-xen-686/.config and change the y to n in the "CONFIG_something_PAE=y" line, and continue to build the kernel:

fakeroot make -f debian/rules.gen binary-arch-i386-xen-686

It's building right now. I'll update this when I find out if it works or not!

--

Update: It seems to have built a PAE kernel :(

Will update this when I figure it out!

Next try: editing arch/i386/Kconfig and changing 'default y' to 'default n' under 'config X86_PAE'

---

Update: That got through the build process but then failed at the end with a bunch of errors about symbols being the wrong place and thus breaking the ABI. I'm not familiar enough with the kernel to know if I can still boot Debian with an altered ABI, so I'm going to pause here and try another way to get OpenSolaris going...

... more like this: [, ]