linux-mips
[Top] [All Lists]

Re: Building 64 bit kernel on Cobalt

To: kumba@gentoo.org
Subject: Re: Building 64 bit kernel on Cobalt
From: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Date: Sat, 24 Mar 2007 23:47:27 +0900 (JST)
Cc: linux-mips@linux-mips.org, vagabon.xyz@gmail.com
In-reply-to: <46049BAD.1010705@gentoo.org>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <4603DA74.70707@gentoo.org> <20070324.002440.93023010.anemo@mba.ocn.ne.jp> <46049BAD.1010705@gentoo.org>
Sender: linux-mips-bounce@linux-mips.org
On Fri, 23 Mar 2007 23:31:57 -0400, Kumba <kumba@gentoo.org> wrote:
> Well, o64 went away as we all know.  It was never a favourable
> option for very good reasons (although I used it right up until it
> died and I was forced off of it).  The replacement for it, that was
> more preferred and resulted in similar code was building a kernel
> for any of these three systems using CONFIG_BUILD_ELF64 + -msym32
> (auto selected in the Makefile) + the make vmlinux.32 target.  I
> believe this method is what Debian uses for building their mips
> kernels for SGI systems, but don't quote me on that.  If someone
> from Debian wants to comment, please do.

The replacement is CONFIG_BUILD_ELF64=n (it adds -msym32 option) +
CONFIG_BOOT_ELF32=y (it adds vmlinux.32 to "all" target).  Not
CONFIG_BUILD_ELF64=y.

CONFIG_BUILD_ELF64=n enables -msym32 option, which means the kernel
load address should be CKSEG0.  And if the kernel load address was
CKSEG0, -msym32 make the kernel smaller and faster so it is absolutely
preferred.

CONFIG_BOOT_ELF32=y enables objcopying vmlinux to vmlinux.32.

---
Atsushi Nemoto

<Prev in Thread] Current Thread [Next in Thread>