Installing Debian on a Sun Blade 100 system

By Elie De Brauwer (elie@de-brauwer.be)

Valid HTML 4.01!

1. Introduction

This how-to guides you through the process of installing Debian GNU Linux on a Sun Blade 100 System. Doing this using:

This how-to doesn't handle the entire installation process, only the Sun Blade 100 specific issues.

Disclaimer

Changing partition sessions can result in loss of data, or can get you in some additional trouble (no valid operating system etc.../). This how-to just explains how I did it, everything you do with your system is at your own responsability. If you should encounter any problems feel free to drop me an email
Document version 0.4 24-July-2005

Distribution policy

Copyright © 2002, 2003, 2004 by Elie De Brauwer < elie@de-brauwer.be > .
This document may be distributed under the term set forth in the LDP license at http://www.linuxdoc.org/COPYRIGHT.html

Feedback

I'd like to recieve any additional information, bugs, errors, improvements, questions about this subject. If you want to include this information in a larger documentation effort or structure, feel free to contact me at elie@de-brauwer.be

Requirements

Step 1: setting up the rarpd and the tftpd

First, we need to install some packages on an existing linux configuration. These packages are rarpd and tftpd. We need to go thru all these trouble because the Sun firmware doesn't support boot from floppy anymore (only boot net, boot from cd/harddisk/...).

Step 1.1: rarpd

ARP = Address Resolution Protocol this search the MAC-address from a given IP, RARP = Reverse Address Resolution Protocol, transmits the MAC-address and hopes to recieve from the a machine running a RARPD what is IP-address actually is (boot time configuration). Since the 2.4 kernel series ARP/RARP is no longer handled by the Linux kernel but thru a Daemon. In debian you can install this using apt-get install rarpd in another distribution, get the arpd package and install it. (Manipulating older kernels ARP/RARP tables is beyond the scope of this howto).


       Rarpd  is  a daemon which responds to RARP requests.  RARP
       is used by some machines at boot time to discover their IP
       address.   They  provide  their Ethernet address and rarpd
       responds with their IP address  if  it  finds  it  in  the
       ethers  database  (either /etc/ethers file or NIS+ lookup)
       and using DNS lookup if ethers database contains  a  host-
       name  and not an IP address.  By default rarpd also checks
       if a bootable image with  a  name  starting  with  the  IP
       address in hexadecimal uppercase letters is present in the
       TFTP boot directory (usually /tftpboot ) before it decides
       to respond to the RARP request.

This came from the rarpd manpage, herein it states that you should create a file /etc/ethers which rarpd uses as a database. And we should create a (world readable) /tftpboot directory where we need to put the bootable images. We won't create the tftpboot directory now for reasons which will soon become clear.

Step 1.2: creating /etc/ethers

The /etc/ethers file has the following syntax

	aa:bb:cc:dd:ee:ff	w.x.y.z
	aa:bb:cc:dd:ee:ff	host.domain

Where aa:bb:cc:dd:ee:ff is the MAC-address of the machine that needs to be booted (in this case the Sun Blade 100), where w.x.y.z is the IP-address that should be assigned to the machine with the aa:bb:cc:dd:ee:ff MAC-address. Another option is instead of using the IP-address you could use the hostname which resolves in the IP-address, only one of the two is needed. When booting the Sun Blade 100 one gets a Sun Logo and banner, this banner states

Sun Blade 100 (UltraSPARC-IIe), keyboard Present
OpenBoot 4.0, 256 MB memory installed, Serial #11111111
Ethernet address 0:3:ba:11:95:e4, Host ID: 1111111

This states the ethernet address (or MAC-address we need for the /etc/ethers file), there are various other ways to got the MAC-address but this is the one with the littlest effort required. (It is possible that this Sun banner does not appear, this is an environment setting, you could change it back to show the banner but it's easier to get it out of solaris or out the arp cache from an other linux system.
Now we add the following line in /etc/ethers:

	00:03:BA:11:95:E4                10.0.0.3

This line states that a RARP request originating from 00:03:BA:11:95:E4 (note the extra zeros) should be answered with the ip 10.0.0.3 (I use this ip range for my home network, and this needs to be converted to HEX later on. We cannot yet start the rarpd because rarpd looks for a bootable image in /tftpboot which isn't there yet.

Step 1.3: TFTP

TFTP = Trivial File Transfer Protocol, has somethings in common with ftp the biggest difference is that FTP (File Transfer Protocol) uses TCP and that TFTP goes over UDP (so much less error correction but higher speeds), TFTP is used to put configuration files into cable modems or routers and to boot diskless client and X-terminals. In this case TFTP is used to put the kernel and the root filesystem and boot those. Installation under Debian (I used atftp client and server, client isn't really needed here but I recommend installing them for debugging purposes.

	RoGue:~# apt-cache search atftp
	atftp - Advanced TFTP client.
	atftpd - Advanced TFTP server.
	RoGue:~# apt-get install atftp atftpd

So you install these now and create a world readable /tftpboot directory. Now we need to get the bootable image. You can get it from your local debian mirror in the subdirectory /debian/dists/stable/main/installer-sparc/current/images/sparc64/netboot for a 2.4 kernel of use the 2.6 subdirectory for a 2.6 kernel. Attention You need to rename this image to the 8 digit HEX notation of the IP address given to the Sun.

	10.0.0.3	=	010.000.000.003		(base 10)
	010.000.000.003	=	0A.00.00.03		(base 16)
	0A.00.00.03	=	0A000003		(base 16)

So in my case I'd put the image in /tftpboot/0A000003 and make this world readable off course.

Step 2: Starting up the installation

By default, when you power on the system the Solaris operating system is booted. Since we are going to create a dual boot installation we don't mean to damage anything. There are some remarks to be made, on a default configuration you have a 20 gigabyte harddisk where you have an unused partition of 12 gigabyte mounted under /space, we plan to install debian here, so before doing anything, please check that all data is backupped from that partition to avoid data loss, if you plan not to dual boot you must check that all important data is backupped.
For now boot the machine in a regular way and open a root shell, now issue the command shutdown -i 0 -g 0 this halts the operating system (go to init 0) and drops you into the firmware (you get an OK prompt).
Now we have to change one setting in the environment variables of the firmware. You can list the environment variables using the printenv command. Now we enter the command:

ok setenv auto-boot? false
auto-boot? =          false
ok

Now the system will not autoload Solaris on reboot but go straight ahead to the firmware (give you the ok prompt), during the debian installation a reboot is required, now we can straigt boot the Debian partition, else we'd have to boot Solaris, shutdown solaris and boot Debian which would be a huge waste of time, you can set this variable to true again after the installation if you like.
At this ok prompt you type 'boot net', the system reboots, tries to get the bootable image over tftp, loads his kernel and launches debian setup. What now follows is a piece of a tcpdump which shows the rarp/tftp handshake between 10.0.0.3 (the Sun) and 10.0.0.2 (also RoGue.x, the rarpd/tftpd), tcpdump was run on 10.0.0.2 or RoGue.x.

	16:45:33.008669 rarp who-is 10.0.0.3 tell 10.0.0.3
	16:45:33.096956 rarp reply 10.0.0.3 at 10.0.0.3

Rarp request and reply above

	16:45:33.097425 10.0.0.3.42019 > RoGue.x.tftp:  17 RRQ "0A000003"

tftp request for file 0A000003 to the rarpd (since there was no such file at the moment of the request the request will be repeated to broadcast).

	16:45:33.111098 rarp reply 10.0.0.3 at 10.0.0.3
	16:45:33.170115 rarp reply 10.0.0.3 at 10.0.0.3
	16:45:33.217740 rarp reply 10.0.0.3 at 10.0.0.3
	16:45:33.523034 RoGue.x.1238 > 10.0.0.3.42019:  udp 18 (DF)
	16:45:37.111384 10.0.0.3.42019 > 255.255.255.255.tftp:  17 RRQ "0A000003"
	16:45:37.120344 RoGue.x.1238 > 10.0.0.3.42019:  udp 18 (DF)
	16:45:38.091336 arp who-has 10.0.0.1 tell RoGue.x
	16:45:38.091797 arp reply 10.0.0.1 is-at 0:60:97:5a:b6:99
	16:45:46.148641 arp reply 10.0.0.3 is-at 10.0.0.3
	16:45:46.148793 arp reply 10.0.0.3 is-at 10.0.0.3
	16:45:46.148932 arp reply 10.0.0.3 is-at 10.0.0.3
	16:45:46.152229 RoGue.x.1239 > 10.0.0.3.42019:  udp 18 (DF)
	16:45:55.184954 10.0.0.3.42019 > 255.255.255.255.tftp:  17 RRQ "0A000003"
	16:45:55.190934 RoGue.x.1239 > 10.0.0.3.42019:  udp 18 (DF)
	16:46:04.221990 10.0.0.3.42019 > 255.255.255.255.tftp:  17 RRQ "0A000003"
	16:46:04.225737 RoGue.x.1239 > 10.0.0.3.42019:  udp 18 (DF)
	16:46:13.258389 10.0.0.3.42019 > 255.255.255.255.tftp:  17 RRQ "0A000003"

Some more requests but than I created the file 0A000003 in /tftpboot on rogue.x (the rarpd and tftpd system).

	16:46:13.308740 RoGue.x.1239 > 10.0.0.3.42019:  udp 516 (DF)
	16:46:13.311475 10.0.0.3.42019 > RoGue.x.1239:  udp 4
	16:46:13.318714 RoGue.x.1239 > 10.0.0.3.42019:  udp 516 (DF)
	16:46:13.321393 10.0.0.3.42019 > RoGue.x.1239:  udp 4
	16:46:13.336238 RoGue.x.1239 > 10.0.0.3.42019:  udp 516 (DF)

The transfer of the tftpboot.img is started, after some time you see the Linux kernel loading and showing you the debian setup welcome screen, if this loading should file please consult the problem section at the end of this document.

Step 3: Installing

At this point you should have seen the Linux kernel load and gotten the blue Release Notes screen that welcomes you to the Debian installation system.

Step 3.1: Installing the keyboard

You must pick the i386/qwerty/us : U.S. (PS2/USB) option here, a Sun Blade 100 has a USB keyboard and mouse if you pick a Sun Type 4/5 keyboard you will encounter problems later on setup which will force you to reboot.

Step 3.2: Partition a harddisk

Command (m for help): p

Disk /dev/hda (Sun disk label): 16 heads, 63 sectors, 38790 cylinders
Units = cylinders of 1008 * 512 bytes
   
   Device Flag		Start   	End	Blocks	Id	System
/dev/hda1		 1041	      13525    6291936 	 2	SunOS root
/dev/hda2   u		    0	       1041     524664	 3	SunOS swap
/dev/hda3   		    0 	      38790   19550160	 5	Whole disk
/dev/hda4   u		13526	      14046     262080	82	Linux swap
/dev/hda5		14047	      38788   12469464	83	Linux native
/dev/hda8		38788	      38790	  1008	 0	Empty

Command (m for help):

This is my current partition table, please not that

Additional note it is perfectly possible to use the SunOS swap as a linux swap partition but you will need to add a mkswap on that partition in your Linux initscripts because everytime you boot Solaris the swap type is overwritten. If you would consider to dump Solaris and make it a Linux only system make sure that the first partition (containing sector 0) is a Linux native partition and keep the SunOS disklabel and the third (whole disk) partition for compatibility with the hardware.

After this you must initialize your Swap and your Linux partition. Since this is a network install you must also configure your network.

Step 3.3: A word about modules

You can either take a look at my /etc/modules or look at the list below. This is simply a list of modules I installed, I didn't install any netfilter modules or any (just because I didn't need them, my Sun Blade is a programming workstation behind a firewall).

Step 3.4: Bootloader

Just keep in mind that you can't boot a Sun Blade 100 from a diskette so I don't think creating a boot disk has much use, simply let setup install SILO (the sparc bootloader). And reboot.

Step 4: Rebooting

When you reboot the system it drops you into the firmware. You may boot Solaris by simply entering boot at the prompt. (For more information about the boot command enter help boot at the prompt). If you used the same partitioning scheme as I you would now enter boot disk0:3 at the prompt. disk0 is the harddisk, disk1 is the cdrom/dvd rom drive. (Count starts with 0 !). And you boot the 4th (3) real partition (0: SunOS root 1: SunOS swap 2: Linux Swap 3: Linux Native). After entering this command you get the SILO boot prompt, you can either enter linux and press enter, just press enter or wait a few moments to autoboot. Normally you'd see the kernel boot now and you can continue to add packages now.

Step 4.1: dmesg

Below I'll insert a copy of my dmesg, some might find it interesting because it basicly contains the entire Sun Blade 100 system configuration.


PROMLIB: Sun IEEE Boot Prom 4.0.45 2001/02/08 14:33
Linux version 2.4.18 (root@vore) (gcc version egcs-2.92.11 19980921 (gcc2 ss-980609 experimental)) #2 Thu Apr 11 14:37:17 EDT 2002
ARCH: SUN4U
Ethernet address: 00:03:ba:11:95:e4
On node 0 totalpages: 32101
zone(0): 32658 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Found CPU 0 (node=f006dbd4,mid=0)
Found 1 CPU prom device tree node(s).
Kernel command line: root=/dev/hda5 ro
Console: colour dummy device 80x25
Calibrating delay loop... 1002.70 BogoMIPS
Memory: 252664k available (1944k kernel code, 512k data, 168k init) [fffff80000000000,000000000ff24000]
Dentry-cache hash table entries: 32768 (order: 6, 524288 bytes)
Inode-cache hash table entries: 16384 (order: 5, 262144 bytes)
Mount-cache hash table entries: 4096 (order: 3, 65536 bytes)
Buffer-cache hash table entries: 8192 (order: 3, 65536 bytes)
Page-cache hash table entries: 32768 (order: 5, 262144 bytes)
POSIX conformance testing by UNIFIX
PCI: Probing for controllers.
PCI: Found SABRE, main regs at 000001fe00000000, wsync at 000001fe00001c20
SABRE: Shared PCI config space at 000001fe01000000
SABRE: DVMA at c0000000 [20000000]
PCI0(PBMA): Bus running at 33MHz
isa0: [dma -> (floppy) (parallel)] [power] [serial] [serial]
ebus0: [flashprom] [eeprom] [idprom]
PCIO serial driver version 1.54
su(serial) at 0x1fe020003f8 (tty 0 irq 12,7eb) is a 16550A
su(serial) at 0x1fe020002e8 (tty 1 irq 12,7eb) is a 16550A
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
Journalled Block Device driver loaded
atyfb: 3D RAGE (XL) [0x4752 rev 0x27] 8M SDRAM, 29.498928 MHz XTAL, 230 MHz PLL, 100 Mhz MCLK
Console: switching to colour frame buffer device 144x56
fb0: ATY Mach64 frame buffer device on PCI
kbd_init: Assuming USB keyboard.
isa(speaker): iobase[000001fe02000042:000001fe02000061]
pty: 256 Unix98 ptys configured
rtc_init: no PC rtc found
block: 128 slots per queue, batch=32
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ALI15X3: IDE controller on PCI bus 00 dev 68
ALI15X3: chipset revision 195
ALI15X3: 100% native mode on irq 4,7cc
    ide0: BM-DMA at 0x1fe02000a20-0x1fe02000a27, BIOS settings: hda:pio, hdb:pio
    ide1: BM-DMA at 0x1fe02000a28-0x1fe02000a2f, BIOS settings: hdc:pio, hdd:pio
hda: ST320011A, ATA DISK drive
hdb: LTN486S, ATAPI CD/DVD-ROM drive
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ide0 at 0x1fe02000a00-0x1fe02000a07,0x1fe02000a1a on irq 4,7cc
hda: 39102336 sectors (20020 MB) w/2048KiB Cache, CHS=38792/16/63, UDMA(66)
hdb: ATAPI 48X CD-ROM drive, 120kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.12
Partition check:
 hda: hda1 hda2 hda3 hda4 hda5 hda8
loop: loaded (max 8 devices)
sungem.c:v0.96 11/17/01 David S. Miller (davem@redhat.com)
eth0: MII PHY ID: 437420 Enable Semiconductor
eth0: Sun GEM (PCI) 10/100/1000BaseT Ethernet 00:03:ba:11:95:e4 
SCSI subsystem driver Revision: 1.00
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
usb-ohci.c: USB OHCI at membase 0x1ff02000000, IRQ 9,7e4
usb-ohci.c: usb-00:0c.3, PCI device 108e:1103
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 4 ports detected
usb.c: registered new driver keyboard
usbkbd.c: :USB HID Boot Protocol keyboard driver
mice: PS/2 mouse device common for all mice
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 2048 buckets, 32Kbytes
TCP: Hash tables configured (established 16384 bind 16384)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
EXT3-fs: INFO: recovery required on readonly filesystem.
EXT3-fs: write access will be enabled during recovery.
hub.c: USB new device connect on bus1/3, assigned device number 2
input0: USB HIDBP Keyboard 0430:0005 on usb1:2.0
kjournald starting.  Commit interval 5 seconds
EXT3-fs: recovery complete.
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly.
hub.c: USB new device connect on bus1/4, assigned device number 3
usb.c: USB device 3 (vend/prod 0x430/0x100) is not claimed by any active driver.
Adding Swap: 262064k swap-space (priority -1)
EXT3 FS 2.4-0.9.17, 10 Jan 2002 on ide0(3,5), internal journal
sys32_ioctl(hwclock:34): Unknown cmd fd(3) cmd(00004b50) arg(effff900)
sys32_ioctl(hwclock:35): Unknown cmd fd(3) cmd(00004b50) arg(effff910)
IPv6 v0.8 for NET4.0
IPv6 over IPv4 tunneling driver
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
parport0: PC-style at 0x1fe02000378 (0x1fe02000778), irq 7039808 [PCSPP,TRISTATE]
lp0: using parport0 (interrupt-driven).
Trident 4DWave/SiS 7018/ALi 5451,Tvia CyberPro 5050 PCI Audio, version 0.14.9d, 15:02:23 Apr 11 2002
trident: ALi Audio Accelerator found at IO 0x1fe02000900, IRQ 7039840
ac97_codec: AC97 Audio codec, id: 0x4144:0x5348 (Analog Devices AD1881A)
usb.c: registered new driver usb_mouse
input1: USB HIDBP Mouse 0430:0100 on usb1:3.0
usbmouse.c: v1.6:USB HID Boot Protocol mouse driver
eth0: MII PHY ID: 437420 Enable Semiconductor
eth0: Link is up at 100 Mbps, full-duplex.
eth0: Pause is disabled
eth0: no IPv6 routers present

If needed, you can get it on a text file here

Step 5: Cleaning up

Step 5.1: X

By now you probably already know that the Sun Blade 100 isn't a tipical Sun System. It makes use of USB technology instead of it's own connector type. You must be aware of this while configuring your X server. The easiest way to configure the X server is using the Debconf tool. I've put my XF86Conf file online here for your reference. It's important to pick the xfree86 keyboard type instead of any Sun type keyboard. It's just a basic configuration compatible with the Sun generic 17 inch monitor. Please not that the XF86Config file provided here is a pre XFree 4.3.0 version, if you are using a more recent XFree 4.3.0 please read the additional section below.
I've had some problems when switching back and forth between X and consoles, this problem doesn't seem to occur when xdm isn't running. You can disable xdm to run at boottime by renaming

/etc/rc2.d/S99xdm to /etc/rc2.d/K99xdm

You'll need to start X by issuing the startx command (this also solves some sound problems which only concern the use of arts, this is merely a permissions issue but goes beyond the scoop of this document, just don't use xdm if you'd experience any problems concerning arts/kde or the switching between graphical and non graphical consoles.

Step 5.2: Reparing Solaris

From the Bootrom prompt you can boot into Solaris by simply issuing the boot command at the prompt. When the system reboots you will notice it rather panics, this is simply because it is unable to find the partition that needs to be mounted under /space (we created our Linux partitions here).

WARNING - Unable to repair one or more filesystems.
Run fsck manually (fsck filesystem...).
Exith the shell when done to continue the boot process.

Type control-d to proceed with normal startup,
(or give root password for system maintenance):

*control-d*

Open a rootshell and do:


bash-2.03# vi /etc/vfstab
#device		device		mount 	FS	fsck 	mount	mount
#to mount	to fsck		point	type	pass	at boot	options
#
#/dev/dsk/c1d0s2 /dev/rdsk/c1d0s2 /usr	ufs	1	yes	-
/proc		-		/proc	proc	-	no	-
fd		-		/dev/fd	fd	-	no	-
swap		-		/tmp	tmpfs	-	yes	-

/dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 / ufs 1 no -
# the following line has been commented out this partition now contains linux
# /dev/dsk/c0t0d0s3 /dev/rdsk/c0t0d0s3 /space ufs 1 yes -
/dev/dsk/c0t0d0s1 -	-	swap - no 0

bash-2.03#
Now reboot and everything should go just fine.

Step 5.3: Silo

SILO also known as Sparc Improved Boot Loader ( site ) This does what LILO does on i386 and what MILO does on Alpha systems.
When you get the SILO prompt, you can simply hit enter.

Step 5.4:Mounting the openpromfs

To obtain more information about your system you might try mounting your openprom, see example below

Kafka:/proc# mount -t openpromfs /mnt /mnt
Kafka:/mnt# ls -l /mnt                   
total 0
-r--r--r--    1 root     root            0 Jun 27 12:36 #size-cells
dr-xr-xr-x    2 root     root            0 Jun 27 12:36 SUNW,UltraSPARC-IIe@1c,0
drwxr-xr-x    2 root     root            0 Jun 27 12:36 aliases
-r--r--r--    1 root     root            0 Jun 27 12:36 banner-name
-r--r--r--    1 root     root            0 Jun 27 12:36 breakpoint-trap
dr-xr-xr-x    2 root     root            0 Jun 27 12:36 chosen
-r--r--r--    1 root     root            0 Jun 27 12:36 clock-frequency
-r--r--r--    1 root     root            0 Jun 27 12:36 device_type
-r--r--r--    1 root     root            0 Jun 27 12:36 energystar-v3
-r--r--r--    1 root     root            0 Jun 27 12:36 idprom
dr-xr-xr-x    2 root     root            0 Jun 27 12:36 memory@0,0
-r--r--r--    1 root     root            0 Jun 27 12:36 model
-r--r--r--    1 root     root            0 Jun 27 12:36 name
dr-xr-xr-x    2 root     root            0 Jun 27 12:36 openprom
dr-xr-xr-x    2 root     root            0 Jun 27 12:36 options
dr-xr-xr-x    2 root     root            0 Jun 27 12:36 packages

dr-xr-xr-x    2 root     root            0 Jun 27 12:36 pci@1f,0
-r--r--r--    1 root     root            0 Jun 27 12:36 reset-reason
-r--r--r--    1 root     root            0 Jun 27 12:36 scsi-initiator-id
-r--r--r--    1 root     root            0 Jun 27 12:36 stick-frequency
dr-xr-xr-x    2 root     root            0 Jun 27 12:36 virtual-memory

You can also dump your sparc OpenPROM tree using prtconf, this program is available in the sparc-utils package.

Kafka:/mnt# prtconf 
System Configuration:  Sun Microsystems  sun4u
Memory size: 256 Megabytes
System Peripherals (Software Nodes):

SUNW,Sun-Blade-100
    packages (driver probably installed)
        SUNW,builtin-drivers (driver probably installed)
        deblocker (driver probably installed)
        disk-label (driver probably installed)
        terminal-emulator (driver probably installed)
        obp-tftp (driver probably installed)
        dropins (driver probably installed)
        kbd-translator (driver probably installed)
    chosen (driver probably installed)
    openprom (driver probably installed)
        client-services (driver probably installed)
    options (driver probably installed)
    aliases (driver probably installed)
    memory (driver probably installed)
    virtual-memory (driver probably installed)
    pci (driver probably installed)
        ebus (driver probably installed)
            flashprom (driver probably installed)
            eeprom (driver probably installed)
            idprom (driver probably installed)
        isa (driver probably installed)
            dma (driver probably installed)
                floppy (driver probably installed)
                parallel (driver probably installed)
            power (driver probably installed)
            serial (driver probably installed)
            serial (driver probably installed)
        network (driver probably installed)
        firewire (driver probably installed)
        usb (driver probably installed)
            mouse (driver probably installed)
            storage (driver probably installed)
            keyboard (driver probably installed)
            mouse (driver probably installed)
        pmu (driver probably installed)
            i2c (driver probably installed)
                temperature (driver probably installed)
                card-reader (driver probably installed)
                dimm (driver probably installed)
            ppm (driver probably installed)
            beep (driver probably installed)
            fan-control (driver probably installed)
        sound (driver probably installed)
        ide (driver probably installed)
            disk (driver probably installed)
            cdrom (driver probably installed)
        SUNW,m64B (driver probably installed)
        pci (driver probably installed)
    SUNW,UltraSPARC-IIe (driver probably installed)

You can use the eeprom program (also from the sparc-utils package) to change some of the variable in the OpenPROM, a listing of the variables that can be set looks like:

Kafka:/mnt# eeprom 
test-args: data not available.
diag-passes=1
pci-probe-list=7,c,3,8,d,13,5
local-mac-address?=false
fcode-debug?=false
ttyb-rts-dtr-off=false
ttyb-ignore-cd=true
ttya-rts-dtr-off=false
ttya-ignore-cd=true
silent-mode?=false
scsi-initiator-id=7
oem-logo: data not available.
oem-logo?=false
oem-banner: data not available.
oem-banner?=false
ansi-terminal?=true
screen-#columns=80
screen-#rows=34
ttyb-mode=9600,8,n,1,-
ttya-mode=9600,8,n,1,-
output-device=screen
input-device=keyboard
load-base=16384
auto-boot?=true
boot-command=boot disk0:3
diag-file: data not available.
diag-device=disk net
boot-file: data not available.
boot-device=disk net
use-nvramrc?=false
nvramrc: data not available.
security-mode=none
security-password: data not available.
security-#badlogins=0
mfg-mode=off
diag-level=max
diag-switch?=false
error-reset-recovery=boot
name=options

Last comments

During the year this document has been only some people mailed me with questions. I could not help all of them but I did my best and I asked them to let me know the solution to their problems. I will give a short summary of the problems including a direction to the solution.

I can boot up the installation but I can't use my keyboard
This problem can have two causes, you booted a too old kernel without proper USB support or your PROM version is too recent (this is mostly the case with blade 150 systems). You should consider a PROM downgrade.
I can not access the floppy drive
You are not alone, nobody can access the floppy drive and nobody will probably ever can. The floppy drive is connected in a strange way running over the ISA bus, using DMA. It seems that this is commented in an unclear way and no-one thinks it is worth the effort.
Video problems
You might experience video problems if you have the extra graphics board, try removing it during the installation and reset the environment variables if the machine should fail to display output on the default video out.

Remark when using XFree 4.3.0

When you are using XFree 4.3.0 (or above, but currently only XFree 4.3.0 is available), you might experience that the screen always goes "sync out of range", no matter what you try. This problem doesn't exist in an older version because in XFree 4.3.0 a new ATI driver option got introduced which fails to be properly auto detected on Sun Blades (and other system also possibly). When you look at the description of the XFree 4.3.0 ATI driver you can find a description of the Reference Clock option. On a Sun Blade 100/150, you device section should look like:

Section "Device"
        Identifier      "Generic Video Card"
        Driver          "ati"
        Option          "reference_clock" "28.636 Mhz"
EndSection

A thread from the Debian-Sparc mailinglist about this subject can be read here.

Famous Last words

Like I mentioned above, you may always give me feedback, suggestons, questions, remarks, ... whatever you like. You can contact me at elie@de-brauwer.be, the newest version of this document can be found at my homepage which is http://www.de-brauwer.be.
Some links you might find interesting if you like this:

Nedstat Basic