* [pups] bsd2.11 kernel compile
@ 2002-06-18 3:11 Steven M. Schultz
0 siblings, 0 replies; 5+ messages in thread
From: Steven M. Schultz @ 2002-06-18 3:11 UTC (permalink / raw)
Hi!
> From: "Chuck Dickman" <chd_1 at nktelco.net>
I see you beat me to the answer ;)
> During the compile 'size' outputs a list of the sizes of the
> overlays. Look at the output. For mine....
>
> > How do I figure out which overlay (or base) is the problem?
>
> The base must be less than 7 8k pages or 57344(decimal) bytes.
> Each overlay must be less than 8k bytes or 8192(decimal).
> The network code is not overlayed, so you have 8 pages or the
> full 64k.
And you use "size" on the .o files to see how much each object file
contributes to an overlay.
With the exception of a few .o files which *must* be in the base
segment (and these are identified in the Makefile) anything can go
anywhere it will fit. The overlay switching is extremely efficient
so don't worry about the 'affinity' of modules too much.
Oh, it should be mentioned that it is not legal to have an empty
(0 length) overlay except at the end - i.e. you can't have overlay 3
be 0 bytes if overlay 4 or higher has nonzero size.
> To make it work, just get the sizes below the limits. The
> optimal arrangement would be placing the code in such that
> the overlay changes were minimized. So... move your system
> disk drivers into base and change the configuration to
> remove any hardware you don't actually have.
With the exception of perhaps the tty driver for the specific serial
devices present on the system it's not worth trying to pack things
"optimally". The overhead of overlays is inhererent in the function
prologue and epilogue - the only extra overhead of actually switching
overlays is stuffing ~two words or so into the MMU registers.
DO NOT remove anything from the actual OV lines in the makefile - just
make sure you define/configure devices as not being present in the
config file (by saying you have 0 of them). Then the .o files do
not take up any space and can be segregated into unused overlays
at the end (OV9 or 10 or so).
Good Luck!
Steven Schultz
sms at 2bsd.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* [pups] bsd2.11 kernel compile
2002-06-18 0:41 joseph lang
2002-06-18 2:40 ` Chuck Dickman
2002-06-18 7:55 ` Jochen Kunz
@ 2002-06-19 0:42 ` joseph lang
2 siblings, 0 replies; 5+ messages in thread
From: joseph lang @ 2002-06-19 0:42 UTC (permalink / raw)
Thank you for your quick and accurate answers.
My "junk-box" 11 (jb11.notms.net) is happy and
on my local network.
For those of you who may be interested the system is built
entirely from scrap..
The CPU is from a Decserver 550. It's a j11 (18mhz.) with
1.5 meg of ram. and pdp11/53 proms. I bought the RQDX3 on
E-bay. The disk drive was from My ever decreasing pile of
MFM drives (rd32)
The chassis is home built. (stop laughing it looks pretty
good ;-) The power supply is an open frame switcher from a
local electronics scrap dealer. I wire-wrapped the power-on
reset and line time clock generator circuits. The boards
are in a H-9270 (Q-18) backplane with additional lines
wrapped to make it Q-22.
It sounds like a real kludge! Anybody got a spare BA23? ;-)
I loaded the root filesystem with vtserver. Thanks Warren!
VTC and vtserver were used to load /usr. I had to strip
a lot of stuff from /usr to get it to fit on a single
drive. (games doc ingres and man pages)
# df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ra0a 9842 2952 6890 30% /
/dev/ra0c 26084 14966 11118 57% /usr
As soon as I build a copy of Chuck Dickman's ATA board
I'll load up everything.
joe lang
^ permalink raw reply [flat|nested] 5+ messages in thread
* [pups] bsd2.11 kernel compile
2002-06-18 0:41 joseph lang
2002-06-18 2:40 ` Chuck Dickman
@ 2002-06-18 7:55 ` Jochen Kunz
2002-06-19 0:42 ` joseph lang
2 siblings, 0 replies; 5+ messages in thread
From: Jochen Kunz @ 2002-06-18 7:55 UTC (permalink / raw)
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1347 bytes --]
On 2002.06.18 02:41 joseph lang wrote:
> How do I figure out which overlay (or base) is the problem?
Add this to your Makefile and you can "make" a list of the individual
overlay sizes:
sizes: sizes.awk
@echo -n "BASE " ; size ${BASE} | awk -f sizes.awk
@echo -n "OV1 " ; size ${OV1} | awk -f sizes.awk
@echo -n "OV2 " ; size ${OV2} | awk -f sizes.awk
@echo -n "OV3 " ; size ${OV3} | awk -f sizes.awk
@echo -n "OV4 " ; size ${OV4} | awk -f sizes.awk
@echo -n "OV5 " ; size ${OV5} | awk -f sizes.awk
@echo -n "OV6 " ; size ${OV6} | awk -f sizes.awk
@echo -n "OV7 " ; size ${OV7} | awk -f sizes.awk
@echo -n "OV8 " ; size ${OV8} | awk -f sizes.awk
@echo -n "OV9 " ; size ${OV9} | awk -f sizes.awk
sizeb: FRC
size ${BASE}
size1: FRC
size ${OV1}
size2: FRC
size ${OV2}
size3: FRC
size ${OV3}
size4: FRC
size ${OV4}
size5: FRC
size ${OV5}
size6: FRC
size ${OV6}
size7: FRC
size ${OV7}
size8: FRC
size ${OV8}
size9: FRC
size ${OV9}
sizes.awk: FRC
echo 'BEGIN {sum=0' > sizes.awk
echo 'sum2=0' >> sizes.awk
echo 'sum3=0}' >> sizes.awk
echo '/^[0-9]/ {sum=sum+$$1' >> sizes.awk
echo 'sum2=sum2+$$1+$$2' >> sizes.awk
echo 'sum3=sum3+$$4}' >> sizes.awk
echo 'END {print "text: "sum " text+data: " sum2
" dec: " sum3}' >> sizes.awk
--
tschüß,
Jochen
Homepage: http://www.unixag-kl.fh-kl.de/~jkunz/
^ permalink raw reply [flat|nested] 5+ messages in thread
* [pups] bsd2.11 kernel compile
2002-06-18 0:41 joseph lang
@ 2002-06-18 2:40 ` Chuck Dickman
2002-06-18 7:55 ` Jochen Kunz
2002-06-19 0:42 ` joseph lang
2 siblings, 0 replies; 5+ messages in thread
From: Chuck Dickman @ 2002-06-18 2:40 UTC (permalink / raw)
joseph lang wrote:
> When compiling a new kernel (to include network) I get an error
>
> ld: too big for type 431
> *** exit 2
>
> I assume this error is due to one of the overlays being too
> large. (this is pointed out in the install docs)
During the compile 'size' outputs a list of the sizes of the
overlays. Look at the output. For mine....
# size unix ! the OS kernel
text data bss dec hex
55296 6492 20738 82526 1425e total text: 106752
overlays: 7744,7360,7872,7296,3072,7680,4864,5568
# size netnix ! the network code
text data bss dec hex
60864 2362 38448 101674 18d2a
> How do I figure out which overlay (or base) is the problem?
The base must be less than 7 8k pages or 57344(decimal) bytes.
Each overlay must be less than 8k bytes or 8192(decimal).
The network code is not overlayed, so you have 8 pages or the
full 64k.
> Is there a more scientific way to arrange the overlays?
To make it work, just get the sizes below the limits. The
optimal arrangement would be placing the code in such that
the overlay changes were minimized. So... move your system
disk drivers into base and change the configuration to
remove any hardware you don't actually have.
> Am I missing something obvious?
No, it just requires some tweeking.....
> joe lang
Good luck,
-chuck
^ permalink raw reply [flat|nested] 5+ messages in thread
* [pups] bsd2.11 kernel compile
@ 2002-06-18 0:41 joseph lang
2002-06-18 2:40 ` Chuck Dickman
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: joseph lang @ 2002-06-18 0:41 UTC (permalink / raw)
I am building a PDP 11 from junked parts and have it
mostly working. I'm now installing BSD 2.11 and have run into
a problem i could use some help with.
When compiling a new kernel (to include network) I get an error
ld: too big for type 431
*** exit 2
I assume this error is due to one of the overlays being too
large. (this is pointed out in the install docs)
How do I figure out which overlay (or base) is the problem?
The random module shuffle in the documents only has 10 million
combinations and at 30 minutes to compile, well I'm not going
to live that long.
Is there a more scientific way to arrange the overlays?
Am I missing something obvious?
joe lang
langj at bellsouth.net
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2002-06-19 0:42 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-06-18 3:11 [pups] bsd2.11 kernel compile Steven M. Schultz
-- strict thread matches above, loose matches on Subject: below --
2002-06-18 0:41 joseph lang
2002-06-18 2:40 ` Chuck Dickman
2002-06-18 7:55 ` Jochen Kunz
2002-06-19 0:42 ` joseph lang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).