*brushes dust off topic* Ahem, it's been five years, but this guide is exactly what I was looking for. I've been searching for a while on a way to test out a 64-bit kernel on an otherwise pure 32-bit system.

I hope the guide still works (I will try it in a while), but I have two questions that should be addressed for those who want to follow this:

Will using modules work as normally, or must this kernel be static and have all modules compiled in?

What about nvidia graphic cards users? Is there some guide/right method of compilation, or you shouldn't even try? Or is nouveau the only way?

EDIT: So here are my findings:

1. If you want a crosscompiler ONLY for building your 64bit kernel, you can change the command:

Code:

crossdev -t x86_64-pc-linux-gnu

for

Code:

crossdev -t x86_64-pc-linux-gnu -s1

As that will only give you a GCC capable of producing 64bit executables.

2. Current kernels have a 'Cross-compiler tool prefix' (CONFIG_CROSS_COMPILE) which is a good way to store the CROSS_COMPILE variable. By setting CONFIG_CROSS_COMPILE=x86_64-pc-linux-gnu-, you can change the compilation commands from:

Code:

make ARCH=x86_64 CROSS_COMPILE=x86_64-pc-linux-gnu-

to

Code:

make ARCH=x86_64

3. nvidia-drivers seems to be a hassle to compile, because the X11 driver should be compiled in 32bit while the kernel module in 64bit :/ I just dumped that and changed to Nouveau, that was way easier.