NetBSD Problem Report #37080

From martin@duskware.de  Mon Oct  8 12:58:28 2007
Return-Path: <martin@duskware.de>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
	by narn.NetBSD.org (Postfix) with ESMTP id 83A2C63B8D8
	for <gnats-bugs@gnats.netbsd.org>; Mon,  8 Oct 2007 12:58:28 +0000 (UTC)
Message-Id: <20071008121511.EDD6763B8D8@narn.NetBSD.org>
Date: Mon,  8 Oct 2007 12:15:11 +0000 (UTC)
From: georg.brein@unibas.ch
Reply-To: georg.brein@unibas.ch
To: netbsd-bugs-owner@NetBSD.org
Subject: second stage boot loader fails on SparcStation 2
X-Send-Pr-Version: www-1.0

>Number:         37080
>Notify-List:    gson@gson.org
>Category:       port-sparc
>Synopsis:       second stage boot loader fails on SparcStation 2
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-sparc-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Oct 08 13:00:01 +0000 2007
>Last-Modified:  Fri Jul 22 12:05:00 +0000 2016
>Originator:     Georg Brein
>Release:        4.0 RC1
>Organization:
University of Basel
>Environment:
NetBSD 4.0 RC1 ISO image; SparcStation 2 (sun4c)
>Description:
The second-stage "boot" loader fails complaining about
a data access failure.

Netbooting (boot.net) works fine.

Substituting the second-stage loader from the NetBSD 3.1
distribution solves the problem, too. 
>How-To-Repeat:
Try to boot a SparcStation 2 from the NetBSD 4.0 RC1 ISO image or
copy the miniroot to the swap area and boot it.

>Fix:
Substitute the second-stage boot loader from the NetBSD 3.1 distribution.

>Release-Note:

>Audit-Trail:
From: Julian Coleman <jdc@coris.org.uk>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: port-sparc/37080: second stage boot loader fails on SparcStation 2
Date: Tue, 9 Oct 2007 21:59:16 +0100

 > The second-stage "boot" loader fails complaining about
 > a data access failure.

 Hi,

 I just tried the boot loader from 4.0RC1 on an SS2.  I see:

   Rebooting with command: disk1:a -s                                    
   Boot device: /sbus/esp@0,800000/sd@1,0:a   File and args: -s
   >> NetBSD/sparc Secondary Boot, Revision 1.15
   >> (builds@wb35, Sat Sep  1 16:32:39 PDT 2007)
   Booting netbsd
   3194832+102384+235996 [182576+173520]=0x3c5c18
   OBP version 2, revision 2.9 (plugin rev 2)
    ...
   mainbus0 (root): SUNW,Sun 4/75: hostid 5570c1ea
    ...

 and it boots.  Is it possible for you to capture the exact messages when
 your SS2 fails to boot?

 Thanks,

 J

 -- 
   My other computer also runs NetBSD    /        Sailing at Newbiggin
         http://www.netbsd.org/        /   http://www.newbigginsailingclub.org/

From: Georg Brein <georg.brein@unibas.ch>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: port-sparc/37080: second stage boot loader fails on SparcStation 2
Date: Thu, 11 Oct 2007 10:30:45 +0200

 >  [...]  Is it possible for you to capture the exact messages when
 >  your SS2 fails to boot?

 Here you are... unfortunately, there is only the message
 "Data Access Exception" which is AFAIK emitted by the firmware.
 The protocol shows two attempts to boot from a CD containing
 the RC1 ISO image, a successful boot from HD (using the
 second-stage boot loader from NetBSD 3.1) to show the configuration
 of my machine and an unsuccessful attempt to boot the RC1
 miniroot image.

 The only clue I get is that my SS2 has ROM revision 2.2,
 whereas yours has revision 2.9.

 Georg Brein


 =3D=3D=3D protocol starts here =3D=3D=3D
 WARNING: Unable to determine keyboard typeSPARCstation 2, No Keyboard
 ROM Rev. 2.2, 64 MB memory installed, Serial #197955.
 Ethernet address 8:0:20:5:80:43, Host ID: 55030543.


 Testing   0 megs of memory. Still to go    0	[break sent -- GB]

 Type  'go' to resume
 Type  help  for more information
 ok boot cdrom					[boot from RC1 CD -- GB]
 Boot device: /sbus/esp@0,800000/sd@6,0:c   File and args:
  >> NetBSD/sparc Secondary Boot, Revision 1.15
  >> (builds@wb35, Sat Sep  1 16:32:39 PDT 2007)
 Booting netbsd
 |=08Data Access Exception
 ok boot cdrom					[try again -- GB]
 SPARCstation 2, No Keyboard
 ROM Rev. 2.2, 64 MB memory installed, Serial #197955.
 Ethernet address 8:0:20:5:80:43, Host ID: 55030543.


 Rebooting from cdrom
 Boot device: /sbus/esp@0,800000/sd@6,0:c   File and args:
  >> NetBSD/sparc Secondary Boot, Revision 1.15
  >> (builds@wb35, Sat Sep  1 16:32:39 PDT 2007)
 Booting netbsd
 |=08Data Access ExceptionType  help  for more information
 ok boot -s	[boot from disk on which RC1 has been installed via net =
 boot]
 		[and on which the second-stage loader from NetBSD 3.1 =
 has]
 		[been installed -- GB]
 SPARCstation 2, No Keyboard
 ROM Rev. 2.2, 64 MB memory installed, Serial #197955.
 Ethernet address 8:0:20:5:80:43, Host ID: 55030543.


 Rebooting from -s
 Boot device: /sbus/esp@0,800000/sd@3,0   File and args: -s
  >> NetBSD/sparc Secondary Boot, Revision 1.15
  >> (builds@b3.netbsd.org, Tue Oct 31 08:41:58 UTC 2006)
 Booting netbsd
 3293264+106160+202172 [204304+191750]=3D0x3e0350	[turning baton =
 deleted =20
 -- GB]
 OBP version 2, revision 2.2 (plugin rev 2)
 Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, =20
 2005, 2006
      The NetBSD Foundation, Inc.  All rights reserved.
 Copyright (c) 1982, 1986, 1989, 1991, 1993
      The Regents of the University of California.  All rights reserved.

 NetBSD 4.0_RC1 (GENERIC) #0: Sat Sep  1 17:25:44 PDT 2007
 	=
 builds@wb35:/home/builds/ab/netbsd-4-0-RC1/sparc/200709011431Z-obj/=20
 home/builds/ab/netbsd-4-0-RC1/src/sys/arch/sparc/compile/GENERIC
 total memory =3D 65452 KB
 avail memory =3D 59992 KB
 timecounter: Timecounters tick every 10.000 msec
 bootpath: /sbus0/esp@0,800000/sd@3,0
 mainbus0 (root): SUNW,Sun 4/75: hostid 55030543
 cpu0 at mainbus0: CY7C601 @ 40 MHz, TMS390C602A FPU
 cpu0: cache chip bug; trap page uncached
 cpu0: 64K byte write-through, 32 bytes/line, hw flush: cache enabled
 memreg0 at mainbus0 ioaddr 0xf4000000
 clock0 at mainbus0 ioaddr 0xf2000000: mk48t02
 timer0 at mainbus0 ioaddr 0xf3000000 ipl 10: delay constant 17, =20
 frequency =3D 1000000 Hz
 timecounter: Timecounter "timer-counter" frequency 1000000 Hz quality =20=

 100
 auxreg0 at mainbus0 ioaddr 0xf7400003
 zs0 at mainbus0 ioaddr 0xf1000000 ipl 12 softpri 6
 zstty0 at zs0 channel 0 (console i/o)
 zstty1 at zs0 channel 1
 zs1 at mainbus0 ioaddr 0xf0000000 ipl 12 softpri 6
 kbd0 at zs1 channel 0: baud rate 1200
 ms0 at zs1 channel 1: baud rate 1200
 audioamd0 at mainbus0 ioaddr 0xf7201000 ipl 13 softpri 4
 audio0 at audioamd0: full duplex
 sbus0 at mainbus0 ioaddr 0xf8000000: clock =3D 20 MHz
 le0 at sbus0 slot 0 offset 0xc00000 level 5: address 00:00:e0:07:00:00
 le0: 8 receive buffers, 2 transmit buffers
 dma0 at sbus0 slot 0 offset 0x400000: DMA rev 1+
 esp0 at sbus0 slot 0 offset 0x800000 level 3: ESP100A, 20MHz, SCSI ID 7
 scsibus0 at esp0: 8 targets, 8 luns per target
 le1 at sbus0 slot 1 offset 0xc00000 level 5: address 08:00:20:05:80:43
 le1: 8 receive buffers, 2 transmit buffers
 cgsix0 at sbus0 slot 2 offset 0x0 level 7: SUNW,501-1481, 1152 x 900, =20=

 rev 1
 cgsix0: attached to /dev/fb0
 cgsix0: framebuffer size: 1 MB
 cgsix0: FBC: 00295540
 fdc0 at mainbus0 ioaddr 0xf7200000 ipl 11 softpri 4: chip 82072
 timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
 Kernelized RAIDframe activated
 scsibus0: waiting 2 seconds for devices to settle...
 sd0 at scsibus0 target 3 lun 0: <DEC, DSP3210S, X442> disk fixed
 sd0: 2049 MB, 3045 cyl, 16 head, 86 sec, 512 bytes/sect x 4197520 =20
 sectors
 sd0: sync (248.00ns offset 15), 8-bit (4.032MB/s) transfers, tagged =20
 queueing
 cd0 at scsibus0 target 6 lun 0: <PLEXTOR, CD-ROM PX-12CS, 1.00> cdrom =20=

 removable
 cd0: sync (248.00ns offset 15), 8-bit (4.032MB/s) transfers
 root on sd0a dumps on sd0b
 root file system type: ffs
 WARNING: clock gained 2 days
 WARNING: CHECK AND RESET THE DATE!
 Enter pathname of shell or RETURN for /bin/sh:
 # mount -r -t cd9660 /dev/cd0c /mnt		[copy miniroot to swap =
 -- GB]
 # cd /mnt/sparc/installation/miniroot
 # gunzip -c miniroot.fs.gz | dd of=3D/dev/rsd0b
 16355+50 records in
 16384+0 records out
 8388608 bytes transferred in 192.676 secs (43537 bytes/sec)
 # sync
 # halt
 Oct 10 20:24:58 halt: halted by root
 syncing disks... done
 unmounting file systems... done
 halted

 Program terminated
 Type  help  for more information
 ok boot /sbus/esp/sd@3:b			[try to boot miniroot]
 SPARCstation 2, No Keyboard
 ROM Rev. 2.2, 64 MB memory installed, Serial #197955.
 Ethernet address 8:0:20:5:80:43, Host ID: 55030543.


 Rebooting from /sbus/esp/sd@3:b
 Boot device: /sbus/esp/sd@3:b   File and args:
  >> NetBSD/sparc Secondary Boot, Revision 1.15
  >> (builds@wb35, Sat Sep  1 16:32:39 PDT 2007)
 Booting netbsd
 |=08Data Access ExceptionType  help  for more information
 ok
 =3D=3D=3D protocol ends here =3D=3D=3D

From: Georg Brein <georg.brein@unibas.ch>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: port-sparc/37080: second stage boot loader fails on SparcStation 2
Date: Mon, 12 Nov 2007 08:57:11 +0100

 The problem described is definitively caused by an incompatibility
 between NetBSD 4.0 sparc (both RC1 and RC3) and version 2.2 of the
 SparcStation 2 firmware; after upgrading to version 2.9 the second
 stage boot loader works smoothly, and a few other nuisances (onboard
 le ethernet reporting and using bogus MAC address, incompatibility
 with qec/qe ethernet FCode, failure to boot Solaris from a 2 GB root
 slice) went away as well.

 I don't know whether the NetBSD developers aim at supporting firmware
 revisions older than 2.9; if not (and I'd consider this legitimate
 since even I, a confirmed 100 percent software guy, succeeded in
 upgrading the firmware, though it was my first try at EPROM burning
 and I had to get hold of the necessary equipment beforehand), bug
 port-sparc/37080 would degenerate to a mere lack of documentation
 stating the lowest supported (resp. tested) firmware revision.

 Many thanks for your troubles!

 Yours sincerely,
 Georg Brein

From: Julian Coleman <jdc@coris.org.uk>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: port-sparc/37080: second stage boot loader fails on SparcStation 2
Date: Wed, 21 Nov 2007 14:56:53 +0000

 >                           after upgrading to version 2.9 the second
 >  stage boot loader works smoothly, and a few other nuisances

 That's good news.

 >  I don't know whether the NetBSD developers aim at supporting firmware
 >  revisions older than 2.9;

 It would be good to support more hardware, but it relies on developer time
 and hardware being both available.  Not supporting 2.2 was probbably a
 side-affect of some other change, rather than a deliberate decision.  It
 should be possible to track down the commit(s) that caused the regression
 and to fix it. 

 Thanks,

 J


 -- 
   My other computer also runs NetBSD    /        Sailing at Newbiggin
         http://www.netbsd.org/        /   http://www.newbigginsailingclub.org/

From: Andreas Gustafsson <gson@gson.org>
To: Martin Husemann <martin@duskware.de>
Cc: gnats-bugs@NetBSD.org,
    port-sparc-maintainer@netbsd.org
Subject: Re: port-sparc/37080: second stage boot loader fails on SparcStation 2
Date: Thu, 18 Sep 2014 12:00:43 +0300

 In a response to PR 49202, Martin Husemann wrote:
 > On Wed, Sep 17, 2014 at 08:00:00PM +0000, Andreas Gustafsson wrote:
 >  >  Based on the "Data Access Exception" message and the ROM revision,
 >  >  it looks like I may also be be suffering from PR 37080.
 >  
 >  That is good, isn't it? As an expert in cvs bisection, you can now find
 >  out wich commit is the culprit.

 That's easier said than done.  My usual bisection tools are not of
 much use here because they are based on doing full release builds,
 which no recent NetBSD release is able to host for versions this old,
 and on automtic testing of the failure condition, which is hard to do
 for a boot failure that only occurs on physical hardware.

 >  sys/arch/sparc/stand/bootxx/promlib.c and
 >  sys/arch/sparc/sparc/promlib.c go back to early 1999 with only ~50 commits
 >  in total, however it may not always be possible to warp back those files
 >  alone.

 Since reportedly the bootloader from 3.1 works and the one from 4.0RC1
 does not, I think the interval between the netbsd-3 and netbsd-4
 branch points would be a good starting point.

 In any case, it's unlikely that I will have the time to track this
 down any time soon.
 -- 
 Andreas Gustafsson, gson@gson.org

From: matthew green <mrg@eterna.com.au>
To: Andreas Gustafsson <gson@gson.org>
Cc: gnats-bugs@NetBSD.org, port-sparc-maintainer@netbsd.org,
    Martin Husemann <martin@duskware.de>
Subject: re: port-sparc/37080: second stage boot loader fails on SparcStation 2
Date: Wed, 26 Nov 2014 00:04:38 +1100

 i've built a series of /boot programs between netbsd-3 and netbsd-4.

 	ftp.netbsd.org:/pub/NetBSD/misc/mrg/sparc-boot/

 the dates are:

 2005-02-26
         - netbsd-3
 2005-04-28
         - post promlib strings vs. persist 
 2005-06-21
         - post raid boot support
 2005-07-11
         - post dhcp
 2005-08-15
         - post prompatch (and more) fixes
 2006-01-26
         - post clean up
 2006-11-17
         - netbsd-4

 i'm going to guess either 2005-04-28 or 2005-06-21 are the culprits,
 but if you can test any/all of these and tell me which one first fails
 that can really narrow down the problem.

 thanks!


 .mrg.

From: Andreas Gustafsson <gson@gson.org>
To: matthew green <mrg@eterna.com.au>
Cc: gnats-bugs@NetBSD.org,
    port-sparc-maintainer@netbsd.org,
    Martin Husemann <martin@duskware.de>
Subject: re: port-sparc/37080: second stage boot loader fails on SparcStation 2
Date: Fri, 5 Dec 2014 21:57:12 +0200

 Matthew Green wrote:
 > i've built a series of /boot programs between netbsd-3 and netbsd-4.
 > 
 > 	ftp.netbsd.org:/pub/NetBSD/misc/mrg/sparc-boot/
 > 
 > the dates are:
 > 	
 > 2005-02-26
 >         - netbsd-3
 > 2005-04-28
 >         - post promlib strings vs. persist 
 > 2005-06-21
 >         - post raid boot support
 > 2005-07-11
 >         - post dhcp
 > 2005-08-15
 >         - post prompatch (and more) fixes
 > 2006-01-26
 >         - post clean up
 > 2006-11-17
 >         - netbsd-4
 > 
 > i'm going to guess either 2005-04-28 or 2005-06-21 are the culprits,
 > but if you can test any/all of these and tell me which one first fails
 > that can really narrow down the problem.

 Thank you for building these.  I have now tested all of them in
 sequence, and the bug only affects the last one (2006-11-17).
 Here's a partial console log showing the transition from working
 to non-working:

   gute# cd /
   gute# cp boot.388000-2006-01-26 boot
   gute# installboot /dev/rsd0c /usr/mdec/bootxx /boot
   gute# reboot
   Dec  5 22:31:41 gute reboot: rebooted by root
   Dec  5 22:31:41 gute reboot: rebooted by root
   Dec  5 22:31:41 gute syslogd[190]: Exiting on signal 15
   Desyncing disks... done
   unmounting file systems... done
   rebooting

   Can't open input device.
   SPARCstation IPX, No Keyboard
   ROM Rev. 2.4, 64 MB memory installed, Serial #8287715.
   Ethernet address 8:0:20:89:b3:b0, Host ID: 577e75e3.


   Rebooting with command: 
   Boot device: /sbus/esp@0,800000/sd@3,0:a   File and args: 
   >> NetBSD/sparc Secondary Boot, Revision 1.15
   >> (mrg@xotica.eterna23.net, Tue Nov 25 12:41:36 UTC 2014)
   Booting netbsd
   4085568+150176 [261904+249480]=0x48736c
   OBP version 2, revision 2.4 (plugin rev 2)
   Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
       2006, 2007, 2008, 2009, 2010, 2011, 2012
       The NetBSD Foundation, Inc.  All rights reserved.
   Copyright (c) 1982, 1986, 1989, 1991, 1993
       The Regents of the University of California.  All rights reserved.

   [log output from successful boot and login omitted]

   gute# cd /
   gute# cp boot.388000-2006-11-17 boot
   gute# installboot /dev/rsd0c /usr/mdec/bootxx /boot
   gute# reboot
   Dec  5 22:35:53 gute reboot: rebooted by root
   Dec  5 22:35:53 gute reboot: rebooted by root
   Dec  5 22:35:53 gute syslogd[190]: Exiting on signal 15
   Desyncing disks... done
   unmounting file systems... done
   rebooting

   Can't open input device.
   SPARCstation IPX, No Keyboard
   ROM Rev. 2.4, 64 MB memory installed, Serial #8287715.
   Ethernet address 8:0:20:89:b3:b0, Host ID: 577e75e3.


   Rebooting with command: 
   Boot device: /sbus/esp@0,800000/sd@3,0:a   File and args: 
   >> NetBSD/sparc Secondary Boot, Revision 1.15
   >> (mrg@xotica.eterna23.net, Tue Nov 25 12:58:59 UTC 2014)
   Booting netbsd
   Data Access Exception
   Type  help  for more information
   ok 

 -- 
 Andreas Gustafsson, gson@gson.org

From: matthew green <mrg@eterna.com.au>
To: Andreas Gustafsson <gson@gson.org>
Cc: gnats-bugs@NetBSD.org, port-sparc-maintainer@netbsd.org,
    Martin Husemann <martin@duskware.de>
Subject: re: port-sparc/37080: second stage boot loader fails on SparcStation 2
Date: Sat, 06 Dec 2014 14:46:37 +1100

 Andreas Gustafsson writes:
 > Matthew Green wrote:
 > > i've built a series of /boot programs between netbsd-3 and netbsd-4.
 > > 
 > > 	ftp.netbsd.org:/pub/NetBSD/misc/mrg/sparc-boot/
 > > 
 > > the dates are:
 > > 	
 > > 2005-02-26
 > >         - netbsd-3
 > > 2005-04-28
 > >         - post promlib strings vs. persist 
 > > 2005-06-21
 > >         - post raid boot support
 > > 2005-07-11
 > >         - post dhcp
 > > 2005-08-15
 > >         - post prompatch (and more) fixes
 > > 2006-01-26
 > >         - post clean up
 > > 2006-11-17
 > >         - netbsd-4
 > > 
 > > i'm going to guess either 2005-04-28 or 2005-06-21 are the culprits,
 > > but if you can test any/all of these and tell me which one first fails
 > > that can really narrow down the problem.
 > 
 > Thank you for building these.  I have now tested all of them in
 > sequence, and the bug only affects the last one (2006-11-17).
 > Here's a partial console log showing the transition from working
 > to non-working:

 this pretty much indicates that the RAID boot support is at fault,
 but there are a few minor clean up changes in here as well.  i'll
 build a few more to properly confirm which exact change causes the
 problem (and then we can see about solving it :-)

 thanks to everyone who tested.


 .mrg.

From: Hauke Fath <hf@spg.tu-darmstadt.de>
To: gnats-bugs@NetBSD.org
Cc: Hauke Fath <hf@spg.tu-darmstadt.de>
Subject: Re: PR/37080 second stage boot loader fails on SparcStation 2 
Date: Fri, 22 Jul 2016 13:21:15 +0200

 As an additional data point, I find that my IPX with ROM v2.4 boots=20
 with both the NetBSD 3.1.3 and NetBSD 7 /boot, as long as the first=20
 stage boot loader (bootxx) is from NertBSD 3.1.3.=20

 The NetBSD 7 bootxx will produce the well-known

  Booting netbsd
  Data Access Exception
  =20
 Cheerio,
 hauke

 --=20
      The ASCII Ribbon Campaign                    Hauke Fath
 ()     No HTML/RTF in email            Institut f=FCr Nachrichtentechnik
 /\     No Word docs in email                     TU Darmstadt
      Respect for open standards              Ruf +49-6151-16-21344

From: Hauke Fath <hf@spg.tu-darmstadt.de>
To: gnats-bugs@NetBSD.org
Cc: port-sparc-maintainer@NetBSD.org, gnats-admin@NetBSD.org,
        georg.brein@unibas.ch, gson@gson.org
Subject: Re: PR/37080 second stage boot loader fails on SparcStation 2 
Date: Fri, 22 Jul 2016 14:02:18 +0200

 On Fri, 22 Jul 2016 11:25:01 +0000 (UTC), Hauke Fath wrote:
 > As an additional data point, I find that my IPX with ROM v2.4 boots=20
 >  with both the NetBSD 3.1.3 and NetBSD 7 /boot, as long as the first=20
 >  stage boot loader (bootxx) is from NertBSD 3.1.3.=20

 Scratch that - I guess installboot(8) registers the second stage 
 bootloader's inode? 

 Switching out /boot is not enough, I needed to run installboot against 
 it, and then got a "Data Access Exception" with the 3.1.1 bootxx / 7 
 /boot combo, too.

>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2014 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.