1 |
On Wednesday 03 March 2010 17:29:06 Stroller wrote: |
2 |
> Hi there, |
3 |
> |
4 |
> A new (to me) server has 64-bit CPUs. By my standards this is a REALLY |
5 |
> NICE high specification machine (I appears to be 2 x dual-core), but |
6 |
> in fact it's about 3 years old & is one of the earliest Intel Xeons |
7 |
> that supports 64-bits / AMD64 / EMT64. I think it is 64-bit Pentium 4, |
8 |
> rather than Core 2 architecture. |
9 |
> |
10 |
> # cat /proc/cpuinfo | head -n 25 |
11 |
> processor : 0 |
12 |
> vendor_id : GenuineIntel |
13 |
> cpu family : 15 |
14 |
> model : 4 |
15 |
> model name : Intel(R) Xeon(TM) CPU 3.00GHz |
16 |
> stepping : 3 |
17 |
> cpu MHz : 2992.346 |
18 |
> cache size : 2048 KB |
19 |
> physical id : 0 |
20 |
> siblings : 2 |
21 |
> core id : 0 |
22 |
> cpu cores : 1 |
23 |
> apicid : 0 |
24 |
> initial apicid : 0 |
25 |
> fpu : yes |
26 |
> fpu_exception : yes |
27 |
> cpuid level : 5 |
28 |
> wp : yes |
29 |
> flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge |
30 |
> mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe |
31 |
> syscall nx lm constant_tsc pebs bts pni dtes64 monitor ds_cpl cid cx16 |
32 |
> xtpr |
33 |
> bogomips : 5984.69 |
34 |
> clflush size : 64 |
35 |
> cache_alignment : 128 |
36 |
> address sizes : 36 bits physical, 48 bits virtual |
37 |
> power management: |
38 |
> |
39 |
> |
40 |
> I'm a bit confused by the 36-bit address size mentioned there, but I |
41 |
> assume this is OK. The Gentoo wiki seems to confirm this CPU is 64- |
42 |
> bit: http://tinyurl.com/klv7gc [1] |
43 |
|
44 |
that is correct |
45 |
|
46 |
|
47 |
> |
48 |
> Is there anything I need to know about working with 64-bits / AMD64 / |
49 |
> EMT64, seeing as I've never done so before? |
50 |
|
51 |
Nope, it's just another arch. The days of doing weird funky stuff to get amd64 |
52 |
to work are long gone |
53 |
|
54 |
|
55 |
> |
56 |
> I have started following the Gentoo Linux AMD64 Handbook, because the |
57 |
> Quick Install Guide is described as "x86". Having untarred the stage I |
58 |
> am surprised to find a lib32 directory. I thought compatibility with |
59 |
> 32-bit binaries was optional. Or am I misunderstanding? This is going |
60 |
> to be a headless server & I can't think that it'll need any binary |
61 |
> packages - possibly the management utility for the RAID controller |
62 |
> will be distributed as a binary, I'm not sure yet (the hardware RAID |
63 |
> key was missing when I got this machine ☹) |
64 |
> |
65 |
> I'm editing my make.conf and looked at the Gentoo wiki for "Safe |
66 |
> Cflags" - it says 'CHOST="x86_64-pc-linux-gnu"'. But of course |
67 |
> (according to make.conf.example) one shouldn't change CHOST on an |
68 |
> installed system. Will the files in the stage 3 have been compiled |
69 |
> using this CHOST? |
70 |
|
71 |
Yes. If you used a recent amd64 stage, it will all be fine. |
72 |
> |
73 |
> Any pointers would be gratefully appreciated - I'm wondering if |
74 |
> there's anything you guys all take for granted that I could mess up if |
75 |
> I don't allow for it early enough in the installation process. |
76 |
|
77 |
In make,conf, as long s you are using a reasonably recent gcc: |
78 |
|
79 |
CHOST="x86_64-pc-linux-gnu" |
80 |
CFLAGS="-march=native -O2 -pipe" |
81 |
CXXFLAGS="${CFLAGS}" |
82 |
|
83 |
|
84 |
-march=native avoids all that tedious mucking about with trying to figure out |
85 |
what cpu type you should build for, and moves the heavy lifting off onto the |
86 |
compiler. |
87 |
|
88 |
|
89 |
|
90 |
-- |
91 |
alan dot mckinnon at gmail dot com |