[rescue] SPARCstation 1 boot woes
    David McMackins II 
    contact at mcmackins.org
       
    Sun Nov  2 17:39:16 UTC 2025
    
    
  
Thanks for the info about the addresses. That makes sense.
As for booting SunOS, that was the first thing I ever attempted to boot
on this machine, and I got the same symptom. For that, I made a boot
floppy from Linux just using dd. However, I have no way of knowing if
it's a good image or if I needed to do anything special to make it play
nice with the SS1. This was SunOS 4.0.3c.
I do also have a CD image of SunOS 4.1.4 which I think I also tried.
The SS1 doesn't have a CD-ROM drive, but I stole one from my Sun Ultra
2 and connected it to one of the SCSI ports meant for hard disks. I
can't remember if it was SunOS or NetBSD or both that I tried from CD.
I'll give it another try from floppy some time soon and at least have a
look at the trace.
-- 
Regards,
David E. McMackins II
www.mcmackins.org
On Mon, 2025-11-03 at 03:19 +1100, Ethan Hawke wrote:
> > Alright, I'm not entirely sure what I'm looking at in this call
> > trace.
> > I've attached a text document with the output as well as hex dumps
> > at
> > address 4000 and the beginning of the boot program file on the tftp
> > server.
> So ctrace shows each time a new stack frame is allocated after some
> kind 
> of call/jmp
> instruction.
> 
> Last leaf: jmpl  40    from 3826f4
>       0 w  %o0-%o5: (   37fe18   38f400        1       40 ffffffff 
> ffffffff )
> 
> "Last leaf" indicates this is a leaf instruction (so it cannot call
> any 
> other function),
> the address of this function is "40", it was caused by a "jmpl" 
> instruction that was
> at address "3826f4" from the previous function, it then lists the 6 
> registers that
> make up the function parameters, although not all 6 have to be used,
> any 
> more
> arguments will have to be passed via the stack, which is not shown by
> ctrace.
> 
> While the client program starts at 4000, the NetBSD bootloader 
> (boot.net) will
> copy itself to 380000, which is why the addresses start with 38xxxx.
> 
> The addresses starting with ffe are OBP functions.
> 
> The call to "40" is invalid and that's why the program is crashing.
> 
> > Do you have any guidance for me for following this call trace? I
> > don't
> > know sparc assembly, but I'm familiar with the basics of assembly
> > languages, so I can follow a little bit. I'm guessing these are
> > some
> > register dumps down the calling stack, but these addresses are
> > meaningless to me.
> I don't have a SPARCStation 1, but I do have an IPC which is pretty
> similar
> (running version 2.4 "Release 2.4 Version 362 created 91/04/30
> 10:59:04").
> Mouse' 1.4T boot.net does work correctly on this machine.
> 
> However, my trace does not have the call to ffe80e8, in fact that 
> function does
> not exist at all on my OBP version, also (perhaps just coincidence)
> that 
> call has
> 40 as it's first argument, the same value that the bootloader
> mistakenly 
> jumps
> to causing the crash.
> 
> In my case, the call to 381cc8 and 3816c0 also occur on my IPC, but
> the 
> call to
> 381570 never happens in my case. And of course there is never a call
> to 
> ffe800e8.
> 
> I am very dubious that there is any hardware fault with your SS1, but
> perhaps some
> compatibility issue with the SS1/OBP and NetBSD. See if you can boot 
> SunOS as a
> sanity check.
> 
> Cheers,
> Ethan
> 
> 
    
    
More information about the rescue
mailing list