The collected works of man-x86

Hello,

I'm trying to use a Sun Ultra1 with a TurboGX board on a Viewsonic E96f+ (19" multisync CRT), but I never got any video output.
I tried to make a 13W3 to VGA cable based on the pinouts given in Sun's Ultra1 documentation.
Image

I wired the "sense" pins in order to get 1152*900@76Hz so it would be 1152*900@66Hz in case I set it incorrectly (both are supported by my monitor).

As I got no display, I checked the serial console (port A, 9600 8N1) which shows some strange things like:
Incorrect configuration checksum;
Setting NVRAM parameters to default values.
Setting diag-switch? NVRAM parameter to true

and hangs right after that:
Probing /sbus@1f,0 at 0,0 SUNW,hme SUNW,fas sd st
Probing /sbus@1f,0 at 1,0 Nothing there
Probing /sbus@1f,0 at 2,0 cgsix

(full bootlog here: http://monorailc.at/tmp/bootlog20160214 )
After that, I get nothing more on the console and the hard drive doesn't makes any seeking noise (like it would normally do when loading an OS).

I don't know if the display is enabled when the machine boots, or only after the machine has completely booted, could it be a problem unrelated to the video card?

BTW, I already read this topic, but I don't know if it is the same problem: viewtopic.php?f=17&t=16727178
This Sun Ultra1 has never been tested when I got it.
Melkhior wrote: The NVRAM battery is dead, which is perfectly normal by now. Which means, the machine default to self-check mode and won't boot anything by default, unless you ask it with 'boot'. It doesn't have an hostid or MAC address, either.

As for the serial console, that is the default *if* there is no keyboard attached. In which case, it's likely the PROM won't bother with the screen, either. So if you have no keyboard, it's the expected behaviour.

For the NVRAM look at: http://www.squirrel.com/sun-nvram-hostid.faq.html

What you need to do, roughly, is:

1) let the machine get to an ok prompt;
2) reset the nvram values with 'set-defaults' and the magic incantations (mkpl) to set a MAC address and hostid as explained in the FAQ;
3) soft-reset with 'reset' to get a normal boot with the newly set values.


Thanks a lot, I wasn't sure about the exact problem. That webpage explains pretty well how to get the machine booting with a bad nvram.
I'll keep the nvram as it until I manage to have a fully working machine, and probably change the nvram's battery or change the whole nvram (I think I have some boards with a ST-M48Txx in my E-waste box) afterwards.

For now, as the machine works from a serial console, I'll not use X and my crappy cable until I have something that works fine. I also got another 13W3 to BNC cable (I used it to double-check the pinouts). I'll probably try to use the composite sync instead of H/V syncs.

For now, I almost managed to boot the hard drive, but the init hangs somewhere and I don't have the root password, so I made some backups (my other Linux machines can only read UFS) and I'm about to install a fresh Solaris 2.6.

As I'm quite unfamiliar to Sun machines and "real unices", I did plenty of mistakes, taking a few hours to get the Ultra 1 booting from the network and not even getting a shell, but Sun's documentation and some personal webpages explains things quite well (the unix way of RTFM :D ).

I browsed /etc from the old Solaris 2.7 and saw that the machine was probably in a cluster (the two network interfaces and the couple of stickers on the back confirm that).
Melkhior wrote:
man-x86 wrote: I'll probably try to use the composite sync instead of H/V syncs.

Most Sun framebuffers only do composite. The TurboGX is one of them - so you definitely need to use CSync, and a monitor that supports it (more common one would think, pretty much of my LCDs are willing to display the output of a TGX).


Thanks for the info, it works out of the box!
Image

Melkhior wrote: Ultra 1 will support up to 9 (10 doesn't support the UltraSPARC I cpu). I would suggest at least 8, since it's the first one with IPv6 support (which helps if you want to recompile newer stuff) and it's stills officially supported by gcc 4.7.


I tried a couple of cd images from Solaris 6 to 8, but the installation seems to fail with all of these...
First, the installation displays a "\-/" cursor and doesn't go further until I press ctrl-C. Then after a few steps, I always get something like this:
Starting Solaris installation program...
Executing JumpStart preinstall phase...
Searching for SolStart directory...
Checking rules.ok file...
Using begin script: install_begin
Using finish script: patch_finish
Executing SolStart preinstall phase...
Executing begin script "install_begin"...
Begin script install_begin execution completed.
There were problems loading the media from /cdrom.

And mount shows a NFS share mounted on the /cdrom folder (I copied the whole cdrom content on a Linux server, including the hidden files and keeping file permissions).

Also when I run probe-scsi from the OpenBoot prompt, it detects the original Quantum/Sun hard drive with the ID 0.
But once I get a Solaris 7 ou 8 shell (NFS root), the format comand doesn't shows any hard drive at all.
Solaris 6 seems to detect the drive properly.
Is the Tools/Boot/usr/platform/ sun4u /lib/fs/nfs/inetboot not a right image for installing Solaris?
Melkhior wrote: For the disk - weird, if probe-scsi sees the drive then Solaris should as well... unless it didn't load the driver for the SCSI controller. Which is known to happen at least when installing from NFS on Linux, see http://forums.nekochan.net/viewtopic.php?f=17&t=16730355 . The same trick might work from the install shell, but I would be surprised if Solaris failed to load the driver from the cdrom (unless there's some larger issue with the cdrom and/or drive).

But if your media has issue being read on the Sun, then a NFS install is probably your best bet. there's some resources out there to get you started: http://www.cs.toronto.edu/~cvs/unix/Solaris-Linux-NetInstall.html , http://znark.com/tech/solarisinstall.html , ...


This is actually the way I'm following, using RARP, TFTP, bootparam and a NFS server, all on Linux machines.
The devfsadm trick helps a lot, now Solaris 2.6, 2.7 and 8 all stop at the same point (nfs shares mounted, hard drive/partitions detected but the installer still hangs on "There were problems loading the media from /cdrom.").
I had a look in the installation scripts (mostly /sbin/suninstall) and saw that the problem was coming from the executable file /usr/sbin/ttinstall), but I can't make it running, even by calling it with -D argument.

Melkhior wrote: Also, make sure the IDPROM content is completely fixed - the "IDPROM contents are invalid" from the PROM in your photo is probably an issue. Once properly fixed via 'mkpl', it shouldn't happen.


I was typing a set of commands to set everything in the NVRAM (a shell script works better than copying/pasting all the commands in a row) and I fixed the NVRAM when I got pi^H^Hannoyed forgetting to run the script at every bootup.
Image
This is not an issue anymore :D .

Thanks for all the help!
Melkhior wrote:
man-x86 wrote: This is actually the way I'm following, using RARP, TFTP, bootparam and a NFS server, all on Linux machines.
The devfsadm trick helps a lot, now Solaris 2.6, 2.7 and 8 all stop at the same point (nfs shares mounted, hard drive/partitions detected but the installer still hangs on "There were problems loading the media from /cdrom.").


Weird, it shouldn't try to access the cdrom IIRC. Everything is supposed to come from the NFS share. Perhaps some problem with the netboot setup?


The NFS share is mounted on the /cdrom folder, hence the error message.
I tried to virtualize a sparc system with a cdrom drive, using Qemu. Needless to say that it works out of the box (except some panics due to the bugged emulation)...

Seeing that it didn't work so badly, I grabbed a random SCSI CDROM drive (from which OpenBoot is unable to boot), started the net installation until it failed, mounted the cdrom in place of the NFS share, and restarted the install.
At this point I also replaced the small 1GB drive by a 18GB drive (a 10krpm as loud as a vacuum cleaner).

That's quite a bad fix, but it finally works.

Thanks a lot for all that help ;) .