# what happened to arch/x86_64 ?[SOLVED]

## jserink

Hi All:

i have just compiled the 2.6.27-gentoo-r8 kernel and attempted to copy over my bzImage to my /boot with:

cp arch/x86_64/boot/bzImage /boot

and I get this:

jerinkturion linux # cp arch/x86_64/boot/bzImage /boot/kernel-2.6.27-gentoo-r8-A

cp: cannot stat `arch/x86_64/boot/bzImage': No such file or directory

The I check doing this:

jerinkturion linux # ls -l arch

total 9

-rw-r--r--  1 root root 2664 Jan 21 09:48 Kconfig

drwxr-xr-x  9 root root  328 Jan 21 09:48 alpha

drwxr-xr-x 63 root root 1952 Jan 21 09:48 arm

drwxr-xr-x 11 root root  352 Jan 21 09:48 avr32

drwxr-xr-x 15 root root  488 Jan 21 09:48 blackfin

drwxr-xr-x  6 root root  336 Jan 21 09:48 cris

drwxr-xr-x  7 root root  288 Jan 21 09:48 frv

drwxr-xr-x  8 root root  392 Jan 21 09:48 h8300

drwxr-xr-x 16 root root  528 Jan 21 09:48 ia64

drwxr-xr-x  9 root root  304 Jan 21 09:48 m32r

drwxr-xr-x 21 root root  584 Jan 21 09:48 m68k

drwxr-xr-x  8 root root  304 Jan 21 09:48 m68knommu

drwxr-xr-x 33 root root  888 Jan 21 09:48 mips

drwxr-xr-x 11 root root  368 Jan 21 09:48 mn10300

drwxr-xr-x  9 root root  384 Jan 21 09:48 parisc

drwxr-xr-x 14 root root  424 Jan 21 09:48 powerpc

drwxr-xr-x 13 root root  424 Jan 21 09:48 s390

drwxr-xr-x 15 root root  472 Jan 21 09:48 sh

drwxr-xr-x 10 root root  352 Jan 21 09:48 sparc

drwxr-xr-x  9 root root  328 Jan 21 09:48 sparc64

drwxr-xr-x 11 root root  712 Jan 21 09:48 um

drwxr-xr-x 23 root root  736 Jan 21 09:48 x86

drwxr-xr-x  8 root root  280 Jan 21 09:48 xtensa

Where has the x86_64 directory gone?

WTF?

Any ideas?

Cheers,

JohnLast edited by jserink on Thu Mar 12, 2009 9:05 am; edited 1 time in total

----------

## dylix

same here, haha. but i'm using linux-2.6.28-gentoo-r2 atm, so i dunno..

```
dylix@reaction ~ $ ls /usr/src/linux-2.6.27-gentoo-r8/arch/ -l

total 9

-rw-r--r--  1 root root 2664 Mar  1 13:09 Kconfig

drwxr-xr-x  9 root root  328 Mar  1 13:10 alpha

drwxr-xr-x 63 root root 1952 Mar  1 13:10 arm

drwxr-xr-x 11 root root  352 Mar  1 13:10 avr32

drwxr-xr-x 15 root root  488 Mar  1 13:10 blackfin

drwxr-xr-x  6 root root  336 Mar  1 13:10 cris

drwxr-xr-x  7 root root  288 Mar  1 13:10 frv

drwxr-xr-x  8 root root  392 Mar  1 13:10 h8300

drwxr-xr-x 16 root root  528 Mar  1 13:10 ia64

drwxr-xr-x  9 root root  304 Mar  1 13:10 m32r

drwxr-xr-x 21 root root  584 Mar  1 13:10 m68k

drwxr-xr-x  8 root root  304 Mar  1 13:10 m68knommu

drwxr-xr-x 33 root root  888 Mar  1 13:10 mips

drwxr-xr-x 11 root root  368 Mar  1 13:10 mn10300

drwxr-xr-x  9 root root  384 Mar  1 13:10 parisc

drwxr-xr-x 14 root root  424 Mar  1 13:10 powerpc

drwxr-xr-x 13 root root  424 Mar  1 13:10 s390

drwxr-xr-x 15 root root  472 Mar  1 13:10 sh

drwxr-xr-x 10 root root  352 Mar  1 13:10 sparc

drwxr-xr-x  9 root root  328 Mar  1 13:10 sparc64

drwxr-xr-x 11 root root  712 Mar  1 13:10 um

drwxr-xr-x 23 root root  736 Mar  1 13:10 x86

drwxr-xr-x  8 root root  280 Mar  1 13:10 xtensa

```

----------

## doctork

It does exist on my x86_64 systems, but doesn't contain a lot:

```
jkorpi@fino /usr/src/linux $ ll -R arch/x86_64

arch/x86_64:

total 4

drwxr-xr-x 2 root root 4096 2009-03-03 17:07 boot

arch/x86_64/boot:

total 0

lrwxrwxrwx 1 root root 22 2009-03-03 17:07 bzImage -> ../../x86/boot/bzImage

```

Looks like you could recreate it manually or copy it from an older source directory.

--

doc

----------

## jserink

so is x86_64 just a link to x86 now?

----------

## doctork

 *jserink wrote:*   

> so is x86_64 just a link to x86 now?

 

The structure I showed above was also on a 2.6.28-r2 kernel.  I notice that 2.26.28-r3 is missing the x86_64 directory on my systems, but I haven't configure or built that kernel yet.  Maybe something in the build process creates it.  I typically use "make xconfig" for configuration and "make -j5 && make modules_install && make install" to generate a new kernel.

It looks like things changed after 2.6.22 -- that version has a bunch of files under arch/x86-64.

-- 

doc

----------

## dylix

 *jserink wrote:*   

> so is x86_64 just a link to x86 now?

 

no. its there in other version.. like my 2.6.28 kernel.. so something screwy must of happened with the .27 ebuild

 :Confused: 

----------

## jserink

I tried to recompile the kernel again just in case and now it won't compile:

jerinkturion linux # make -j3 && make modules_install

  CHK     include/linux/version.h

  CHK     include/linux/utsrelease.h

  CALL    scripts/checksyscalls.sh

  CHK     include/linux/compile.h

dnsdomainname: Unknown host

kernel/irq/.manage.o.cmd:3: *** unterminated call to function `wildcard': missing `)'.  Stop.

make[1]: *** [kernel/irq] Error 2

make: *** [kernel] Error 2

make: *** Waiting for unfinished jobs....

jerinkturion linux #                                              

Does that mean anything to anyone?

Cheers,

John

----------

## jserink

did a make clean and it compiled, but same problem....

There is no x86_64 directory.

I'm running an x86_64 system.

Here is my make.conf file:

jerinkturion arch # cat /etc/make.conf

# These settings were set by the catalyst build script that automatically built this stage

# i Please consult /etc/make.conf.example for a more detailed example

CFLAGS="-march=k8 -O2 -pipe"

CHOST="x86_64-pc-linux-gnu"

CXXFLAGS="${CFLAGS}"

MAKEOPTS="-j3"

USE="-gtk -gnome hal qt3 qt4 kde dvd alsa oss cdr 3dnow acpi bluetooth dri dvdr dvdread ieee1394 seamonkey xine -arts sdl xinerama 3dnowext"

it says k8 so it KNOWS I'm using x86_64, except no arch/x86_64 directory.

VERY strange.

John

----------

## DaggyStyle

had this problem, it was because the compilation failed, try emerging 2.6.28-r3, run make clean and make, if it finishes without an error, you should have that dir.

----------

## ttuegel

This is because the kernel architecture was for x86 and x86_64 was recently unified.  If you're compiling the 2.6.28 branch, you can use the bzImage from the x86 directory.  It's the same, 64-bit image as before, just stored in a different place.

----------

## Gef

http://lkml.org/lkml/2007/7/20/447	"(RFC, Announce Unified) x86 architecture, arch/x86" (Sat, 21 Jul 2007 00:32:59 +0200).

----------

## jserink

 *ttuegel wrote:*   

> This is because the kernel architecture was for x86 and x86_64 was recently unified.  If you're compiling the 2.6.28 branch, you can use the bzImage from the x86 directory.  It's the same, 64-bit image as before, just stored in a different place.

 

That should mean that I can just copy the bzImage from the arch/x86/boot directory and it 'should' be what I want.

Ok, will try that.

Cheers,

john

----------

## jserink

Ok, 2 things...

1. I had a foul-up when I did make oldconfig....I said no to FW loading into the kernel, the trick is to just hit enter. This mistake prevented the kernel from compiling,

2. The x86_64 tree has been merged into the x86 tree. Means there is no more x86_64 tree.

Cheers,

john

----------

## DaggyStyle

 *jserink wrote:*   

> Ok, 2 things...
> 
> 1. I had a foul-up when I did make oldconfig....I said no to FW loading into the kernel, the trick is to just hit enter. This mistake prevented the kernel from compiling,
> 
> 2. The x86_64 tree has been merged into the x86 tree. Means there is no more x86_64 tree.
> ...

 

so how does my 2.6.28-r3 kernel has a x86_64 dir after compilation?

----------

## jserink

 *DaggyStyle wrote:*   

>  *jserink wrote:*   Ok, 2 things...
> 
> 1. I had a foul-up when I did make oldconfig....I said no to FW loading into the kernel, the trick is to just hit enter. This mistake prevented the kernel from compiling,
> 
> 2. The x86_64 tree has been merged into the x86 tree. Means there is no more x86_64 tree.
> ...

 

Right!!!

I now have an x86_64 under arch, and it has a SINGLE directory under it, boot, and in arch/x86_64/boot there is a single file, a link to bzImage that is in arch/x86/boot.

make sense?

Cheers,

John

----------

