NetBSD/sparc64 Frequently Asked Questions
- 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?
- Does this section about X setup apply to my NetBSD version?
- How do I create an xorg.conf file?
- How do I change the keyboard layout under X
- I have a Creator graphics adapter, but X is very slow
- With NetBSD 7.0, the X server does not start up.
- Sun System Handbook
- Memory Modules
- Sun NVRAM/Hostid FAQ
- Sun Serial Port & Cable Pinouts
- Sun Product Documentation
- NetBSD Install Notes
- Mailing List
- Hardware Documentation
- Diskless NetBSD HOW-TO
- NetBSD Serial Port Primer
- General NetBSD Documentation
See the Diskless NetBSD HOW-TO.
Yes. There are ISO images available at: ftp://ftp.NetBSD.org/pub/NetBSD/iso/
After burning an ISO to a CD, you can boot it with
Since this is a SPARC we attempt to honor L1-A or STOP-A from the keyboard and BREAK from a serial console.
On drivers where virtual consoles are supported, you switch between them by pressing Ctrl-Alt-F1 .. Ctral-Alt-Fn.
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
"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
ofwboot. It's usually best to have both
the latest kernel and latest
The main differences between versions involve how
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
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
match the kernel.
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
Why can mmap(2) on /dev/mem only access RAM and not devices?
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.
When booting from hard disk, the disk needs to be partitioned using a "sunlabel" compatible disklabel. Sparc64 machines can not boot from GPT partitioned disks. The root file system can be in a RAID-1 (raidframe) set and all FFS formats as well as LFS are supported.
Of course GPT partitioned disks can be used for additional partitions.
The following sections assume NetBSD 5.0 or newer.
With the release of NetBSD 5.0, the sparc64 port uses X.Org instead of XFree86.
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.)
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/Xorg.0.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 the
sysutils/afbinit package, which can download the missing
firmware to the board, and get afb.ucode (the firmware image) from
SUN. Thanks to
Alan Coopersmith for making
As part of the NetBSD 7.0 development process, checks for accessing memory were tightened, closing some security holes that could allow priviledge escalation. Unfortunately, this stops the X server from being able to map all of the necessary parts of the framebuffer or registers and X reports error 22 (EINVAL).
To fix this a kernel that has securelevel set to -1 must be used.
In order to do that
options INSECURE should be set in the
kernel configuration file (by default it is commented out in GENERIC)
and a new kernel should be recompiled.
How to build a kernel for further information.
Other sources of information
Sun System Handbook - Sun's online system docs
SunHELP - much sun related information
Sun NVRAM/Hostid FAQ - if your machine PROM's battery has gone dead
Sun Serial Port & Cable Pinouts - lists serial port pinouts for almost all models
Sun Product Documentation - various online documents by Sun Microsystems.
More general sources of information
NetBSD 7.1.2 install notes - supported hardware and how to install.
port-sparc64 mailing list - if you have any additional questions please subscribe.
Hardware Documentation - Sun Microsystems - some links to information about Sun Microsystems computers.
General NetBSD Documentation - for questions not specific to NetBSD/sparc64.
Back to NetBSD/sparc64 Port Page