makela@tukki.jyu.fi (Otto J. Makela) (04/27/89)
I use a Unisys 800 (same as the Acer 1100) 20MHz 386 PC/AT clone under MicroPort UNIX/386 3.0U3.0e; the system has 4992k of 80ns memory (640k+ 256k on motherboard + 4096k on a 32-bit expansion board). I installed an extra 4096k piggyback card onto the expansion board to get to a total of 9088k memory. I set the DIP switches, plugged the card in, powered up the machine and used the BIOS ROM setup to change the CMOS count of memory above 1M. I booted DOS and ran the machine's diagnostics on the memory board, and it checked out as OK (the test did only take about an hour, though...) Then I tried booting the Unix from the ESDI hard disk. Right after it had said "Ram disk 0 found. size=32Kb" (what the s**t is this, by the way? I've seen it being used at system build time, but for nothing else...) it went into an endless loop of: "Could not allocate memory for default 0 buffers"... (the next thing I normally see is "buffers=1400k" or something like that). Does anyone know what's happening here? Is the weirding module incorrectly tuned or what? Otto J. Makela (with poetic license to kill), University of Jyvaskyla InterNet: makela@tukki.jyu.fi, BitNet: MAKELA_OTTO_@FINJYU.BITNET BBS: +358 41 211 562 (V.22bis/V.22/V.21, 24h/d), Phone: +358 41 613 847 Mail: Kauppakatu 1 B 18, SF-40100 Jyvaskyla, Finland, EUROPE
plocher%sally@Sun.COM (John Plocher) (04/28/89)
In article <589@tukki.jyu.fi> makela@tukki.jyu.fi (Otto J. Makela) writes: | <had uport 3.0e w/4Mb, ran OK. Added another 4Mb, now won't boot> Easy fix (It is a known - and fixed in 3.0e.1 - bug for 386 systems only): 1) Remove (either physically or cmos setup) the new 4Mb of memory. 2) Boot Unix - it will work correctly again. 3) type this command (as root): /etc/patch /unix Nbuf It should print 0 (that's zero) This means that the system dynamically figures out how much memory to allocate for disk buffers depending on how much real memory there is. When you have more than 8Mb this table allocates too much memory for buffers and the kernel runs out of alloc()able memory. This table can be found in /etc/atconf/modules/kernel/space.c for those brave enuf to fix it [just make the numbers smaller] :-) 4) Modify this to some non zero value (i.e., lets use 100Kb of buffers): /etc/patch /unix Nbuf 100 5) Modify the #define NBUF 0 line in the kernel configuration file /usr/include/sys/kdef.h to use this value too. This keeps this problem from biting you next time you reconfigure the system. 6) shut the system down /etc/shutdown -g0 -y 7) Add the extra 4Mb again 8) Reboot Unix and all should be well. 9) If desired, copy your boot diskette and patch that kernel too: diskcopy # put the new - unwriteprotected disk in the drive mount /dev/dsk/fd /mnt /etc/patch /mnt/unix Nbuf 100 umount /mnt # take the disk out and put in a safe place -John Plocher