Wednesday, November 25, 2020

I give up on running recent NetBSD on old hardware

NetBSD is an amazingly cross platform operating system. It also supports some very old hardware, such as most of the first small VAX systems. However, software in general gets bigger and slower over time. I recently tried to run NetBSD 9.1 on my KA650 based MicroVAX with 16 MB of RAM. It takes about 12 minutes to boot to a login prompt in multi-user mode with a stripped down configuration. It doesn't seem like there's any single reason why things are so slow, and comparing various NetBSD releases, I see things slowed down gradually. So I don't see hope for reasonable performance, and I give up on running NetBSD there.

I also couldn't run NetBSD 9.1 on my SPARCstation ELC. It has 16 MB RAM, but the real problem is that each of the 4 MB memory modules are isolated in the address space, and the kernel needs to fit in one of the modules. Probably I could run NetBSD 9.1 if I had bigger memory modules, but I expect the experience would be disappointing.

This isn't meant to be a complaint about NetBSD. The same trend has been followed by other operating systems, and software in general. I still feel it's a bit sad. I'm not sure that the bloat offers a proportional improvement in functionality. But computers have gotten so much faster, storage has gotten so much bigger, and it has all gotten cheaper, so it's not really a problem in practice.

Finally, here's a boot log of that KA650 based MicroVAX. The first number is the number of seconds from the start, and the second number is time since the previous line.

  0.00   0.00  >> NetBSD/vax boot [1.12 (Sun Oct 18 19:24:30 UTC 2020)] <<
  4.91   4.91  >> Press any key to abort autoboot 0
  4.93   0.02  Trying BOOTP
  4.97   0.05  Using IP address: 192.168.1.4
  5.00   0.03  myip:  (192.168.1.4)
  5.06   0.06  root addr=192.168.1.42 path=/srv/nfs/vax/netbsd/anoat
  5.56   0.50  open netbsd.vax: No such file or directory
  5.58   0.02  > boot netbsd
 36.93  31.34  2043220+79088 [169744+162143]=0x25768c
 57.60  20.67  [   1.0000000] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
 57.70   0.10  [   1.0000000]     2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017,
 57.80   0.10  [   1.0000000]     2018, 2019, 2020 The NetBSD Foundation, Inc.  All rights reserved.
 57.87   0.07  [   1.0000000] Copyright (c) 1982, 1986, 1989, 1991, 1993
 57.97   0.10  [   1.0000000]     The Regents of the University of California.  All rights reserved.
 57.97   0.00  
 58.05   0.08  [   1.0000000] NetBSD 9.1 (ANOAT) #1: Thu Nov 19 22:04:31 EST 2020
 58.11   0.06  [   1.0000000] root@:/usr/src/sys/arch/vax/compile/ANOAT
 58.16   0.04  [   1.0000000] MicroVAX 3500/3600
 58.22   0.06  [   1.0000000] total memory = 16328 KB
 58.27   0.05  [   1.0000000] avail memory = 13032 KB
 60.40   2.13  [   1.0000000] mainbus0 (root)
 60.49   0.09  [   1.0000000] cpu0 at mainbus0: KA650, CVAX microcode rev 4 Firmware rev 83
 60.55   0.06  [   1.0000000] lance at mainbus0 not configured
 60.61   0.05  [   1.0000000] uba0 at mainbus0: Q22
 64.54   3.94  [   1.0000000] sgmap exclusion at 0x3f0000 - 0x3fdfff
 64.96   0.42  [   1.0000000] uda0 at uba0 csr 172150 vec 774 ipl 17
 65.43   0.47  [   1.0000000] mscpbus0 at uda0: version 4 model 3
 65.48   0.05  [   1.0000000] mscpbus0: DMA burst size set to 4
 72.80   7.32  [   1.0000000] uda1 at uba0 csr 160334 vec 770 ipl 17
 79.99   7.19  [   1.0000000] mscpbus1 at uda1: version 6 model 13
 80.05   0.06  [   1.0000000] mscpbus1: DMA burst size set to 4
 82.49   2.44  [   1.0000000] qe0 at uba0 csr 174440 vec 764 ipl 17: deqna, hardware address 08:00:2b:XX:XX:XX
 82.69   0.20  [   1.0300080] ra0 at mscpbus0 drive 0: RD53
 82.74   0.06  [   1.0600080] ra1 at mscpbus0 drive 1: RD32
 82.80   0.06  [   1.0900080] rx0 at mscpbus0 drive 2: RX50
 82.86   0.06  [   1.1200080] rx1 at mscpbus0 drive 3: RX50
 88.46   5.60  [   1.1900080] boot device: qe0
 88.50   0.04  [   1.1900080] root on qe0
 88.55   0.05  [   1.1900080] nfs_boot: trying DHCP/BOOTP
 91.68   3.13  [   4.2200080] nfs_boot: DHCP next-server: 192.168.1.42
 91.73   0.05  [   4.2200080] nfs_boot: my_addr=192.168.1.4
 91.79   0.06  [   4.2200080] nfs_boot: my_mask=255.255.255.0
 91.84   0.05  [   4.2200080] nfs_boot: gateway=0.0.0.0
 98.20   6.36  [  10.3300080] root on synthesis:/srv/nfs/vax/netbsd/anoat
 98.24   0.05  [  10.3300080] root file system type: nfs
 98.31   0.07  [  10.3300080] kern.module.path=/stand/vax/9.1/modules
 98.39   0.08  [  10.3400080] TODR too smallWARNING: preposterous TOD clock time
 98.45   0.05  [  10.3400080] WARNING: using filesystem time
 98.50   0.05  [  10.3400080] WARNING: CHECK AND RESET THE DATE!
122.88  24.38  Fri Nov 20 04:01:44 UTC 2020
155.75  32.87  Not checking /: not listed in /etc/fstab
162.67   6.92  mount: Unknown special file or file system `/'
177.78  15.11  Starting file system checks:
204.22  26.44  random_seed: /var/db/entropy-file: Bad file system type nfs
205.15   0.94  /etc/rc.d/random_seed exited with code 1
208.30   3.14  Setting tty flags.
218.78  10.49  Setting sysctl variables:
221.91   3.13  ddb.onpanic: 1 -> 0
226.99   5.08  Starting network.
227.28   0.29  Hostname: anoat.tff.ca
243.03  15.75  Configuring network interfaces:.
243.75   0.72  Adding interface aliases:.
245.54   1.79  Waiting for DAD to complete for statically configured addresses...
347.59 102.05  Building databases: dev, utmp, utmpx.
369.39  21.81  Starting syslogd.
428.49  59.10  Mounting all file systems...
444.08  15.59  Clearing temporary files.
460.34  16.26  Creating a.out runtime link editor directory cache.
546.65  86.31  Setting securelevel: kern.securelevel: 0 -> 1
558.94  12.29  /etc/rc: WARNING: No swap space configured!
559.65   0.71  /etc/rc.d/swap2 exited with code 1
562.11   2.46  Starting virecover.
581.65  19.54  Checking for core dump...
585.27   3.62  savecore: no core dump (no dumpdev)
607.05  21.78  Starting local daemons:.
616.16   9.11  Updating motd.
704.94  88.78  Starting inetd.
719.23  14.28  Starting cron.
735.03  15.80  The following components reported failures:
735.07   0.05      /etc/rc.d/random_seed /etc/rc.d/swap2
735.13   0.05  See /var/run/rc.log for more information.
735.26   0.14  Fri Nov 20 04:11:44 UTC 2020
741.85   6.59  
741.90   0.05  NetBSD/vax (anoat.tff.ca) (constty)