NetBSD/sparc64 Frequently Asked Questions
General Questions
- How to bootstrap NetBSD/sparc64?
- How do I netboot NetBSD/sparc64?
- Can I boot from a CDROM?
- How do I drop into DDB?
- How do I switch virtual consoles
- How do I turn off the internal speaker in my U5/U10
- Why am I getting a Fast Data Access MMU Miss?
- Can I use "standard" PCI cards?
- Why can mmap(2) on /dev/mem only access RAM and not devices?
- What file system types can NetBSD/sparc64 boot from?
X Setup
- Does this section about X setup apply to my NetBSD version?
- How do I create a XF86Config file?
- How do I change the keyboard layout under X
- How do I switch virtual consoles while in X
- I have a Creator graphics adapter, but X is very slow
Other sources of information
- Sun System Handbook
- Memory Modules
- SunHELP
- Sun NVRAM/Hostid FAQ
- Sun Serial Port & Cable Pinouts
- Sun Product Documentation
More general sources of information
- NetBSD Install Notes
- Mailing List
- Hardware Documentation
- Diskless NetBSD HOW-TO
- NetBSD Serial Port Primer
- General NetBSD Documentation
General Questions
How to bootstrap NetBSD/sparc64? (top)
The simplest method is to grab an INSTALL kernel packaged with a miniroot with built-in sysinst and boot from that. You can netboot it, place it in a Solaris root partition and have the solaris bootloader load it, or use an ISO image burnt onto a CDROM.
These methods are detailed in the NetBSD 3.1 install notes .
How do I netboot NetBSD/sparc64? (top)
See the Diskless NetBSD HOW-TO .
Can I boot from a CDROM? (top)
Yes. There are single arch (sparc64 only) ISO images available (sparc64cd.iso) at: ftp://ftp.NetBSD.org/pub/NetBSD/iso/
You can boot this by typing
boot cdrom
There are multi-arch ISO images available, where the boot command differs by using another partition, for example
boot cdrom:e
Please check the documentation for the multi-arch ISO image you are using.
You can create your own bootable cdrom by building a release and after that doing
# cd etc # make iso-image
How do I drop into DDB? (top)
Since this is a SPARC we attempt to honor L1-A or STOP-A from the keyboard and BREAK from a serial console. However, some devices, notably the serial ports in many PCI machines, used to not have drivers so we used the PROM console driver, pcons up to the 1.6 release. In NetBSD-current this consoles will honor a serial BREAK, but on 1.6 and earlier those events are swallowed by the PROM so pcons will not detect them. Instead, you need to send `++++++'.
How do I switch virtual consoles (top)
First note that currently not all sparc64 console drivers support this. Work is ongoing to make it available for all drivers using wscons/wsdisplay. If you do not have wskbd or wsdisplay in your kernel configuration file, you can not switch virtual consoles.
On drivers where virtual consoles are supported, you swith between them by pressing STOP-F1 .. STOP-Fn (or L1-F1 .. L1-Fn depending on your keyboard).
How do I turn off the internal speaker in my U5/U10 (top)
U5 and U10 machines have an internal speaker connected to the on-board audio. If you connect something to the headphone or line-out connector, you probably want to turn this speaker off.
The mixerctl(1) utility is used to control this.
To shut off the speaker permanently, add this to
/etc/mixerctl.conf:
monitor.mono=off
and add
mixerctl=YES
to
/etc/rc.conf.
Why am I getting a Fast Data Access MMU Miss? (top)
"Fast Data Access MMU Miss" is being printed by the PROM. It happens in early bootstrapping before the virtual memory system has been brought up when the kernel or bootloader access unmapped memory.
This usually happens due to a mismatch between the
kernel and
ofwboot
. It's usually best to have both the latest kernel and
latest
ofwboot
.
The main differences between versions involve how
ofwboot
allocates memory for text and data segments. Originally, it
allocated whatever memory was available and the segments
could end up with any alignment. The kernel needs both text
and data segments both physically and virtually aligned to
a 4MB boundary, and the data segment must be extended to a
4MB boundary so they can be mapped in with 4MB pages. The
kernel has code to relocate itself, if necessary, but some
PROMs are buggy and relocation does not work, especially on
newer machines.
Versions 1.2 and 1.3 makes sure that any segment's physical alignment is the lesser of its virtual alignment or 4MB. This means the kernel does not need to relocate the text segment, but sometimes there is something in the way of extending the data segment to 4MB
Version 1.4 is buggy and always extends all segments to exactly 4MB. This is a problem if segments happen to be greater than 4MB, in which case they are truncated.
Version 1.5 extends the data+BSS segment to the next 4MB boundary. This, in conjunction with a recent kernel means that the kernel never needs to be relocated. It is required for new machines where kernel relocation or data segment extension simply fails. However, since it does extend the data segment, older kernels will not detect this and think that something else is in the way, forcing them to relocate the data segment.
In short, although different combinations may work,
it is best to have
ofwboot
match the kernel.
Can I use "standard" PCI cards? (top)
Some standard PCI cards "just work" in NetBSD/sparc64, such as network cards, IDE cards, etc. However, for these cards to be recognised by the PROM, you need to update the SUNW,builtin-drivers FCode package to force the device into native PCI mode.
Lloyd Parkes has provided the nvram commands to have a "standard" IDE controller recognised correctly by the PROM.
dev /packages/SUNW,builtin-drivers : class018000 f 9 my-space + " config-b!" $call-parent class010100 ; device-end
See Lloyd's original message and follow-up message.
Why can mmap(2) on /dev/mem only access RAM and not devices? (top)
The sparc64 architecture requires special handling for PCI memory. The /dev/mem device driver can not easily get the MMU and external cache handling coherent without collaborating with all PCI device drivers. So in a better-safe-than-sorry policy /dev/mem restricts access to known-safe areas - which basically means main memory. See this message for details.
If you want to access PCI memory space you need to go through some sort of PCI device driver that maps it correctly.
What file system types can NetBSD/sparc64 boot from? (top)
When booting from hard disk, the NetBSD/sparc64 bootloader only supports FFSv1 partitions. The FFSv1 may be on a raid-1 set managed by raidframe.
Supporting LFS and FFSv2 root file systems is expected to be supported in a future release.
X Setup
Does this section about X setup apply to my NetBSD version? (top)
The following sections assume NetBSD 3.0 or newer. Earlier releases of NetBSD/sparc64 did not have complete X support, and for the few supported hardware configurations did not need any setup.
Untill NetBSD 3.0 the sparc64 port used the
Xsun X server. Starting with
release 3.0, the
XFree86 server is used. If you are interested
in X, this should be a sufficient reason to update to 3.0 or newer.
How do I create a XF86Config file? (top)
RunningX -configureas root will probe the available hardware and create a XF86Config.new file in ~root. Moving this file to /etc/XF86Config should be enough to get the X server going.
How do I change the keyboard layout under X (top)
In /etc/XF86Config there is a separate section for the keyboard. Keyboard layout options may be added there. An example for a german type 6 keyboard is:
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "Protocol" "wskbd"
Option "Device" "/dev/wskbd"
Option "XkbModel" "pc102"
Option "XkbLayout" "de"
Option "XkbVariant" "nodeadkeys"
EndSection
(Just ignore the blatant lie about the keyboard model.)
How do I switch virtual consoles while in X (top)
You can not do that, currently. We are working on improving the X server support to allow this in the future.
I have a Creator graphics adapter, but X is very slow (top)
There are various types of creator graphics cards, some (called AFB) need special firmware downloaded to the framebuffer before X can use acceleration.
To check if you have such a card, look in /var/log/XFree86.log, and search for output like this:
(II) /dev/fb0: Detected Elite3D M3/M6, checking firmware... (II) /dev/fb0: ... AFB firmware not loaded (WW) /dev/fb0: Forcing no acceleration on Elite3D M3/M6
If you see this, install pkgsrc/sysutils/afbinit - a tool to download the missing firmware to the board, and get afb.ucode (the firmware image) from a solaris distribution.
Other sources of information
Sun System Handbook (top)
Sun System Handbook - Sun's online system docs
Memory Modules (top)
Memory Modules - memory module compatability (requires a SunSolve login with a valid Sun Service Plan; alternative, free but unofficial link)
SunHELP (top)
SunHELP - much sun related information
Sun NVRAM/Hostid FAQ (top)
Sun NVRAM/Hostid FAQ - if your machine PROM's battery has gone dead
Sun Serial Port & Cable Pinouts (top)
Sun Serial Port & Cable Pinouts - lists serial port pinouts for almost all models
Sun Product Documentation (top)
Sun Product Documentation - various online documents by Sun Microsystems.
More general sources of information
NetBSD Install Notes (top)
NetBSD 3.1 and NetBSD 2.1 install notes - supported hardware and how to install.
Mailing List (top)
port-sparc64 mailing list - if you have any additional questions please subscribe.
Hardware Documentation (top)
Hardware Documentation - Sun Microsystems - some links to information about Sun Microsystems computers.
Diskless NetBSD HOW-TO (top)
NetBSD Serial Port Primer (top)
General NetBSD Documentation (top)
General NetBSD Documentation - for questions not specific to NetBSD/sparc64.
Back to NetBSD/sparc64 Port Page
![[NetBSD Logo]](/images/NetBSD-headerlogo.png)