> I have a pc with 80486DX4/100, 16MB RAM and 1.6GB HD. Recently installed
> NetBSD 1.6.1 and downloaded pkgsrc. As I want to install samba for use
> with webmin, I went to the samba-directory in pkgsrc, and did 'make'.
> Now, after many hours of building and compiling it stops with this:
> Compiling msdfs/msfs,c
> uvm_fault(0xc0684820, 0x800000, 0, 1) -> e
> kernel: page fault trap, code=0
> Stopped in pid3 (pagedaemon) at pmap_change_attrs+0xb4: movl
> x4(%ebx), %edx
Either the computer overheated and crashed, or ran out of swap and
crashed, or had too many locked pages and crashed. In any case, in
order to effectively run NetBSD with only 16mb, you'll want to make
a kernel that's as small as possible --at least try GENERIC_TINY --
and make sure you have plenty of swap. I suggest at least ~200mb.
I believe it should be possible to run samba with 16mb, and (probably)
to build it, too. I ran a 486DX4 NFS server with only 16mb for a month
or so, and it was slow, but reliable. It's really important to keep
the kernel small, because the kernel can't be paged, and if half the
memory or more is locked down by the kernel, there's just nothing to
work with. Also use a lightweight shell, like the included "(pd)ksh".
"bash" or other shells from pkgsrc are too bulky. Another thing: don't
try to use an mfs "/tmp". With a single 1.6gb drive, I would just make
a single root & usr file system.
It might also help, when you're doing a big job (like compiling samba),
to shut down to single user mode so there's no other programs competing
UBC in current actually makes better use of small amounts of memory
(said NFS server was running 1.6P or something), but 16mb is outside
the limit where the defaults make sense. When or if you do upgrade
to current, it would be best to add
to "/etc/sysctl.conf" *before* you upgrade, otherwise you'll have a
really painful hour or two of watching your computer thrash itself
to pieces before you get your first single-user shell where you can
finally run "sysctl". (I speak from experience.)