[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Building amd64/k8 kernel from 32-bit userspace



On Mon, Oct 24, 2005 at 08:15:32PM +0100, Dave Ewart wrote:
> I'm running a 32-bit Sarge on an Athlon-64 system.  I was previously
> using the kernel-image-2.6.8-11-amd64-k8 kernel, but to solve a hardware
> conflict I needed to build my own kernel.
> 
> In doing so, I have solved the hardware conflict.  However, I notice
> that my running kernel is described by 'uname' as follows:
> 
> Linux .. 2.6.12+davee .. i686 GNU/Linux
> 
> This suggests I have an i686 kernel, not an amd64-k8 kernel.  I've
> double-checked the kernel config and it is correctly set:
> 
> CONFIG_MK8=y
> 
> The resulting kernel packages produced by make-kpkg all include 'i386'
> in the name and since 'uname' shows me 'i686', I can only assume that
> the optimization for amd64-k8 hasn't been done.
> 
> This kernel appears to *run* fine, but why can't I build one for
> amd64-k8?  Is it because I have a 32-bit i686 userspace and this is
> considered cross-compiling or something??

It _is_ cross compiling to build amd64 binaries on i386.  Different
architecture after all.

> OS details: fresh Debian Sarge, gcc 3.3.5
> 
> Any hints gratefully received.

I believe you also MUST use gcc-3.4 or higher when building amd64
kernels.

Len Sorensen



Reply to: