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