# [SOLVED] Genkernel insists on x86_64 kernel for 486 build

## FastTurtle

Anyone got an idea how to force Genkernel to quit changing the cpu type to x86_64 when I need the generic 486 build?

Alternative is link to creating an initramfs from scratch since genkernel insists on a 64bit kernel when I need the 32bit for a system w/o networking

another option is vanila-source kernel (need 486 support)Last edited by FastTurtle on Sat May 18, 2013 5:59 pm; edited 1 time in total

----------

## logical_guy

How about compiling the manual way?

----------

## FastTurtle

Tried that and the same blasted problem. Keep getting a message that kernel doesn't suppor x86_64 when selecting the p4 kernel (I thought a P4 was 32bit only).

Not sure what's going on unless it's linked to the initramfs. Anyone have an idea how to find what's insisting on 64bit support? Needs to be CLI as there's not gui as yet

----------

## John R. Graham

That may be the genesis of the problem: P4 isn't 32-bit only in some incarnations; just in some of the earlier ones. Why aren't you selecting 486 for the processor type if you're building for a 486?

Edit: Wait. Are you building on a 64-bit system? I don't believe it is possible to directly build a 32-bit environment on a 64-bit system. You can set up a 32-bit chroot and do your build in that, though. 

- John

----------

## DirtyHairy

I'm pretty sure that on 64bit, building a 32bit kernel is essentially crosscompiling, using a 32bit toolchain built e.g. with crossdev. This way, it should work  :Wink: 

----------

## Ant P.

 *John R. Graham wrote:*   

> I don't believe it is possible to directly build a 32-bit environment on a 64-bit system.

 

It is, just use "make ARCH=i386". I've used this for building embedded x86 stuff a few times.

----------

## FastTurtle

John: Because the kernel sources have droped anything prior to the P4 as an option.

According to Intel, there are no 64bit P4's (never were/never will be) as Intel didn't introduce the EMT64 extensions until the Core architecture was relased. There may be some chips that were 64bit but they aren't P4's according to Intel.

All: 

What I ended up doing was used the i486 installer on the system I was attempting to build the 32bit kernel.

----------

## John R. Graham

 *FastTurtle wrote:*   

> John: Because the kernel sources have droped anything prior to the P4 as an option.

 Actually, they're still there, but menuconfig does appear to hide them from you if you're not running in a 32-bit environment. Here's the full list of processors from "make menuconfig" in the latest stable gentoo-sources (3.8.13 as of this writing):

```
( ) 486

( ) 586/K5/5x86/6x86/6x86MX

( ) Pentium-Classic

( ) Pentium-MMX

( ) Pentium-Pro

( ) Pentium-II/Celeron(pre-Coppermine)

( ) Pentium-III/Celeron(Coppermine)/Pentium-III Xeon

( ) Pentium M

( ) Pentium-4/Celeron(P4-based)/Pentium-4 M/older Xeon

( ) K6/K6-II/K6-III

( ) Athlon/Duron/K7

( ) Opteron/Athlon64/Hammer/K8

( ) Crusoe

( ) Efficeon

( ) Winchip-C6

( ) Winchip-2/Winchip-2A/Winchip-3

( ) AMD Elan

( ) GeodeGX1

( ) CyrixIII/VIA-C3

( ) VIA C3-2 (Nehemiah)

( ) VIA C7

( ) Core 2/newer Xeon

( ) Intel Atom
```

Hmm. These also appear to show up if you include the ARCH= option recommended by Ant P. and select a 32-bit architecture. I didn't know you could do that.   :Embarassed:   That said, I've always used a 32-bit environment to build for 32-bit systems.

 *FastTurtle wrote:*   

> According to Intel, there are no 64bit P4's (never were/never will be) as Intel didn't introduce the EMT64 extensions until the Core architecture was relased. There may be some chips that were 64bit but they aren't P4's according to Intel.

 This also turns out not to be the case. Here's just one example of many from Intel's web site.   :Wink: 

- John

----------

