Subject: Re: running NetBSD/sparc binaries on NetBSD/sparc64
To: Vicky Staubly <vicky@steeds.com>
From: Sean Davis <dive@endersgame.net>
List: port-sparc64
Date: 03/17/2004 19:07:26
On Wed, Mar 17, 2004 at 06:30:27PM -0500, Vicky Staubly wrote:
> 
> On Wed, 17 Mar 2004, Sean Davis wrote:
> > What is the proper method for setting up a NetBSD/sparc64 machine so that
> > one can run NetBSD/sparc binaries on it? I saw a post (I believe by mrg@)
> > that said that all you need is COMPAT_NETBSD32 in the kernel and the
> > necessary libraries under /emul/netbsd32... I untarred (preserving
> > permissions/owners of course) base.tgz from NetBSD/sparc under
> > /emul/netbsd32, but nothing 32-bit runs. I'm pretty sure I've missed
> > something... anybody know what? :-)
> 
> Sorry if this is too obvious, but I find the obvious part is what
> I always forget. :-) Did you check to see if your kernel is built
> with the COMPAT_NETBSD32 flag enabled? I'm not sure if it's enabled
> in the pre-built ("GENERIC") kernel, I'm just now downloading the
> kernel source myself (I've customized my FreeBSD kernel, but haven't
> yet messed with either of my NetBSD sparc kernels - 1 32-bit and 1
> 64-bit).

The first thing I do when I install a machine is get rid of GENERIC in favor
of a custom kernel.

Here's the currently running kernel config for that box:

# starways.endersgame.net kernel configuration [NetBSD current sparc64]
# $egnet: STARWAYS,v 1.18 2004/01/31 04:53:00 dive Exp $

machine		sparc64

ident		"STARWAYS"

maxusers	32

makeoptions	LP64="yes"
makeoptions	COPTS="-O4 -mcpu=ultrasparc"

options		EXEC_ELF64
options		EXEC_SCRIPT
options		SUN4U
options		NTP
options		INET
options		COMPAT_16
options		COMPAT_NETBSD32
options		NFSSERVER
options		KTRACE

file-system	FFS
file-system	NFS

config		netbsd root on sd0a type ffs dumps on sd0b

mainbus0	at root
cpu0		at mainbus0
pcons0		at mainbus0
psycho*		at mainbus0
pci*		at psycho?
ppb*		at pci? dev ? function ?
pci*		at ppb?
ebus*		at pci?
auxio0		at ebus?
lpt*		at ebus?
clock0		at ebus?
sab*		at ebus?
sabtty*		at sab? channel ?
ahc*		at pci? dev ? function ?
com*		at ebus?
kbd0		at com?
ms0		at com?
scsibus*	at ahc?
sd*		at scsibus? target ? lun ?
cmdide*		at pci? dev ? function ?
atabus*		at cmdide? channel ?
atapibus*	at atabus?
cd*		at atapibus? drive ? flags 0x0000
hme*		at pci? dev ? function ?
nsphy*		at mii? phy ?
audiocs*	at ebus?
audio*		at audiocs?

pseudo-device	bpfilter	2
pseudo-device	loop
pseudo-device	rnd
pseudo-device	clockctl
pseudo-device	pty

-Sean

--
/~\ The ASCII
\ / Ribbon Campaign                   Sean Davis
 X  Against HTML                       aka dive
/ \ Email!