Subject: Re: Bombing sun3 installs...revisited
To: Manuel Bouyer <bouyer@antioche.lip6.fr>
From: Volker Seebode <vas@plesnik.de>
List: port-sun3
Date: 08/02/1999 11:37:07
On Sat, 31 Jul 1999, Manuel Bouyer wrote:

> > 2.  In the 1.4 install script on the booted miniroot from sd(0,0,1) -s,
> >     you need a small fix so that you don't have to invoke edlabel at
> >     every boot, even if the disk is already edlabeled.  On my machine,
> >     it hung anytime I did not pass through edlabel, again, first.
> > 
> > 3.  In the 1.4 install script welcome menu, and in the various and sundry
> >     incantations of INSTALL(8),  it should be fsf 3 and not fsf 2.  IFF
> >     you choose fsf 2, you inadvertently install the sun3x boot kernel
> >     instead of the miniroot, and don't catch it until it tries to boot,
> >     and have to reinstall from the ground up, again.  Bad juju.
> > 
> > 4.  In the miniroot boot, where it starts, it calls an error due to
> >     a bombed ld.so file...../usr/lib/ld.so: warning: libc.so.12.20:
> >     minor version >=40 expected, using it anyway.  It sounds like the
> >     classic wrong ld.so file.  It causes further errors that lock up
> >     the machine because it can't find or interpret a root disk query
> >     call.
> > 
> > 5.  Next, an undefined symbol is found in /usr/libexec/ld.so
> >     "___sigaction14" called from  sort: sort at 0x60b4.
> >     I would expect it is trying to sort a bogus drive list, from
> >     where ld.so bombed, above.
> 
> This is related to 4. You're using an older libc version, which lacks some
> symbols.
> 1.4's libc is definitivelt 12.40, I don't know from where 12.20 comes.
> You should be able to extract libc.so.12.40 from base.tgz.

The miniroot holds libc.so.12.20. Look at
  $srcdir/distrib/sun3/common/mini_bin.list
  $srcdir/distrib/sun3/common/mini_usr.list
Another problem is, that the install script uses pax, which is
not included in MINIROOT. Next, if you fix this, ramdisk and
miniroot filesystems run out of space.
I'm running NetBSD-1.4 on Sun3/60 without any problems. After
applying the fixes above and recompiling RAMDISK and MINIROOT
even the installation ran fine.

Here are my diffs:
$ pwd
/u2/NetBSD/NetBSD-1.4/src/distrib/sun3/common
$ diff -C2 mini_bin.list.or mini_bin.list
*** mini_bin.list.or    Tue Jun  1 21:55:01 1999
--- mini_bin.list       Tue Jun  1 21:53:52 1999
***************
*** 21,24 ****
--- 21,25 ----
  COPY  ${DESTDIR}/bin/mt               bin
  COPY  ${DESTDIR}/bin/mv               bin
+ COPY  ${DESTDIR}/bin/pax              bin
  COPY  ${DESTDIR}/bin/ps               bin
  COPY  ${DESTDIR}/bin/pwd              bin
$ diff -C2 mini_usr.list.or mini_usr.list
*** mini_usr.list.or    Tue Mar 30 08:19:54 1999
--- mini_usr.list       Sat May 22 15:46:11 1999
***************
*** 12,21 ****
  SPECIAL       cd usr; ln -s lib libexec
  COPY  ${DESTDIR}/usr/libexec/ld.so            usr/lib
! COPY  ${DESTDIR}/usr/lib/libc.so.12.20        usr/lib
! COPY  ${DESTDIR}/usr/lib/libcurses.so.2.1     usr/lib
! COPY  ${DESTDIR}/usr/lib/libedit.so.1.0       usr/lib
  COPY  ${DESTDIR}/usr/lib/libgnumalloc.so.0.0  usr/lib
  COPY  ${DESTDIR}/usr/lib/libtermcap.so.0.0    usr/lib
! COPY  ${DESTDIR}/usr/lib/libutil.so.4.2       usr/lib

  # usr.sbin:
--- 12,21 ----
  SPECIAL       cd usr; ln -s lib libexec
  COPY  ${DESTDIR}/usr/libexec/ld.so            usr/lib
! COPY  ${DESTDIR}/usr/lib/libc.so.12.40        usr/lib
! COPY  ${DESTDIR}/usr/lib/libcurses.so.2.2     usr/lib
! COPY  ${DESTDIR}/usr/lib/libedit.so.2.2       usr/lib
  COPY  ${DESTDIR}/usr/lib/libgnumalloc.so.0.0  usr/lib
  COPY  ${DESTDIR}/usr/lib/libtermcap.so.0.0    usr/lib
! COPY  ${DESTDIR}/usr/lib/libutil.so.5.0       usr/lib

  # usr.sbin:

$ cd ../miniroot/
$ diff -C2 Makefile.or Makefile
*** Makefile.or Thu Mar  4 21:32:21 1999
--- Makefile    Sat May 22 15:56:17 1999
***************
*** 25,29 ****
  # These are all the parameters for the miniroot: (8MB)
  DISKTYPE=     miniroot
! NBLKS=                16384
  # old format, minfree, opt, b/i  trks, sects, cpg
  NEWFSARGS= -O -m 0 -o space -i 8192 -t 8 -u 32 -c 16
--- 25,30 ----
  # These are all the parameters for the miniroot: (8MB)
  DISKTYPE=     miniroot
! #NBLKS=               16384
! NBLKS=                18432   # 9MB VS 19990522
  # old format, minfree, opt, b/i  trks, sects, cpg
  NEWFSARGS= -O -m 0 -o space -i 8192 -t 8 -u 32 -c 16
$  cd ../ramdisk
$ diff -C2 Makefile.or Makefile
*** Makefile.or Thu Mar  4 21:32:21 1999
--- Makefile    Sat May 22 20:51:30 1999
***************
*** 25,29 ****
  # These are all the parameters for the root fs: (256K)
  DISKTYPE=     rdroot
! NBLKS=                512
  # old format, minfree, opt, b/i  trks, sects, cpg
  NEWFSARGS= -O -m 0 -o space -i 2048 -t 2 -u 16 -c 16
--- 25,30 ----
  # These are all the parameters for the root fs: (256K)
  DISKTYPE=     rdroot
! #NBLKS=               512
! NBLKS=                640
  # old format, minfree, opt, b/i  trks, sects, cpg
  NEWFSARGS= -O -m 0 -o space -i 2048 -t 2 -u 16 -c 16
$

Hope it helps ...
- Volker

============================================================================
Volker Seebode                                      Phone: +49- 241/14946-0
Ing.-Buro Dr. Plesnik GmbH                            Fax: +49- 241/14946-39
Roermonder Strasse 615                              Email:    vas@plesnik.de
52072 Aachen       Germany
----------------------------------------------------------------------------
PGP public key fingerprint: 25 AB 61 5C 9A 26 93 12  1C 5A 50 A2 29 00 61 C1
PGP public key is available via finger vas@mail.plesnik.de or PGP keyservers
============================================================================

If you want to build a ship, don't drum up people
together to collect wood and don't assign them tasks
and work, but rather teach them to long for the endless
immensity of the sea. -- Antoine de Saint Exupery