NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

install/59852: base system is too darn big for ancient machines



>Number:         59852
>Category:       install
>Synopsis:       base system is too darn big for ancient machines
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    install-manager
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Sun Dec 21 16:35:00 +0000 2025
>Originator:     Jason Thorpe
>Release:        NetBSD 11
>Organization:
Retrogrouches'R'Us
>Environment:
NetBSD 11 on sun2
>Description:
The base system has grown too large for ancient systems with small storage devices.  There is zero chance a current minimum standard installation of NetBSD could fit on any disk that a Sun2 original shipped with.

Note that due to limitations imposed by the 68010 CPU, NetBSD/sun2 does not have shared libraries.

With disk emulators like ZuluSCSI or BlueSCSI (or system emulation, e.g. TME), the problem is slightly mitigated in terms of raw disk capacity.  But there is another consideration: the size of the file system partitions.  A typical Sun2 system has 4MB of RAM, and the virtual address space is limited to 16MB per process.  Large file systems require more memory to fsck, thus there is some incentive to keep the file system sizes smaller in the event an fsck is required.

Here are the sizes of the /bin and /sbin directories (sizes computed on the host that cross-built my sun2 release):

the-ripe-vessel:thorpej 19$ du -hs bin
26M	bin
the-ripe-vessel:thorpej 20$ du -hs sbin
56M	sbin
the-ripe-vessel:thorpej 21$ 

That's insane considering the typical SCSI-attached disk of the era was < 75MB in size.  (Also note that the Sun2 firmware has a limitation whereby any file system you want to boot from needs to fully reside < 1GB from the beginning of the disk).

A couple of stand-outs:

the-ripe-vessel:thorpej 21$ ls -l bin/cpio bin/tar
5920 -r-xr-xr-x  1 thorpej  wheel  6020580 Dec 20 10:22 bin/cpio*
5984 -r-xr-xr-x  1 thorpej  wheel  6092012 Dec 20 10:22 bin/tar*
the-ripe-vessel:thorpej 22$ 

"Holy bloated mess, Batman!"  Compare to /bin/pax:

the-ripe-vessel:thorpej 22$ ls -l bin/pax
928 -r-xr-xr-x  1 thorpej  wheel  885184 Dec 20 10:20 bin/pax*
the-ripe-vessel:thorpej 23$ 

Positively svelte by comparison.

There are also lots of mount commands that are extremely unlikely to be used on a sun2:

the-ripe-vessel:thorpej 23$ ls -l sbin/mount*
672 -r-xr-xr-x  1 thorpej  wheel  649328 Dec 20 10:19 sbin/mount*
672 -r-xr-xr-x  1 thorpej  wheel  646480 Dec 20 10:23 sbin/mount_ados*
180 -r-xr-xr-x  1 thorpej  wheel  181324 Dec 20 10:23 sbin/mount_autofs*
672 -r-xr-xr-x  1 thorpej  wheel  651692 Dec 20 10:23 sbin/mount_cd9660*
672 -r-xr-xr-x  1 thorpej  wheel  646316 Dec 20 10:24 sbin/mount_chfs*
180 -r-xr-xr-x  1 thorpej  wheel  181224 Dec 20 10:24 sbin/mount_efs*
180 -r-xr-xr-x  1 thorpej  wheel  181472 Dec 20 10:24 sbin/mount_ext2fs*
180 -r-xr-xr-x  1 thorpej  wheel  181376 Dec 20 10:24 sbin/mount_fdesc*
180 -r-xr-xr-x  2 thorpej  wheel  181448 Dec 20 10:24 sbin/mount_ffs*
672 -r-xr-xr-x  1 thorpej  wheel  651544 Dec 20 10:24 sbin/mount_filecore*
180 -r-xr-xr-x  1 thorpej  wheel  181408 Dec 20 10:24 sbin/mount_hfs*
180 -r-xr-xr-x  1 thorpej  wheel  181380 Dec 20 10:24 sbin/mount_kernfs*
188 -r-xr-xr-x  1 thorpej  wheel  191132 Dec 20 10:24 sbin/mount_lfs*
800 -r-xr-xr-x  2 thorpej  wheel  783880 Dec 20 10:20 sbin/mount_mfs*
672 -r-xr-xr-x  1 thorpej  wheel  651520 Dec 20 10:24 sbin/mount_msdos*
544 -r-xr-xr-x  1 thorpej  wheel  523748 Dec 20 10:24 sbin/mount_nfs*
672 -r-xr-xr-x  1 thorpej  wheel  651516 Dec 20 10:24 sbin/mount_nilfs*
672 -r-xr-xr-x  1 thorpej  wheel  651516 Dec 20 10:24 sbin/mount_ntfs*
180 -r-xr-xr-x  1 thorpej  wheel  181336 Dec 20 10:24 sbin/mount_null*
180 -r-xr-xr-x  1 thorpej  wheel  181340 Dec 20 10:24 sbin/mount_overlay*
864 -r-xr-xr-x  1 thorpej  wheel  819336 Dec 20 10:24 sbin/mount_portal*
180 -r-xr-xr-x  1 thorpej  wheel  181684 Dec 20 10:24 sbin/mount_procfs*
576 -r-xr-xr-x  1 thorpej  wheel  544116 Dec 20 10:24 sbin/mount_ptyfs*
180 -r-xr-xr-x  1 thorpej  wheel  182320 Dec 20 10:24 sbin/mount_puffs*
340 -r-xr-xr-x  1 thorpej  wheel  346888 Dec 20 10:24 sbin/mount_qemufwcfg*
672 -r-xr-xr-x  1 thorpej  wheel  646460 Dec 20 10:24 sbin/mount_sysvbfs*
704 -r-xr-xr-x  1 thorpej  wheel  667176 Dec 20 10:24 sbin/mount_tmpfs*
672 -r-xr-xr-x  1 thorpej  wheel  651524 Dec 20 10:24 sbin/mount_udf*
180 -r-xr-xr-x  2 thorpej  wheel  181448 Dec 20 10:24 sbin/mount_ufs*
216 -r-xr-xr-x  1 thorpej  wheel  218340 Dec 20 10:24 sbin/mount_umap*
180 -r-xr-xr-x  1 thorpej  wheel  181704 Dec 20 10:24 sbin/mount_union*
672 -r-xr-xr-x  1 thorpej  wheel  646416 Dec 20 10:24 sbin/mount_v7fs*
the-ripe-vessel:thorpej 24$ 

Furthermore, /libdata contains the "firmware" subdirectory:

the-ripe-vessel:thorpej 34$ ls libdata/firmware 
total 80
4 amdgpu/    4 if_iwi/    4 if_rtwn/   4 nvidia/    4 rum/
4 if_athn/   4 if_iwm/    4 if_urtwn/  4 qat/       4 run/
4 if_bwfm/   4 if_iwn/    4 if_wpi/    4 radeon/    4 upgt/
4 if_ipw/    4 if_otus/   4 nouveau/   4 ral/       4 zyd/
the-ripe-vessel:thorpej 35$             

Those devices will never be present on a sun2, and while there is no firmware files present in those directories, the directories themselves consume disk space.

There is certainly a lot more, these are just some easy to spot examples.
>How-To-Repeat:
Try installing on a Sun2 (real or emulated).
>Fix:
I would propose a separate set of install sets for small / limited / ancient systems that trims back quite a lot of the stuff that would go unused on those systems.

Yes, I realize that this is a serious first-world problem.  These old machines are really nothing more than curiosities these days, and no one can really do any "real work" with them anymore.

However, I do think there is value in preserving as much functionality on these old systems as possible.  The retro-computing hobby continues to grow, and I think there is more interest than ever in these old systems, especially among younger people who have never known anything other than supercomputer-in-your-pocket.  There are even new home-brew system designs being made with these ancient CPUs, and I think NetBSD should be able to run well on them.



Home | Main Index | Thread Index | Old Index