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: