Subject: 32bit NetBSD-3.0 on Ultra 5 problems?!
To: NetBSD/sparc64 <port-sparc64@netbsd.org>
From: Amadeus Stevenson <amadeus.stevenson@gmail.com>
List: port-sparc64
Date: 04/09/2006 13:56:59
Hello all,

I recently installed sparc64 NetBSD-3.0 on my Ultra5, and it was great
to have X working smoothly with just an XF86Config to write.

However I hit upon the old problem of unclean 64bit applications (like
Firefox) not working properly.

Having read a little about 32bit vs 64bit and quickly realising that I
will never have the need for over 4gb of RAM I decided to try running
32bit netbsd-3.0 (sparc) on my Ultra5.

From http://www.netbsd.org/Ports/sparc64/:

"NetBSD/sparc64 supports both 32-bit and 64-bit kernels. A 32-bit
kernel runs all NetBSD/sparc binaries. A 64-bit kernel runs 64-bit
binaries, and has support for running most 32-bit binaries as well,
with the exception of some low level kernel groveling tools."

From: ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0/sparc64/INSTALL.html

"If you want to install 32-bit only binaries, you will still need to
boot using the sparc64 installation tools. When it asks you for the
distribution set to install, provide the NetBSD/sparc binary/sets. Be
sure to use the 32 bit sparc kern-GENERIC_SUN4U.tgz kernel
distribution. Otherwise, continue to follow the sparc64 installation
procedure, not the sparc instructions."

and

"If you are installing from the 32-bit sparc distribution set, make
sure that you installed the correct kernel. The sparc64 installation
tools do not by default copy the correct 32-bit kernel. Unless you
prepared ahead of time by renaming the kern-GENERIC_SUN4U.tgz to
kern-GENERIC.tgz then you will need to follow the next few
instructions."

So I booted a netbsd-2.0 sparc64 installation cd which I had handy,
and during network install changed the base and set dir so it pulled
the NetBSD-3.0/sparc binaries.

I then manually ftp'ed the kern-GENERIC_SUN4U.tgz from
NetBSD-3.0/sparc and installed this as /netbsd.

Upon rebooting everything booted fine (installation disk wd0).
However, when it came to mounting the disk towards the end of the boot
it failed.

"/dev/rwd0c doesn't exist" or "Can't find /dev/wd0a" warnings were
issued (paraphrased).

I checked and indeed /dev was empty of *wd0*.

I tried to rebuild the devices in /dev by following the instructions
on the netbsd guide but couldn't "mount -u /" to get write access to
start with:

"mount_ffs real disk: wd0a not found" (paraphrased)

So I'm back to the same problem - no /dev/wd0* or /dev/rwd0* (so
disklabel doesn't work). I can't get write access, as these don't
exist (although root_device mounts).

Help!

I wondered if this was netbsd-2.0 sparc64 sysinstall not behaving
(despite the fact it worked perfectly when specifying netbsd-3.0
sparc64 sets) so I used the miniroot sparc64 3.0 boot method and
repeated this again.

Same problem! No /dev/wd0* or /dev/rwd0* upon booting.

What can I do?

There were also some problems using miniroot such as dhclient not
working (no bf device found) which didn't occur with netbsd-2.0
sparc64 sysinstall.

Anyway. Help?!

Amadeus