*BSD News Article 8008


Return to BSD News archive

Newsgroups: comp.unix.bsd
Path: sserve!manuel.anu.edu.au!munnari.oz.au!spool.mu.edu!agate!tfs.com!tfs.com!julian
From: julian@tfs.com (Julian Elischer)
Subject: Re: At boot: file too big to load
Message-ID: <1992Nov23.070212.9393@tfs.com>
Organization: TRW Financial Systems
References: <1992Nov22.225044.1344@ghost.dsi.unimi.it>
Date: Mon, 23 Nov 1992 07:02:12 GMT
Lines: 36

In article <1992Nov22.225044.1344@ghost.dsi.unimi.it> serini@ghost.dsi.unimi.it (Piero Serini) writes:
>Hi.
>At the end I succeeded recompiling that damn kernel.
>A little problem still keeps me unhappy: if I install the new
>kernel in /386bsd, at boot time bootas tells me: file too big to load.
>
>I gave a look into boot.c code, and found the following lines:
>
>if(roundup(x.a_text, 4096) + x.a_data + x.a_bss > (unsigned)&fil) {
>	printf("File too big to load");
>	return;
>}
>
>now, x is declared struct exec x   , and fil struct dinode fil;
>
>The meaning of the code is clear, but I can't figure out why
>a kernel which size is 466730 is too big to load.

I'll bet that if yu do a 'size' on the kernel,
it shows that the sum of the partitions in the file are bigger than that.
don't forget the zero filled section is not in the file, it just bzeros it.



>What do you (all) think about casting fil address a bit higher ?

no

>I'm waiting for your suggestions ...

The only answer is to have a kernel that can load above 1MB
otherwise it and the loader have to fit in the 640k window.
bill jolitz says 0.2 will be able to do this.
I frequently have to decide what to leave out of the kernel
to add some other feature.