This FAQ is designed to help answer the most commonly asked questions about Gentoo/SPARC and Linux on SPARC architecture. Feel free to send revisions and corrections to the Gentoo/SPARC team or the doc team.
These are some notes to elaborate on acronyms and terms used in this document.
SPARC , this refers to the type of
sun4x system. SPARC represents the
sun4u architecture seen in the UltraSPARC series of systems (Ultras, Blades, SunFires, etc). Older 32-bit systems are no longer supported by the Gentoo/SPARC team.
OBP = OpenBoot PROM,
SS = SPARCstation.
How do I install/use my SPARC over a serial console?
First, make sure you do not have a keyboard and monitor plugged in. OBP will use the monitor for output by default if either are plugged in. You will need a null modem cable or a regular serial cable with a null modem adapter to be able to view output.
Standard serial port settings:
- 9600 baud
- 8 data bits
- None for parity
- 1 stop bits
Below is a list of commonly used programs for viewing a serial console. Check to see if your serial console application has the ability to send a break, as it can be very useful on a SPARC. The break signal on a serial console is the equivalent to issuing the Stop+A command on the keyboard.
I have a CRT/LCD monitor attached to my SPARC that selects a resolution my monitor can't handle when the kernel boots. How do I get a visible and/or non-distorted display on my monitor?
This problem is a result of the framebuffer support the Linux kernel loads at boot time, and the modelines available on SPARC systems. Here we will assume your monitor and video card will agree on a resolution of 1024 by 768 at a refresh rate of 60 Hz. In OBP, you can set the resolution by adjusting the setting for
output-device . To view the current setting, use the command:
<output-device> <screen> <screen>
Now, to set this so it will start the display using the above mentioned resolution, we will use the
setenv command as follows:
setenv output-device screen:r1024x768x60
output-device = screen:r1024x768x60
In order for this to take effect, you will need to reset the machine:
Additionally, for users using the onboard video card based on the ATI Mach64 chipset (Ultra 5/10 and Blade 100/150), you will want to append the following to your kernel boot options:
If you are booting from SILO, you can append the above string onto the end of a given boot image. The following example would be if you were booting from the LiveCD.
boot: gentoo video=atyfb:1024x768@60
If you were booting from the network, you would append the string onto the end of the boot net command in OBP as illustrated below:
boot net video=atyfb:1024x768@60
I'm new to SPARC and am not sure what kernel options to use, HELP!
Most of the time, the default kernel options will be acceptable for hardware support. You will need to make sure that
virtual memory and
/proc filesystem support is enabled in the kernel as instructed in the Installation Handbook .
How do I dual boot Gentoo Linux/SPARC with Solaris?
Dual booting Gentoo/SPARC and Solaris can be done one of two ways. The two ways are: having both Gentoo/SPARC and Solaris on the same drive, or having them on separate drives. Below are example SILO configurations for each scenario. In the example configs, the following things are assumed:
Single Drive Setup:
- Boot drive is SCSI ID 0
- Gentoo boots from partition 1
- Solaris boots from partition 5
Separate Drive Setup:
- Second drive is SCSI ID 1
- Gentoo is on SCSI ID 0
- Solaris is on SCSI ID 1
- boot-device in OBP is SCSI ID 0
# Generic config options partition = 1 timeout = 50 # Gentoo/SPARC options image = /boot/vmlinux label = linux root=/dev/sda4 # Solaris options other=5 label = Solaris
# Generic config options partition = 1 timeout = 50 # Gentoo/SPARC options image = /boot/vmlinux label = linux root=/dev/sda4 # Solaris options other = /sbus/espdma/esp/sd@1,0;1 label = solaris
Will Gentoo run on my SPARC?
It depends on the type of SPARC, but chances are yes. One exception seems to be the SPARC based laptops from Tadpole, particularly the newer models. If you have a working Tadpole on Gentoo/SPARC, please contact us and let us know the details on the model and anything special needed to get it to work.
The Gentoo/SPARC team maintains a Sun hardware compatibility list for SPARC64 systems. In general, support for SPARC64 systems is good enough to allow some users to run it successfully in production environments.
What additional hardware is supported under Gentoo/SPARC?
For a list of additionally supported Sun hardware, consult the following list from the UltraLinux homepage .
A partial list of Sun devices which do NOT currently have support under Gentoo/SPARC or SPARC/Linux in general are:
- SunPCI cards
- SBUS or PCI PCMCIA controllers
- Smart card readers on some Sun Blade workstations
- Floppy drive on some Sun Blade workstations
Also, the Gentoo/SPARC team maintains a list of non-Sun PCI hardware that has been tested on Gentoo/SPARC . To submit additions to the list, email firstname.lastname@example.org the information on the hardware as displayed in the existing hardware list.
How do I know which SPARC I have?
The UltraLinux FAQ has the answer.
My box has more than one Sun Ethernet device. Why do they all have the same MAC address and how do I fix it?
First, the reason they all they all have the same setting is due to a value in OpenBoot PROM (OBP). The story goes that in times past, it was assumed that if a host had multiple interfaces, the interfaces would not reside on the same Ethernet and therefore having the MAC address unique to a machine rather than to a NIC wouldn't be a problem. As time went on and different technologies developed, the opposite was proven.
As for fixing the issue, there are two ways to it; from OBP and from Linux. The OBP variable
local-mac-address? controls this behavior. The following commands will help you to determine what
local-mac-address? is set to:
local-mac-address? = false
As you'll notice from the samples above,
local-mac-address? is set to false . This will cause all interfaces on a SPARC to use the same MAC address. To change this behavior, use either of the commands below (depending on whether you do it from OBP or Linux):
local-mac-address? = true
Note that you may need to reboot to see the changes take affect.
Is SPARC big-endian or little-endian?
The version supported by Gentoo/SPARC (v9) is bi-endian. It uses big-endian instructions, but can access data in little-endian byte-order, such as PCI devices, which are little-endian by nature.
How do I get Xorg to find a usable modeline on my Ultra 5/10 or Blade 100/150?
The ATI Framebuffer normally expects a PC's BIOS to set the Reference Clock speed for the video card. However, on non-x86 architectures, this doesn't happen. So what needs to be done is to set the Reference Clock speed in the /etc/X11/xorg.conf .
In the "Device" section of your /etc/X11/xorg.conf , you will want to add a line similar to the following:
Option "reference_clock" "28.636 MHz"
Other common speeds are 14.318 MHz and 29.5 MHz. If you have issues you might want to try without a similar setting first.
How come package foo is masked on SPARC?
Chances are this is due to the fact that none of the Gentoo/SPARC developers have gotten around to testing this yet, and/or the package is currently marked with the
~sparc keyword (meaning it's in a testing phase).
If you still want to install the package, you can follow the instructions from the Portage Handbook .
How can I help get package foo marked stable?
If you want to help ensure a package gets marked stable in a timely fashion, particularly if it's an application with a small userbase (i.e. net-im/bitlbee), install the package and test to make sure it works. If it appears to be working well, feel free to file a bug via the Gentoo Bugzilla and assign it to the Gentoo/SPARC team.
I tried to emerge a package, but emerge failed complaining that a dependency is masked. How can I fix this?
This is a bug. Please file a bug report via the Gentoo Bugzilla for the Gentoo/SPARC team indicating what package you tried to emerge, the error message emerge gave you, and the output of
The way SPARC/Linux handles the cross-compiler has changed with 2.6.25 ( commit ), thus when building a recent kernel you'd get the following error message:
CHK include/linux/version.h CHK include/linux/utsrelease.h CC arch/sparc64/kernel/asm-offsets.s arch/sparc64/kernel/asm-offsets.c:1: error: -m64 is not supported by this configuration arch/sparc64/kernel/asm-offsets.c:1: error: -mlong-double-64 not allowed with -m64 arch/sparc64/kernel/asm-offsets.c:1: error: -mcmodel= is not supported on 32 bit systems make: *** [arch/sparc64/kernel/asm-offsets.s] Error 1 make: *** [prepare0] Error 2
What you need to do is to tell the SPARC/Linux Makefile what is your cross-compiler's binary, by issuing the following commands:
make CROSS_COMPILE=sparc64-unknown-linux-gnu- image modules_install
I'm interested in becoming more involved with Gentoo/SPARC. How do I go about doing that?
There are various ways to improve the project:
- The best way is to become an Arch Tester , and aid the developers with package testing.
- File bug reports such as stable, and keyword requests.
- Join the #gentoo-sparc (webchat) IRC channel on the Libera.Chat IRC network.
- Make use of the Gentoo/SPARC forum .
- Propose solutions for Gentoo/SPARC related bugs via the Gentoo Bugzilla . The bugs will be assigned, or CCed to email@example.com.
Где можно получить дополнительную помощь или информацию о SPARC/Linux?
- OBP Reference Guide - Sun's guide to the OpenBoot PROM
- OSIAH - Online Sun Information Archive
- Obsolyte - Information on older SPARC systems and links to a lot of other great SPARC related sites
- Sun Microsystems Documentation - Additional hardware and software information for SPARC systems, including instructions for flashing OBP
- Sunsolve - Great resource for Sun hardware documentation
- UltraLinux Homepage - Homepage of the SPARC/Linux port
This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: weeve, nightmorph
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.