Gentoo Archives: gentoo-amd64

From: "Boyd Stephen Smith Jr." <bss03@××××××××××.net>
To: gentoo-amd64@l.g.o
Subject: Re: [gentoo-amd64] upgrading from 2005.0 x86, to 2006.0 amd64
Date: Sat, 11 Mar 2006 02:08:57
Message-Id: 200603102005.58347.bss03@volumehost.net
In Reply to: Re: [gentoo-amd64] upgrading from 2005.0 x86, to 2006.0 amd64 by Bo Andresen
1 On Friday 10 March 2006 09:11, Bo Andresen <bo.andresen@×××××.com> wrote
2 about 'Re: [gentoo-amd64] upgrading from 2005.0 x86, to 2006.0 amd64':
3 > On Friday 10 March 2006 14:51, Mike Williams wrote:
4 > > At the moment it's happily running a 32bit kernel, with 32bit
5 > > userland. From my experimentation last night, I suspect I will need to
6 > > boot an amd64 livecd to compile a proper 64bit kernel, which will
7 > > enable me to compile a 64bit toolchain.
8 > > Could not compile a 64bit kernel, or a multilib gcc, from the 32bit
9 > > kernel.
10 >
11 > You might want to have a look at this recent thread from the gentoo-user
12 > mailing list. Boyd helped me to compile a 64 bit kernel from 32 bit
13 > kernel and user land using a cross compiler. It was actually quite easy.
14 > The 64 bit user land I got from the amd64 stage3 tarball. This was a
15 > fresh install but using a 32 bit live cd.
16
17 Heh. Bo, you beat me to the punch. That's what I get for working 11 hour
18 days. :P
19
20 > http://groups.google.com/group/linux.gentoo.user/browse_thread/thread/e4
21 >629ea8751a9ab4/815dbc64722b7d49%23815dbc64722b7d49?sa=X&oi=groupsr&start=
22 >1&num=3
23 >
24 > I think the important steps for compiling a 64 bit kernel were:
25 >
26 > To get a working cross compiler:
27 > #emerge crossdev
28 > #crossdev -s1 -t x86_64
29 >
30 > To configure a 64 bit kernel using that cross compiler:
31 > #cd /usr/src/linux
32 > #make ARCH=x86_64 CROSS_COMPILE=x86_64-pc-linux-gnu-
33
34 Probably want to stick a menuconfig / config / xconfig on the end of that
35 command line.
36
37 > In my case the include/asm symlink pointed towards asm-386
38 > # ls -ld include/asm
39 > lrwxrwxrwx 1 root root 10 Feb 24 14:27 include/asm -> asm-386
40
41 As I mentioned in our thread, post-mortem, I think a 'make mrproper' would
42 clear up this symlink, so that the next 'make' would re-create it.
43
44 > Compile 64 bit kernel:
45 > #make ARCH=x86_64 CROSS_COMPILE=x86_64-pc-linux-gnu-
46 > #make ARCH=x86_64 CROSS_COMPILE=x86_64-pc-linux-gnu- modules_install
47
48 Also, make sure that while you have a 32-bit userland (or are using
49 multilib) that you select the kernel option for supporting 32-bit code. I
50 believe it's referred to as IA32 executable support. The exact config
51 option should be in that above thread.
52
53 After you get a 32-bit kernel, you should be able to change your make.
54 {conf,profile} (you'll want to check your CHOST and ACCEPT_KEYWORDS, at a
55 minimum) then emerge -e world for a nice 64-bit userland. You may,
56 however, run into some packages that you have to downgrade or do without
57 -- not everything keyworded x86 is also keywords amd64, for better or
58 worse.
59
60 --
61 "If there's one thing we've established over the years,
62 it's that the vast majority of our users don't have the slightest
63 clue what's best for them in terms of package stability."
64 -- Gentoo Developer Ciaran McCreesh
65 --
66 gentoo-amd64@g.o mailing list